summaryrefslogtreecommitdiffstats
path: root/docs/release/userguide/feature.userguide.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/userguide/feature.userguide.rst')
-rw-r--r--docs/release/userguide/feature.userguide.rst61
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