| .. |
| This work is licensed under a Creative Commons Attribution 4.0 |
| International License. |
| |
| ========================== |
| 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> |