X-Git-Url: https://gerrit.onap.org/r/gitweb?p=multicloud%2Fframework.git;a=blobdiff_plain;f=doc%2Fuser%2Fkeystoneproxy%2Fmultivimproxy.txt;fp=doc%2Fuser%2Fkeystoneproxy%2Fmultivimproxy.txt;h=ecfabb917f51a149d87a0d3c968876821d060d9f;hp=0000000000000000000000000000000000000000;hb=f2657c55844dd4232c00bf39b73689e7b9592e6c;hpb=bce887641f3a8217f472e8bd20e0a4d59b90496a diff --git a/doc/user/keystoneproxy/multivimproxy.txt b/doc/user/keystoneproxy/multivimproxy.txt new file mode 100644 index 0000000..ecfabb9 --- /dev/null +++ b/doc/user/keystoneproxy/multivimproxy.txt @@ -0,0 +1,184 @@ +prepare environment: +system: centos7-64bit, 8GB RAM, 4 CPU + +docker images: +docker pull onapmulticloud/common-services-msb +docker pull onapmulticloud/common-services-extsys +docker pull onapmulticloud/common-services-drivermanager +docker pull onapmulticloud/gso-service-gateway +docker pull onapmulticloud/gso-service-manager +docker pull onapmulticloud/gso-gui-portal + +# login onap and pull those two images +docker login -u docker -p docker nexus3.onap.org:10001 +docker pull nexus3.onap.org:10001/onapmulticloud/multivim-broker:r1 +docker pull nexus3.onap.org:10001/onapmulticloud/multivim-vio-driver:r1 + + +run msb docker server + +docker run -t --name i-msb -p 80:80 onapmulticloud/common-services-msb + +Run other docker server: + Assign the host ip to MSB_ADDR. If server cannot connect to msb server, please check iptables rule on host may block this connection. + +docker run -t -e MSB_ADDR=$HOST_IP:80 onapmulticloud/gso-service-gateway +docker run -t -e MSB_ADDR=$HOST_IP:80 onapmulticloud/common-services-extsys +docker run -t -e MSB_ADDR=$HOST_IP:80 onapmulticloud/common-services-drivermanager +docker run -t -e MSB_ADDR=$HOST_IP:80 onapmulticloud/gso-gui-portal +docker run -t -e MSB_ADDR=$HOST_IP:80 onapmulticloud/gso-service-manage +docker run -t --name multivim-driver-vio-test -e MSB_ADDR=$HOST_IP:80 nexus3.onap.org:10001/onapmulticloud/multivim-vio-driver:r1 +docker run -t --name multivim-broker-test -e MSB_ADDR= $HOST_IP:80 nexus3.onap.org:10001/onapmulticloud/multivim-broker:r1 + + +Login Dashboard + +Access: http://$HOST_IP/openoui/microservices/index.html + +Register your openstack enviroment in extsys server +Choose 'extsys' —> 'vim Managent' —> 'post vim' + + +Request body Example: +{ + "id": "", + "name": "vmware-vio", + "vendor": "vmware", + "version": "4.0", + "description": "test", + "type": "vmware", # It must be ‘vmware’ so will use multvim-proxy service to execute requests + "createTime": "", + "category": "", + "url": "https://10.154.2.225:5000/v3", # keystone auth_url + "userName": "admin", + "password": "vmware", + "domain": "default", + "tenant": "admin" +} + +response example: + +Response: +{ + "name": "vmware-vio", + "vendor": "vmware", + "version": "4.0", + "description": "test", + "type": "vmware", + "createTime": "2017-08-14 21:28:05", + "vimId": "a5b17aaa-a142-4a50-b425-f1e6eab7136d", # vimid + "userName": "admin", + "password": "vmware", + "domain": "default", + "tenant": "admin" +} + + + +2 Testing Examples + +2.1 Get auth token + +you need to input in url path. + +curl -X POST -d @test.json -H 'Content-Type:application/json' http://$HOST_IP/api/multivim/v1//identity/auth/tokens + +test.json content example: + +{ + "auth": + { + "scope": {"project": {"id": “”}}, + "identity": + { + "password": {"user": {"domain": {"name": “”}, "password": “”, "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”. + +Identity endpoint: + http://$HOST_IP/api/multivim-vio/v1//identity + +Nova endpoint: + http://$HOST_IP/api/multivim-vio/v1//compute/ + + +2.2 List projects + +Use identity’s endpoint: http://$HOST_IP/api/multivim-vio/v1//identity/ + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multivim-vio/v1//identity/projects + + +2.3 Get os Hypervisor + +Use nova’s endpoint: http://$HOST_IP/api/multivim-vio/v1//nova/ + + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multivim-vio/v1//nova//os-hypervisors/detail + + +2.4 List instance of user’s project + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multivim-vio/v1//nova//servers + + +2.5 Show instance detail + +you need to input in url path. + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multivim-vio/v1/vimid/nova/tenantid/servers/ + + +2.6 Shutdown instance + +you need to input in url path + +curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:' -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + +2.7 Start instance + +you need to input in url path + +curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:' -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + +2.8 Suspend instance + +you need to input in url path + +curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:' -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + +2.9 Resume instance + +you need to input in url path + +curl -X POST -d '{"resume":null}' -H 'X-Auth-Token:' -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + +2.10 Pause instance + +you need to input in url path + +curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:' -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + + +2.11 Unpasue instance + +you need to input in url path + +curl -X POST -d '{"unpause":null}' -H 'X-Auth-Token: -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action + + +2.12 Reboot instance + +you need to input in url path + +curl -X POST -d '{"reboot":{"type":"HARD"}}' -H 'X-Auth-Token: -H 'Content-Type:application/json' http://$HOST_IP/api/multivim-vio/v1//nova//servers//action