Instructions

Tool developers should follow four basic steps that provides openVRE 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, openVRE 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.
  • 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 openVRE configuration files.

    Reproduce the openVRE 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 openVRE 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 openVRE


    In order to register your tool at the openVRE, you need to have your application wrapped and its code accessible on any repository. With that, next step is make the central openVRE 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).

     

    Step 3: Test the tool virtual machine


    Contact us and we’ll prepare and deploy a virtual machine for you in our testing cloud. As explained in detail at Integration of tools → Tool Virtual Machine , it has all the openVRE 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 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 openVRE is going to deploy it. So reached this point, you'll be able to test the tool from the openVRE 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.