X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Fuserguide%2Fapi-documentation.rst;h=166da6a0103b64c14f7c9135b6f12ae811f94724;hb=825ff565d9ebebe06f915c977bf8782fcc9de8fa;hp=df922da90f957117b147a8dcea856e80d1fe8d11;hpb=1dc82a4c890514d2937957f62de884b4e17c5abd;p=domino.git diff --git a/docs/userguide/api-documentation.rst b/docs/userguide/api-documentation.rst old mode 100644 new mode 100755 index df922da..166da6a --- a/docs/userguide/api-documentation.rst +++ b/docs/userguide/api-documentation.rst @@ -1,6 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. image:: ../etc/opnfv-logo.png + +.. image:: ../etc/opnfv-logo.png :height: 40 :width: 200 :alt: OPNFV @@ -8,14 +9,160 @@ .. these two pipes are to seperate the logo from the first title | | +Domino API and Usage +==================== + Using domino-cli Client -========================== +----------------------- + +Prerequisites: + +1. Make sure that domino-cli.py is in +x mode. + +2. Change directory to where domino-cli.py, DominoClient.py and DominoServer.py are located or include file path in the PATH environment variable. + +3. Start the Domino Server: + +.. code-block:: bash + + ./DominoServer.py --log=debug + +4. Start the Domino Client: + +.. code-block:: bash + + ./DominoClient.py -p --cliport --log=debug + +Note1: The default log level is WARNING and omitting --log option will lead to minimal/no logging on the console + +Note2: domino_conf.py file includes most of the default values + +* Registration Command + +Command line input: + +.. code-block:: bash + + ./domino-cli.py register + +This message has the following fields that are automatically filled in. + +.. code-block:: bash + + Message Type (= REGISTER) + DESIRED UDID (= if not allocated, this will be assigned as Unique Domino ID) + Sequence Number (=incremented after each RPC call) + IP ADDR (= IP address of DOMINO Client to be used by DOMINO Server for future RPC Calls to this client) + TCP PORT (= TCP port of DOMINO Client to be used by DOMINO Server for future RPC Calls to this client) + Supported Templates (= Null, this field not used currently) + +* Heart Beat Command + +Command line input: + +.. code-block:: bash + + ./domino-cli.py heartbeat + +This message has the following fields that are automatically filled in. + +.. code-block:: bash + + Message Type (= HEART_BEAT) + UDID (= Unique Domino ID assigned during registration) + Sequence Number (=incremented after each RPC call) + +* Label and Template Type Subscription Command + +.. code-block:: bash + + ./domino-cli.py subscribe -l -t + +Note that -l can be substituted by --label and -t can be substituted by --ttype. + +More than one label or template type can be subscribed within the same command line as comma separated labels or template types + +.. code-block:: bash + + ./domino-cli.py subscribe -l ,, -t ,, + +To subscribe more than one label or template type, one can also repeat the options -l and -t, e.g.: + +.. code-block:: bash + + ./domino-cli.py subscribe -l -l -l -t -t -t + +It is safe to call subscribe command multiple times with duplicate labels. + +This message has the following fields that are automatically filled in. + +.. code-block:: bash + + Message Type (= SUBSCRIBE) + UDID (= Unique Domino ID assigned during registration) + Sequence Number (=incremented after each RPC call) + Template Operation (= APPEND) + Label Operation (= APPEND) + +The following fields are filled in based on arguments passed on via -l/--label and -t/--ttype flags + +Subscribe RPC also supports options for label using + --lop=APPEND/DELETE/OVERWRITE +and for supported template types using + --top=APPEND/DELETE/OVERWRITE. +When unspecified, the default is APPEND. +DELETE deletes existing labels (template types) specified in the current call via key -l/--label (-t/--ttype). +OVERWRITE removes the current set of labels (template types) and sets it to the new set of values passed in the same RPC call. + +By default, no translation service is provided. Currently, only TOSCA to Heat +Orchestration Template (HOT) translation is supported using OpenStack +heat-translator library. A domain that requires HOT files must subscribe HOT +template type using + +.. code-block:: bash + + ./domino-cli.py subscribe -t hot + +* Template Publishing Command + +.. code-block:: bash + + ./domino-cli.py publish -t + +Note that -t can be substituted by --tosca-file. + +If -t or --tosca-file flag is used multiple times, the last tosca file passed as input will be used. This usage is not recommended as undefined/unintended results may emerge as the Domino client will continue to publish. + +This message has the following fields that are automatically filled in. + +.. code-block:: bash + + Message Type (= SUBSCRIBE) + UDID (= Unique Domino ID assigned during registration) + Sequence Number (=incremented after each RPC call) + Template Type (= TOSCA) + Template File + + +Interactive CLI mode +-------------------- + +To enter this mode, start Domino Client with interactive console option set as true, i.e., --iac=true: + +.. code-block:: bash + + ./DominoClient -p --iax=true --log=DEBUG +The rest of the API calls are the same as in the case of using domino-cli.py except that at the prompt there is no need to write "domino-cli.py , e.g.,: -Using interactive CLI mode -========================== +.. code-block:: bash + >>register + >>heartbeat + >>subscribe -l -t + >>publish -t +The interactive CLI mode is mainly supported for manual testing. Revision: _sha1_