Split Test Guide from Deployment Guide
[multicloud/framework.git] / docs / MultiCloud-Test-Guide.rst
diff --git a/docs/MultiCloud-Test-Guide.rst b/docs/MultiCloud-Test-Guide.rst
new file mode 100644 (file)
index 0000000..2be65c0
--- /dev/null
@@ -0,0 +1,227 @@
+==========================
+ONAP MultiCloud Test Guide
+==========================
+
+Test Examples
+~~~~~~~~~~~~~
+
+The env HOST_IP is msb-iag service cluster-ip value is "10.43.188.78"(see it above).
+The vimid is "vmware_vio"  the registered name in aai.
+
+
+Get V2 auth token
+-----------------
+
+# VIO openstack  support keystone V2 version, vio proxy-plugin will check the request body format, if request body format
+# is keystone V2 format will access keystone V2  service, if not it will access keystone V3 service.
+# this example show how to access keystone V2 service.
+.. code-block:: console
+
+  $ curl -X POST -d @testV2.json  -H 'Content-Type:application/json'  http://$msb_address/api/multicloud/v0/<vimid>/identity/v2.0/tokens
+
+testV2.json content:
+
+::
+
+  {
+        "auth": {
+            "tenantName": "admin",
+            "passwordCredentials": {
+                "username": "admin",
+                "password": "vmware"
+            }
+        }
+  }
+
+
+Response:
+There are a large amounts of data including service endpoint, user information, etc.
+For our testing  We  take nova and identity service endpoint address and auth token which is in response header named “X-Subject-Token”.
+
+# you can find the endpoint url namespace is "api/multicloiud-vio/v0", it represent the multicloud-vio service, So
+requests sending to mulitcloud-vio will be forwarded to backend  VIO openstack.
+
+
+Identity endpoint:
+       http://$msb_address/api/multicloud-vio/v0/<vimid>/identity
+
+Nova endpoint:
+       http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<user-tenantid>
+
+
+Get V3 auth token
+-----------------
+
+# send request to multicloud-framework(broker) service to get token
+
+.. code-block:: console
+
+  $ curl -X  POST   -d @test.json  -H 'Content-Type:application/json'   http://$msb_address/api/multicloud/v0/<vimid>/identity/v3/auth/tokens
+
+test.json content example:
+
+::
+
+  {
+    "auth": sudo pip install virtualenv{
+      "scope": {"project": {"id": “<project-id>”}},
+      "identity":
+         {
+               "password": {"user": {"domain": {"name": “<doman-name>”}, "password": “<user-password>”, "name": “<user-name>”}}, "methods": ["password"]
+         }
+    }
+  }
+
+
+Response:
+There are a large amounts of data including service endpoint, user information, etc.
+For our testing  We  take nova and identity service endpoint address and auth token which is in response header named “X-Subject-Token”.
+
+# you can find the endpoint url namespace is "api/multicloiud-vio/v0", it represent the multicloud-vio service, So
+requests sending to mulitcloud-vio will be forwarded to backend  VIO openstack.
+
+
+Identity endpoint:
+       http://$msb_address/api/multicloud-vio/v0/<vimid>/identity
+
+Nova endpoint:
+       http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<user-tenantid>
+
+
+List projects
+-------------
+
+Use identity’s endpoint:  http://$msb_address/api/multicloud-vio/v0/<vimid>/identity/
+
+.. code-block:: console
+
+  $ curl -X GET   -H 'X-Auth-Token:<token>'  http://$msb_address/api/multicloud-vio/v0/<vimid>/identity/projects
+
+
+Get os Hypervisor
+-----------------
+
+Use nova’s endpoint:  http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<user-tenantid>
+
+
+.. code-block:: console
+
+  $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/os-hypervisors/detail
+
+
+List instance of  user’s project
+--------------------------------
+
+.. code-block:: console
+
+  $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers
+
+
+Show instance detail
+--------------------
+
+you need to input <server-id> in url path.
+
+.. code-block:: console
+
+  $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vimid/nova/tenantid/servers/<server-id>
+
+
+Shutdown instance
+-----------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Start instance
+--------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Suspend instance
+----------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+   $ curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Resume  instance
+----------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"resume":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Pause instance
+--------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Unpasue instance
+----------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"unpause":null}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json'  http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Reboot instance
+---------------
+
+you need to input <server-id> in url path
+
+.. code-block:: console
+
+  $ curl -X POST -d '{"reboot":{"type":"HARD"}}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json'  http://$msb_address/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+Upload Image Task
+-----------------
+
+create uploading image task by image url:
+
+.. code-block:: console
+
+   $ curl -X POST -d '{"input": {"image_properties":
+     {"container_format": "bare", "name": "<image_name>"},
+     "import_from_format": "<disk_format>",
+     "import_from": "<image_url>"},
+     "type": "import"}'
+     -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$msb_address/api/multicloud-vio/v0/<vimid>/glance/v2/tasks
+
+get the taskid from response body,then query the task status by taskid.
+
+.. code-block:: console
+
+   $ curl -X GET -H 'X-Auth-Token:<token>'  http://$msb_address/api/multicloud-vio/v0/<vimid>/glance/v2/tasks/<taskid>
+
+You can see the description and properties of task in response body,if 'status' is  success, it will show image_id in
+result block.
+
+query the image status by image_id
+
+.. code-block:: console
+
+  $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/<vimid>/glance/v2/images/<image_id>