Add fake_cloud user guide docs 93/18493/1
authorliangke <lokyse@163.com>
Thu, 12 Oct 2017 10:09:15 +0000 (18:09 +0800)
committerliangke <lokyse@163.com>
Thu, 12 Oct 2017 10:11:01 +0000 (18:11 +0800)
Change-Id: Ie31e358a3d4bca647cc28ec894f7400b4bebe79e
issue-Id: MULTICLOUD-4
Signed-off-by: liangke <lokyse@163.com>
docs/Multicloud-Fake_Cloud-Guide.rst [new file with mode: 0644]
docs/index.rst

diff --git a/docs/Multicloud-Fake_Cloud-Guide.rst b/docs/Multicloud-Fake_Cloud-Guide.rst
new file mode 100644 (file)
index 0000000..58d7a5a
--- /dev/null
@@ -0,0 +1,212 @@
+================================
+MultiCloud Fake_Cloud User Case
+================================
+
+
+
+multilcoud-vmware server not only provide vio plugin to access real openstack platform,but
+also provide fake_cloud plugin which simulate thereal VIO function.The fake
+cloud is suitable for testing openstack function if there is not real VIO platform.
+
+
+Make sure you environment have msb,aai service and multicloud-vmware config file has the right msb_ip and
+msb_port value,The config file path is vio/vio/pub/config/congfig.py
+
+
+
+Register Fake Cloud to AAI
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Register vio information into AAI service with region name "vmware" and region id "fake"
+
+.. code-block:: console
+
+$ curl -X PUT  -H "X-TransactionId":"get_aai_subr" -H "X-FromAppId":"AAI" -H "Accept":"application/json" \
+  -H "Content-Type:"application/json" \
+  https://aai_ip:aai_port/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/vmware/fake \
+
+    -d "{
+          "cloud-owner": "vmware",
+          "cloud-region-id": "vio",
+          "cloud-type": "vmware",
+          "cloud-region-version": "4.0",
+          "identity-url": "http://MSB_IP:MSB_PORT/api/multicloud-vio/v0/vmware_fake/identity/v3",
+          "sriov-automation": false,
+          "resource-version": "1505892661724",
+          "esr-system-info-list": {
+              "esr-system-info": [
+                  {
+                      "esr-system-info-id": "62e17285-c207-42b0-9d55-b472b274c254",
+                      "system-name": "vim-fake-cloud",
+                      "type": "vim",
+                      "service-url": "http://127.0.0.1:5000/v3",
+                      "user-name": "admin",
+                      "password": "vmware",
+                      "system-type": "vim",
+                      "ssl-insecure": false,
+                      "cloud-domain": "default",
+                      "default-tenant": "admin",
+                      "resource-version": "1505892661819"
+                  }
+              ]
+          }
+    }"
+
+
+the identity url reprent the fake cloud identity url.
+
+
+
+Test Examples
+~~~~~~~~~~~~
+
+the ${fake_identiy_url}= "http://MSB_IP:MSB_PORT/api/multicloud-vio/v0/vmware_fake/identity/v3"
+the ${msb_address} =  "MSB_IP:MSB_PORT"
+
+Get 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'   ${fake_identiy_url}
+
+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/vmware_fake", it represent the multicloud-vio service, So
+requests sending to mulitcloud-vio will be forwarded to fake cloud.the ip and port reprenst ${msb_address}
+
+
+Identity endpoint:
+       http://$msb_address/api/multicloud-vio/v0/vmware_fake/identity
+
+Nova endpoint:
+       http://$msb_address/api/multicloud-vio/v0/vmware_fake/compute/<user-tenantid>
+
+
+List projects
+-------------
+
+Use identity’s endpoint:  http://$msb_address/api/multicloud-vio/v0/vmware_fake/identity/
+
+.. code-block:: console
+
+  $ curl -X GET   -H 'X-Auth-Token:<token>'  http://$msb_address/api/multicloud-vio/v0/vmware_fake/identity/projects
+
+
+Get os Hypervisor
+-----------------
+
+Use nova’s endpoint:  http://$msb_address/api/multicloud-vio/v0/vmware_fake/nova/<user-tenantid>
+
+
+.. code-block:: console
+
+  $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/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/vmware_fake/nova/<tenantid>/servers/<server-id>/action
+
index 5de5f3e..7d3fc7e 100644 (file)
@@ -7,3 +7,4 @@ MultiCloud Documentation Repository
    
    MultiCloud-Deployment-Guide
    MultiCloud-API-Specification-V1
+   Multicloud-Fake_Cloud-Guide