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
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:
- Tool descriptions: titles, keywords, etc.
- Input files and their requirements: accepted data types and formats, etc.
- Tool arguments
- 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 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.