diff options
Diffstat (limited to 'docs/release/userguide/feature.userguide.rst')
-rw-r--r-- | docs/release/userguide/feature.userguide.rst | 61 |
1 files changed, 58 insertions, 3 deletions
diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index f1e1362..1113118 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -44,7 +44,7 @@ Example: tosca-parser --template-file=vRNC.yaml Parser tosca2heat References -=========================== +============================ Refer two upstream components: https://github.com/openstack/tosca-parser/blob/master/doc/source/usage.rst https://github.com/openstack/heat-translator/blob/master/doc/source/usage.rst @@ -53,7 +53,7 @@ Refer two upstream components: Parser yang2tosca Execution -============================ +=========================== Step 1: Change directory to where the scripts are present. @@ -94,7 +94,7 @@ Example: Parser policy2tosca Execution -============================ +============================= Step 1: To see a list of commands available. @@ -141,3 +141,58 @@ Example: cat example_tosca.yaml + +Parser verigraph Execution +========================== + +VeriGraph is accessible via both a RESTful API and a gRPC interface. + +**REST API** + +Step 1. Change directory to where the service graph examples are present + +.. code-block:: bash + + cd parser/verigraph/examples + +Step 2. Use a REST client (e.g., cURL) to send a POST request (whose body is one of the JSON +file in the directory) + +.. code-block:: bash + + curl -X POST -d @<file_name>.json http://<server_address>:<server_port>/verify/api/graphs + --header "Content-Type:application/json" + +Step 3. Use a REST client to send a GET request to check a reachability-based property between +two nodes of the service graph created in the previous step. + +.. code-block:: bash + + curl -X GET http://<server_addr>:<server_port>/verify/api/graphs/<graphID>/ + policy?source=<srcNodeID>&destination=<dstNodeID>&type=<propertyType> + +where: + +- <graphID> is the identifier of the service graph created at Step 2 +- <srcNodeID> is the name of the source node +- <dstNodeID> is the name of the destination node +- <propertyType> can be ``reachability``, ``isolation`` or ``traversal`` + +Step 4. the output is a JSON with the overall result of the verification process and the partial +result for each path that connects the source and destination nodes in the service graph. + +**gRPC API** + +VeriGraph exposes a gRPC interface that is self-descriptive by its Protobuf file +(``parser/verigraph/src/main/proto/verigraph.proto``). In the current release, Verigraph +misses a module that receives service graphs in format of JSON and sends the proper +requests to the gRPC server. A testing client has been provided to have an example of how +to create a service graph using the gRPC interface and to trigger the verification step. + +1. Run the testing client + +.. code-block:: bash + + cd parser/verigraph + #Client souce code in ``parser/verigraph/src/main/it/polito/grpc/Client.java`` + ant -f buildVeriGraph_gRPC.xml run-client |