+..
+ This work is licensed under a Creative Commons Attribution 4.0
+ International License.
+
================================
MultiCloud Fake_Cloud User Case
================================
.. 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"
- }
- ]
- }
- }"
-
+ $ curl -X PUT -H "X-TransactionId":"get_aai_subr" -H "X-FromAppId":"AAI" -H "Accept":"application/json" \
+ -H "Content-Type:"application/json" -H "Authorization:Basic QUFJOkFBSQ==" \
+ https://aai_ip:aai_port/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/vmware/fake \
+ -d "{
+ "cloud-owner": "vmware",
+ "cloud-region-id": "fake",
+ "cloud-type": "vmware",
+ "cloud-region-version": "4.0",
+ "identity-url": "http://MSB_IP:MSB_PORT/api/multicloud/v0/vmware_fake/identity/v3",
+ "cloud-zone": "cloud zone",
+ "complex-name": "complex name",
+ "esr-system-info-list": {
+ "esr-system-info": [
+ {
+ "system-name": "vmware-fake-cloud",
+ "type": "vim",
+ "service-url": "http://127.0.0.1:5000/v3",
+ "user-name": "admin",
+ "password": "vmware",
+ "system-type": "VIM",
+ "ssl-insecure": true,
+ "cloud-domain": "default",
+ "default-tenant": "admin",
+ }
+ ]
+ }
+ }"
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 ${fake_identiy_url}= "http://MSB_IP:MSB_PORT/api/multicloud/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
+# send request to multicloud-framework(broker) service to get token of keystone V3
.. code-block:: console
- $ curl -X POST -d @test.json -H 'Content-Type:application/json' ${fake_identiy_url}
+ $ curl -X POST -d @test.json -H 'Content-Type:application/json' http://MSB_IP:MSB_PORT/api/multicloud/v0/vmware_fake/identity/v3/auth/tokens
test.json content example:
::
{
- "auth": sudo pip install virtualenv{
+ "auth": {
"scope": {"project": {"id": “<project-id>”}},
"identity":
{
$ 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
+
+list heat stacks
+----------------
+
+.. code-block:: console
+
+ $ curl -X GET -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vmware_fake/heat/<tenantid>/stacks
+
+
+create preview stack
+--------------------
+
+.. code-block:: console
+
+ $ curl -X POST -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vmware_fake/heat/<tenantid>/stacks/preview \
+ -d "{
+ "files": {},
+ "disable_rollback": true,
+ "parameters": {
+ "flavor": "m1.heat"
+ },
+ "stack_name": "teststack",
+ "template": {
+ "heat_template_version": "2013-05-23",
+ "description": "Simple template to test heat commands",
+ "parameters": {
+ "flavor": {
+ "default": "m1.tiny",
+ "type": "string"
+ }
+ },
+ "resources": {
+ "hello_world": {
+ "type": "OS::Nova::Server",
+ "properties": {
+ "key_name": "heat_key",
+ "flavor": {
+ "get_param": "flavor"
+ },
+ "image": "40be8d1a-3eb9-40de-8abd-43237517384f",
+ "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n"
+ }
+ }
+ }
+ },
+ "timeout_mins": 60
+ }"
+
+
+create stack
+-------------
+
+.. code-block:: console
+
+ $ curl -X POST -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vmware_fake/heat/<tenantid>/stacks \
+ -d "{
+ "files": {},
+ "disable_rollback": true,
+ "parameters": {
+ "flavor": "m1.heat"
+ },
+ "stack_name": "teststack",
+ "template": {
+ "heat_template_version": "2013-05-23",
+ "description": "Simple template to test heat commands",
+ "parameters": {
+ "flavor": {
+ "default": "m1.tiny",
+ "type": "string"
+ }
+ },
+ "resources": {
+ "hello_world": {
+ "type": "OS::Nova::Server",
+ "properties": {
+ "key_name": "heat_key",
+ "flavor": {
+ "get_param": "flavor"
+ },
+ "image": "40be8d1a-3eb9-40de-8abd-43237517384f",
+ "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n"
+ }
+ }
+ }
+ },
+ "timeout_mins": 60
+ }"
+
+
+delete stack
+------------
+
+.. code-block:: console
+
+ $ curl -X DELETE -H 'X-Auth-Token:<token>' http://$msb_address/api/multicloud-vio/v0/vmware_fake/heat/<tenantid>/stacks/<stack_name>/<stack_id>
+