.. 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 :height: 40 :width: 200 :alt: OPNFV :align: left .. these two pipes are to seperate the logo from the first title | | 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 --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 IDassigned 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. .. code-block:: bash Supported Template Types Supported Labels * 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 IDassigned during registration) Sequence Number (=incremented after each RPC call) Template Type (= TOSCA) Template File Note: Current version of the code has a hardcoded CLI port number, so no two Domino Clients can be run in the same port name space. 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.,: .. code-block:: bash >>register >>heartbeat >>subscribe -l -t >>publish -t The interactive CLI mode is preferred for manual, single host testing (i.e., all domino clients and servers run in the same machine). Revision: Build date: |today| .. Revision: 91d22046f9f154d306315738993a4d79cdd291ef Build date: 2016-06-06