From ccf52decec6ef3ea58a4a73fc7d3b1d381735d96 Mon Sep 17 00:00:00 2001 From: Xinhui Li Date: Thu, 28 Sep 2017 09:47:34 +0200 Subject: Tune docs for Multi VIM/Cloud projects This patch is to tune documents for the Multi VIM/Cloud Cloud Change-Id: I2e6a643e527b55ae76a452aee498c19daf7c5d05 issue-id: MULTICLOUD-86 Signed-off-by: Xinhui Li --- LICENSE.txt | 39 +++++ doc/user/keystoneproxy/multivimproxy.txt | 247 ------------------------------- doc/user/keystoneproxy/test.json | 10 -- docs/index.rst | 8 + docs/user/multivimproxy.txt | 247 +++++++++++++++++++++++++++++++ docs/user/test.json | 10 ++ 6 files changed, 304 insertions(+), 257 deletions(-) create mode 100644 LICENSE.txt delete mode 100644 doc/user/keystoneproxy/multivimproxy.txt delete mode 100644 doc/user/keystoneproxy/test.json create mode 100644 docs/index.rst create mode 100644 docs/user/multivimproxy.txt create mode 100644 docs/user/test.json diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..bb235ff --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,39 @@ +/* +* ============LICENSE_START========================================== +* =================================================================== +* Copyright © 2017 AT&T Intellectual Property. All rights reserved. +* =================================================================== +* +* Unless otherwise specified, all software contained herein is licensed +* under the Apache License, Version 2.0 (the “License”); +* you may not use this software except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* +* +* Unless otherwise specified, all documentation contained herein is licensed +* under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +* you may not use this documentation except in compliance with the License. +* You may obtain a copy of the License at +* +* https://creativecommons.org/licenses/by/4.0/ +* +* Unless required by applicable law or agreed to in writing, documentation +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* ============LICENSE_END============================================ +* +* ECOMP is a trademark and service mark of AT&T Intellectual Property. +* +*/ diff --git a/doc/user/keystoneproxy/multivimproxy.txt b/doc/user/keystoneproxy/multivimproxy.txt deleted file mode 100644 index 5f83de9..0000000 --- a/doc/user/keystoneproxy/multivimproxy.txt +++ /dev/null @@ -1,247 +0,0 @@ -1 prepare docker environment - -Please refer to onap deployment in kubernetes website(https://wiki.onap.org/display/DW/ONAP+on+Kubernetes) -to setup kubernets cluster. - - -After installing kubectl and helm, execute "kubectl cluster-info" command to verify your kubernets cluster. - -Clone oom project: git clone http://gerrit.onap.org/r/oom -Source the setenv.bash script in /oom/kubernetes/oneclick/, it will set your helm list of components to start/delete -Run the one time config pod - which mounts the volume /dockerdata/ contained in the pod config-init. - -# cd oom/kubernetes/config -# cp onap-parameters-sample.yaml onap-parameters.yaml -# ./createConfig.sh -n onap - -wait for "onap" namespace created, pod "config-init" created -# kubectl get namespaces -NAME STATUS AGE -default Active 10d -kube-public Active 10d -kube-system Active 10d -onap Active 9d - -2 startup containers - -first run kube2msb container. - -# cd oom/kubernetes/oneclick -# ./createAll.bash -n onap -a kube2msb - -run msb container -# ./createAll.bash -n onap -a msb - -run aai container -# ./createAll.bash -n onap -a aai - - -Finally run multicloud container -# ./createAll.bash -n onap -a multicloud - -get all pods -# kubectl get pods --all-namespaces -NAMESPACE NAME READY STATUS RESTARTS AGE -kube-system heapster-4285517626-2k4l1 1/1 Running 1 9d -kube-system kube-dns-2514474280-mxh18 3/3 Running 3 9d -kube-system kubernetes-dashboard-716739405-jl6mk 1/1 Running 1 9d -kube-system monitoring-grafana-3552275057-hrpn5 1/1 Running 1 9d -kube-system monitoring-influxdb-4110454889-t8tpv 1/1 Running 1 9d -kube-system tiller-deploy-737598192-8q523 1/1 Running 1 9d -onap-aai aai-resources-837807428-2t158 1/1 Running 0 2d -onap-aai aai-service-3869033750-1nvg5 1/1 Running 0 2d -onap-aai aai-traversal-50329389-gnsnk 1/1 Running 0 2d -onap-aai data-router-2254557428-zwxx1 1/1 Running 0 2d -onap-aai elasticsearch-622738319-sx6q1 1/1 Running 0 2d -onap-aai gremlin-671060974-npsg5 1/1 Running 0 2d -onap-aai hbase-3690059193-2pjc5 1/1 Running 0 2d -onap-aai model-loader-service-849987455-w6vwn 1/1 Running 0 2d -onap-aai search-data-service-4105978183-p1nnj 1/1 Running 0 2d -onap-aai sparky-be-2696729089-mcjbw 1/1 Running 0 2d -onap-kube2msb kube2msb-registrator-1600827891-1s3s4 1/1 Running 3 7d -onap-msb msb-consul-3388279333-hbr16 1/1 Running 0 2d -onap-msb msb-discovery-1109629174-t14q8 1/1 Running 0 2d -onap-msb msb-eag-3969419634-2fdnr 1/1 Running 0 2d -onap-msb msb-iag-1114772402-sjlww 1/1 Running 0 2d -onap-multicloud framework-1225620501-9567n 1/1 Running 0 21h -onap-multicloud multicloud-vio-269945856-rl6w6 1/1 Running 0 21h - -get cluster-ip and port - -# kubectl get svc --all-namespaces -NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE -default kubernetes 10.43.0.1 443/TCP 10d -kube-system heapster 10.43.96.134 80/TCP 10d -kube-system kube-dns 10.43.0.10 53/UDP,53/TCP 10d -kube-system kubernetes-dashboard 10.43.9.43 9090/TCP 10d -kube-system monitoring-grafana 10.43.210.16 80/TCP 10d -kube-system monitoring-influxdb 10.43.32.60 8086/TCP 10d -kube-system tiller-deploy 10.43.84.208 44134/TCP 10d -onap-aai aai-resources None 8447/TCP,5005/TCP 2d -onap-aai aai-service 10.43.88.92 8443:30233/TCP,8080:30232/TCP 2d -onap-aai aai-traversal None 8446/TCP,5005/TCP 2d -onap-aai elasticsearch None 9200/TCP 2d -onap-aai gremlin None 8182/TCP 2d -onap-aai hbase None 2181/TCP,8080/TCP,8085/TCP,9090/TCP,16000/TCP,16010/TCP,16201/TCP 2d -onap-aai model-loader-service 10.43.172.213 8443:30229/TCP,8080:30210/TCP 2d -onap-aai search-data-service None 9509/TCP 2d -onap-aai sparky-be None 9517/TCP 2d -onap-msb msb-consul 10.43.41.203 8500:30500/TCP 2d -onap-msb msb-discovery 10.43.6.205 10081:30081/TCP 2d -onap-msb msb-eag 10.43.81.104 80:30082/TCP 2d -onap-msb msb-iag 10.43.188.78 80:30080/TCP 2d -onap-multicloud framework 10.43.97.54 9001:30291/TCP 21h -onap-multicloud multicloud-vio 10.43.230.197 9004:30294/TCP 21h - - -Now msb,aai and multicloud container are online, navigate to http://msb_docker_host_ip:30081/iui/microservices/index.html, -you can see multicloud endpoint have been registered. - -No Service Name Version NameSpace Url Protocol Visualrange Control -1 multicloud v0 /api/multicloud/v0 REST InSystem -2 multicloud-vio v0 /api/multicloud-vio/v0 REST InSystem - - -Then register vio information into AAI service with region name "vmware" and region id "vio" -# cur -X PUT -H "Authorization: Basic QUFJOkFBSQ==" - "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr" -https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-regions/cloud-region/vmware/vio --d "{ - "cloud-type": "vmware", - "cloud-region-version": "4.0", - "esr-system-info-list": { - "esr-system-info": [ - { - "esr-system-info-id": "123-456", - "system-name": "vim-vio", - "system-type": "vim", - "type": "vim", - "user-name": "admin", - "password": "vmware", - "service-url": "", - "cloud-domain": "default", - "default-tenant": "admin", - "ssl-insecure": false - } - ] - } -}" - - - - -3 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. - - -2.1 Get auth token - -# send request to multicloud-framework(broker) service to get token - -curl -X POST -d @test.json -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud/v0//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”. - -# 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://$HOST_IP/api/multicloud-vio/v0//identity - -Nova endpoint: - http://$HOST_IP/api/multicloud-vio/v0//compute/ - - -2.2 List projects - -Use identity’s endpoint: http://$HOST_IP/api/multicloud-vio/v0//identity/ - -curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//identity/projects - - -2.3 Get os Hypervisor - -Use nova’s endpoint: http://$HOST_IP/api/multicloud-vio/v0//nova/ - - -curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//nova//os-hypervisors/detail - - -2.4 List instance of user’s project - -curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//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/multicloud-vio/v0/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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//nova//servers//action diff --git a/doc/user/keystoneproxy/test.json b/doc/user/keystoneproxy/test.json deleted file mode 100644 index cd19378..0000000 --- a/doc/user/keystoneproxy/test.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "auth": - { - "scope": {"project": {"id": "622b0f38ec9e4ce1ab5c3aad7765d045"}}, - "identity": - { - "password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"] - } - } -} diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..1dd525d --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,8 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +APPC Documentation Repository +----------------------------- +.. toctree:: + :maxdepth: 2 + + user diff --git a/docs/user/multivimproxy.txt b/docs/user/multivimproxy.txt new file mode 100644 index 0000000..5f83de9 --- /dev/null +++ b/docs/user/multivimproxy.txt @@ -0,0 +1,247 @@ +1 prepare docker environment + +Please refer to onap deployment in kubernetes website(https://wiki.onap.org/display/DW/ONAP+on+Kubernetes) +to setup kubernets cluster. + + +After installing kubectl and helm, execute "kubectl cluster-info" command to verify your kubernets cluster. + +Clone oom project: git clone http://gerrit.onap.org/r/oom +Source the setenv.bash script in /oom/kubernetes/oneclick/, it will set your helm list of components to start/delete +Run the one time config pod - which mounts the volume /dockerdata/ contained in the pod config-init. + +# cd oom/kubernetes/config +# cp onap-parameters-sample.yaml onap-parameters.yaml +# ./createConfig.sh -n onap + +wait for "onap" namespace created, pod "config-init" created +# kubectl get namespaces +NAME STATUS AGE +default Active 10d +kube-public Active 10d +kube-system Active 10d +onap Active 9d + +2 startup containers + +first run kube2msb container. + +# cd oom/kubernetes/oneclick +# ./createAll.bash -n onap -a kube2msb + +run msb container +# ./createAll.bash -n onap -a msb + +run aai container +# ./createAll.bash -n onap -a aai + + +Finally run multicloud container +# ./createAll.bash -n onap -a multicloud + +get all pods +# kubectl get pods --all-namespaces +NAMESPACE NAME READY STATUS RESTARTS AGE +kube-system heapster-4285517626-2k4l1 1/1 Running 1 9d +kube-system kube-dns-2514474280-mxh18 3/3 Running 3 9d +kube-system kubernetes-dashboard-716739405-jl6mk 1/1 Running 1 9d +kube-system monitoring-grafana-3552275057-hrpn5 1/1 Running 1 9d +kube-system monitoring-influxdb-4110454889-t8tpv 1/1 Running 1 9d +kube-system tiller-deploy-737598192-8q523 1/1 Running 1 9d +onap-aai aai-resources-837807428-2t158 1/1 Running 0 2d +onap-aai aai-service-3869033750-1nvg5 1/1 Running 0 2d +onap-aai aai-traversal-50329389-gnsnk 1/1 Running 0 2d +onap-aai data-router-2254557428-zwxx1 1/1 Running 0 2d +onap-aai elasticsearch-622738319-sx6q1 1/1 Running 0 2d +onap-aai gremlin-671060974-npsg5 1/1 Running 0 2d +onap-aai hbase-3690059193-2pjc5 1/1 Running 0 2d +onap-aai model-loader-service-849987455-w6vwn 1/1 Running 0 2d +onap-aai search-data-service-4105978183-p1nnj 1/1 Running 0 2d +onap-aai sparky-be-2696729089-mcjbw 1/1 Running 0 2d +onap-kube2msb kube2msb-registrator-1600827891-1s3s4 1/1 Running 3 7d +onap-msb msb-consul-3388279333-hbr16 1/1 Running 0 2d +onap-msb msb-discovery-1109629174-t14q8 1/1 Running 0 2d +onap-msb msb-eag-3969419634-2fdnr 1/1 Running 0 2d +onap-msb msb-iag-1114772402-sjlww 1/1 Running 0 2d +onap-multicloud framework-1225620501-9567n 1/1 Running 0 21h +onap-multicloud multicloud-vio-269945856-rl6w6 1/1 Running 0 21h + +get cluster-ip and port + +# kubectl get svc --all-namespaces +NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE +default kubernetes 10.43.0.1 443/TCP 10d +kube-system heapster 10.43.96.134 80/TCP 10d +kube-system kube-dns 10.43.0.10 53/UDP,53/TCP 10d +kube-system kubernetes-dashboard 10.43.9.43 9090/TCP 10d +kube-system monitoring-grafana 10.43.210.16 80/TCP 10d +kube-system monitoring-influxdb 10.43.32.60 8086/TCP 10d +kube-system tiller-deploy 10.43.84.208 44134/TCP 10d +onap-aai aai-resources None 8447/TCP,5005/TCP 2d +onap-aai aai-service 10.43.88.92 8443:30233/TCP,8080:30232/TCP 2d +onap-aai aai-traversal None 8446/TCP,5005/TCP 2d +onap-aai elasticsearch None 9200/TCP 2d +onap-aai gremlin None 8182/TCP 2d +onap-aai hbase None 2181/TCP,8080/TCP,8085/TCP,9090/TCP,16000/TCP,16010/TCP,16201/TCP 2d +onap-aai model-loader-service 10.43.172.213 8443:30229/TCP,8080:30210/TCP 2d +onap-aai search-data-service None 9509/TCP 2d +onap-aai sparky-be None 9517/TCP 2d +onap-msb msb-consul 10.43.41.203 8500:30500/TCP 2d +onap-msb msb-discovery 10.43.6.205 10081:30081/TCP 2d +onap-msb msb-eag 10.43.81.104 80:30082/TCP 2d +onap-msb msb-iag 10.43.188.78 80:30080/TCP 2d +onap-multicloud framework 10.43.97.54 9001:30291/TCP 21h +onap-multicloud multicloud-vio 10.43.230.197 9004:30294/TCP 21h + + +Now msb,aai and multicloud container are online, navigate to http://msb_docker_host_ip:30081/iui/microservices/index.html, +you can see multicloud endpoint have been registered. + +No Service Name Version NameSpace Url Protocol Visualrange Control +1 multicloud v0 /api/multicloud/v0 REST InSystem +2 multicloud-vio v0 /api/multicloud-vio/v0 REST InSystem + + +Then register vio information into AAI service with region name "vmware" and region id "vio" +# cur -X PUT -H "Authorization: Basic QUFJOkFBSQ==" - "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr" +https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-regions/cloud-region/vmware/vio +-d "{ + "cloud-type": "vmware", + "cloud-region-version": "4.0", + "esr-system-info-list": { + "esr-system-info": [ + { + "esr-system-info-id": "123-456", + "system-name": "vim-vio", + "system-type": "vim", + "type": "vim", + "user-name": "admin", + "password": "vmware", + "service-url": "", + "cloud-domain": "default", + "default-tenant": "admin", + "ssl-insecure": false + } + ] + } +}" + + + + +3 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. + + +2.1 Get auth token + +# send request to multicloud-framework(broker) service to get token + +curl -X POST -d @test.json -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud/v0//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”. + +# 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://$HOST_IP/api/multicloud-vio/v0//identity + +Nova endpoint: + http://$HOST_IP/api/multicloud-vio/v0//compute/ + + +2.2 List projects + +Use identity’s endpoint: http://$HOST_IP/api/multicloud-vio/v0//identity/ + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//identity/projects + + +2.3 Get os Hypervisor + +Use nova’s endpoint: http://$HOST_IP/api/multicloud-vio/v0//nova/ + + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//nova//os-hypervisors/detail + + +2.4 List instance of user’s project + +curl -X GET -H 'X-Auth-Token:' http://$HOST_IP/api/multicloud-vio/v0//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/multicloud-vio/v0/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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//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/multicloud-vio/v0//nova//servers//action diff --git a/docs/user/test.json b/docs/user/test.json new file mode 100644 index 0000000..cd19378 --- /dev/null +++ b/docs/user/test.json @@ -0,0 +1,10 @@ +{ + "auth": + { + "scope": {"project": {"id": "622b0f38ec9e4ce1ab5c3aad7765d045"}}, + "identity": + { + "password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"] + } + } +} -- cgit 1.2.3-korg