MiCADO Submitter Tutorial

This Tutorial will explain how to use the MiCADO Submitter to launch an application described by a TOSCA templates on the MiCADO infrastructure.

REST API

You can launch the REST API by calling the following command:

1
python api.py

The url path to deploy the application is this one: .. code-block:: bash

To launch an application from an url you can use one of the following curl command line:

1
2
3
4
5
6
7
curl -d input="[url to TOSCA Template]" -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -d input="[url to TOSCA Template]" -d id=[ID] -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -d input="[url to TOSCA Template]" -d params='{"Input1": "value a", "Input2": "value b"}' -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -d input="[url to TOSCA Template]" -d id=[SOMEID] -d params='{"Input1": "value a", "Input2": "value b"}' -X POST http://[IP]:[Port]/v1.0/app/launch/

To launch an application from a file that you pass to the api you can use one of the following curl command line:

1
2
3
4
5
6
7
curl -F file=@[Path to the File] -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -F file=@[Path to the File] -F params='{"Input1": "value a", "Input2": "value b"}' -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -F file=@[Path to the File] -F id=[SOMEID] -F params='{"Input1": "value a", "Input2": "value b"}' -X POST http://[IP]:[Port]/v1.0/app/launch/

curl -F file=@[Path to the File] -F id=[SOMEID]  -X POST http://[IP]:[Port]/v1.0/app/launch/

The url path to update the application is this one: .. code-block:: bash

To update from an url a wanted application you can use one of this following curl command:

1
2
3
curl -d input="[url to TOSCA template]" -d params='{"Input1": "value a", "Input2": "value b"}' -X PUT http://[IP]:[Port]/v1.0/app/udpate/[ID_APP]

curl -d input="[url to TOSCA template]" -X PUT http://[IP]:[Port]/v1.0/app/udpate/[ID_APP]

To update from a file a wanted application you can use one of this following curl command:

1
2
3
curl -F file=@"[Path to the file]" -d params='{"Input1": "value a", "Input2": "value b"}' -X PUT http://[IP]:[Port]/v1.0/app/udpate/[ID_APP]

curl -F file=@"[Path to the file]" -X PUT http://[IP]:[Port]/v1.0/app/udpate/[ID_APP]

To undeploy a wanted application you need to feed it the id:

1
curl -X DELETE http://[IP]:[Port]/v1.0/app/undeploy/[ID_APP]

To query on application’s adaptors:

1
curl -d query="query" -X GET http://[IP]:[PORT]/v1.0/app/query/[ID_APP]

To get information on the thread currently running and the one in the queue:

1
curl -X GET http://[IP]:[PORT]/v1.0/info_threads

To get the ids of the application deployed and its information related:

1
curl -X GET http://[IP]:[Port]/v1.0/list_app/

To get informations for only one app:

this will give information on which adaptor are used, their status and the outputs provided. .. code-block:: bash

linenos:

curl -X GET http://[IP]:[Port]/v1.0/app/[ID_APP]

Python Interpreter

To use the Python Interpreter, you will want to first import the submitter_engine p package:

1
from submitter_engine import SubmitterEngine

Once you imported this you can create a submitter engine object like so:

1
s = SubmitterEngine()

This will initialize all the component needed.

To launch your application on the MiCADO infrastructure you will need to execute this command:

1
s.launch(path_to_file=[path to TOSCA Template])

If you don’t want to use the default value of the inputs section you can pass parsed_params which will be a dictionary containing as key the input you want to modify and as value for the key the actual value you want to use as input.

1
s.launch(path_to_file=[path to TOSCA Template], parsed_params={Input1: value a, Input2: value b})

If you wish to undeploy a certain application, you will need to execute this command.

1
s.undeploy([ID of application stack to bring down])