Merge "Add pom.xml and version.properties to root folder"
authorxinhuili <lxinhui@vmware.com>
Mon, 11 Sep 2017 16:14:10 +0000 (16:14 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 11 Sep 2017 16:14:10 +0000 (16:14 +0000)
doc/user/keystoneproxy/multivimproxy.txt [new file with mode: 0644]
doc/user/keystoneproxy/test.json [new file with mode: 0644]
multivimbroker/multivimbroker/forwarder/base.py
multivimbroker/multivimbroker/pub/config/config.py
multivimbroker/multivimbroker/pub/utils/syscomm.py
multivimbroker/multivimbroker/swagger/multivim.identity.swagger.json

diff --git a/doc/user/keystoneproxy/multivimproxy.txt b/doc/user/keystoneproxy/multivimproxy.txt
new file mode 100644 (file)
index 0000000..ecfabb9
--- /dev/null
@@ -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 <vimid> in url path.
+
+curl -X  POST   -d @test.json  -H 'Content-Type:application/json'   http://$HOST_IP/api/multivim/v1/<vimid>/identity/auth/tokens
+
+test.json content example:
+
+{
+       "auth":
+       {
+               "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”.
+
+Identity endpoint:
+       http://$HOST_IP/api/multivim-vio/v1/<vimid>/identity
+
+Nova endpoint:
+       http://$HOST_IP/api/multivim-vio/v1/<vimid>/compute/<user-tenantid>
+
+
+2.2 List projects
+
+Use identity’s endpoint:  http://$HOST_IP/api/multivim-vio/v1/<vimid>/identity/
+
+curl -X GET   -H 'X-Auth-Token:<token>'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/identity/projects
+
+
+2.3 Get os Hypervisor
+
+Use nova’s endpoint:  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<user-tenantid>
+
+
+curl -X GET   -H 'X-Auth-Token:<token>'   http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/os-hypervisors/detail
+
+
+2.4  List instance of  user’s project
+
+curl -X GET   -H 'X-Auth-Token:<token>'    http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers
+
+
+2.5  Show instance detail
+
+you need to input <server-id> in url path.
+
+curl -X GET   -H 'X-Auth-Token:<token>'    http://$HOST_IP/api/multivim-vio/v1/vimid/nova/tenantid/servers/<server-id>
+
+
+2.6 Shutdown instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+2.7  Start instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+2.8  Suspend instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+2.9 Resume  instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"resume":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+2.10  Pause instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+
+2.11 Unpasue instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"unpause":null}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
+
+
+2.12 Reboot instance
+
+you need to input <server-id> in url path
+
+curl -X POST -d '{"reboot":{"type":"HARD"}}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json'  http://$HOST_IP/api/multivim-vio/v1/<vimid>/nova/<tenantid>/servers/<server-id>/action
diff --git a/doc/user/keystoneproxy/test.json b/doc/user/keystoneproxy/test.json
new file mode 100644 (file)
index 0000000..cd19378
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "auth":
+       {
+               "scope": {"project": {"id": "622b0f38ec9e4ce1ab5c3aad7765d045"}},
+               "identity":
+               {
+                       "password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"]
+               }
+       }
+}
index c96461a..7477842 100644 (file)
@@ -53,7 +53,6 @@ class BaseHandler(object):
 
         try:
             url = getMultivimDriver(vimid, full_path=full_path)
-
         except exceptions.VimBrokerException as e:
             logging.exception("vimbroker exception: %s" % e)
             return HttpResponse(e.content, status=e.status_code)
index 71b4d2a..72932dd 100644 (file)
@@ -40,8 +40,8 @@ REDIS_PASSWD = ''
 REG_TO_MSB_WHEN_START = False
 REG_TO_MSB_REG_URL = "/api/microservices/v1/services"
 REG_TO_MSB_REG_PARAM = {
-    "serviceName": "multivim",
-    "version": "v1",
+    "serviceName": "multicloud",
+    "version": "v0",
     "url": "/api/multicloud/v0",
     "protocol": "REST",
     "visualRange": "1",
index 0d0419a..cdc6480 100644 (file)
@@ -37,25 +37,21 @@ def findMultivimDriver(vim=None):
 
     if vim and vim["type"] == "openstack":
         if vim["version"] == "kilo":
-            multivimdriver = "multivim-kilo"
+            multivimdriver = "multicloud-kilo"
         elif vim["version"] == "newton":
-            multivimdriver = "multivim-newton"
+            multivimdriver = "multicloud-newton"
         else:
             # if vim type is openstack, use latest "newton" version as default
-            multivimdriver = "multivim-newton"
+            multivimdriver = "multicloud-newton"
     elif vim and vim["type"] == "vmware":
-        multivimdriver = "multivim-vio"
+            multivimdriver = "multicloud-vio"
     else:
         raise exceptions.NotFound("Not support VIM type")
     return multivimdriver
 
 
 def getMultivimDriver(vimid, full_path=""):
-
-    multivim = "multivim"
+    multcloud = "multicloud"
     vim = get_vim_by_id(vimid)
-    if vim["type"] and vim["version"]:
-        pass
-
-    multivimdriver = findMultivimDriver(vim=vim)
-    return re.sub(multivim, multivimdriver, full_path)
+    multclouddriver = findMultivimDriver(vim=vim)
+    return re.sub(multcloud, multclouddriver, full_path)
index 923924e..a81b431 100644 (file)
@@ -4,7 +4,7 @@
         "version": "1.0.0",
         "title": "MultiVIM Service rest API"
     },
-    "basePath": "/openoapi/multivim/v1/",
+    "basePath": "/api/multicloud/v0/",
     "tags": [
         {
             "name": "MultiVIM services"