Instructions


Tool developers should follow four basic steps that provides MuGVRE with the sufficient information to accomplish the whole tool execution cycle, explained in detail at Bring your tool → Integration of tools . Once these steps are completed, MuGVRE will be able to:

  • Prepare your tool web interface
  • Check your tool input and arguments requirements
  • Stage in input files
  • Stage out output files
  • Prepare command line execution
  • Execute your tool to MuG clouds
  • Monitor your tool executions
  • Register back your tool results
  • Step 1    Wrap you application using mg-tool API

    0 – Clone skeleton tool

    Use the test tool from the mg-process-test from Github repository as template for creating your new tool. See the HOWTO – Github for details.

    1 – Create a Tool

    See the HOWTO – Tools for details about writing a tool and HOWTO – Test Your Code about how to write relevant tests.

    2 – Create a Pipeline

    See the HOWTO – Pipelines for details about writing a pipeline and HOWTO – Test Your Code about how to write relevant tests.

    3 – Test the Pipeline using MuGVRE configuration files

    Reproduce the MuGVRE call to test your code Github two JSON files need to be prepared: the ‘job configuration file’ and the ‘input metadata file’. See the section above and HOWTO – Configuration Files for details about writing a MuGVRE JSON configuration files.

    4 – Installation Documentation 

    See the HOWTO – Documentation for an extended explanation on how to document your code.

    5 – COMPSs testing

    Now that you have a functional pipeline, it’s time to test it within a COMPSs environment. Download the latest version of the COMPSs virtual machine from the BSC website.

     

    Step 2    Register the tool into MuGVRE

    In order to register your tool at the MuGVRE, you need to have your application wrapped and its code accessible on any repository. With that, next step is make the central MuGVRE aware that a new tool exists. To do so, the only requirement is to submit a JSON file, the specification file. in which all tools details are specified:

    1. Tool descriptions: titles, keywords, etc.
    2. Input files and their requirements: accepted data types and formats, etc.
    3. Tool arguments
    4. Expected output files

    In the following button, a detailed explanation will guide you on how to create this file. Validate it using the given schema with any JSON validator (i.e, jsonschemavalidator.net).

    FORMAT SPECIFICATIONS »

     

    Step 3    Test the tool virtual machine at the MuG cloud

    Contact us and we’ll prepare a MuG virtual machine for you in our testing cloud. As explained in detail at Integration of tools → Tool Virtual Machine , it has all the MuG software installed, like pyCOMPSs and mg-tool API libraries, and it is ready for you to install your tool.

    Another option is to deploy on your own virtualization system the KVM disk image were are distributing. Once your code is running there, you can contact us, so that we’ll deploy it at the MuG testing cloud. Here, are the details of the image.

    Neat base image for VM tools
    Location VMGeneric.qcow2 (5.4G)
    Description The image is ready to be deployed via PMES 2.3 (specific configurations described here).
    Relevant software includes: OCCI client 4.3.10, COMPSs 2.2, Python 2.7.6 and OpenJDK 1.8
    Authentication: Username is ‘pmes’ and password ‘pmes2017’
    Virtual Disk 18GB
    Operating system Ubuntu 14.04

    Both options end up having your tool VM at the cloud where MuGVRE is going to deploy it. So reached this point, you’ll be able to test the tool from the MuGVRE portal, accessing also the “Tool developer panel” that offers some debugging utilities.

     

    Step 4    Supply web data

    Last but not least, the portal requires some information about the new tool to display it at the web interface. The complete list of items required is defined at the Integration of tools → Web site section. Send them to us, except for the ‘tool documentation’, which can be directly edited online once you are granted ‘tool developer’ permissions.