From 5e3a6c1091ff9b8acdc72d917ebaef99ae699596 Mon Sep 17 00:00:00 2001 From: lizi Date: Fri, 13 Oct 2017 15:49:02 +0800 Subject: Add doc files for esr-gui. Change-Id: If61b34161025e64a098bf48e71b6b153b6439b57 Issue-ID: AAI-427 Signed-off-by: lizi --- docs/platform/architecture.rst | 30 +++++++ docs/platform/consumedapis.rst | 63 ++++++++++++++ docs/platform/images/esr-architecture.PNG | Bin 0 -> 130313 bytes .../images/external-system-register-progress.PNG | Bin 0 -> 28468 bytes .../external-system-register-sequence-diagram.PNG | Bin 0 -> 57223 bytes docs/platform/images/vim-register-progress.PNG | Bin 0 -> 27554 bytes docs/platform/index.rst | 13 +++ docs/platform/installation.rst | 91 +++++++++++++++++++++ 8 files changed, 197 insertions(+) create mode 100644 docs/platform/architecture.rst create mode 100644 docs/platform/consumedapis.rst create mode 100644 docs/platform/images/esr-architecture.PNG create mode 100644 docs/platform/images/external-system-register-progress.PNG create mode 100644 docs/platform/images/external-system-register-sequence-diagram.PNG create mode 100644 docs/platform/images/vim-register-progress.PNG create mode 100644 docs/platform/index.rst create mode 100644 docs/platform/installation.rst (limited to 'docs/platform') diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst new file mode 100644 index 0000000..cb658ef --- /dev/null +++ b/docs/platform/architecture.rst @@ -0,0 +1,30 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Architecture +------------ + +ESR contains two components: esr server module and esr gui module + +- ESR + - ESR server + - ESR gui + +ONAP-level Architecture +^^^^^^^^^^^^^^^^^^^^^^^ + +In ONAP architecture, ESR is a sub-project of A&AI. It provide a single point for users to manage the external system information. It provides a way to register/unregister external system dynamically. + +.. image:: images/esr-architecture.PNG + +How ESR works +^^^^^^^^^^^^^^^^^^^^^^^ + +The user register external system through esr-gui, esr-server will store the external system information to A&AI. And the other components such as VF-C/SDNC/Multi-Cloud then can query the external system information form A&AI. The process of VIM register may be a bit different from the VNFM/EMS/thirdparty SDNC. That because the registered VIM information is some basic information such as region/version/auth-url that things, Multi-Cloud will update the cloud information with more details, such as the volume and tenant details. The VNFM/EMS/thirdparty SDNC will not be updated by VF-C and SDNC. + +.. image:: images/vim-register-progress.PNG +.. image:: images/external-system-register-progress.PNG + +The complete workflow is shown below in the form of a sequence diagram. + +.. image:: images/external-system-register-sequence-diagram.PNG \ No newline at end of file diff --git a/docs/platform/consumedapis.rst b/docs/platform/consumedapis.rst new file mode 100644 index 0000000..5576e8e --- /dev/null +++ b/docs/platform/consumedapis.rst @@ -0,0 +1,63 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Consumed APIs +------------- + +In the Amsterdam release, Holmes does not consume any APIs provided by other ONAP components. + +ESR-SERVER +^^^^^^^^^^ + +ESR-gui manage the external system (VIM/VNFM/EMS/thirdparty SDNC) with ers-server API. + +#. VIM management API: + + ``POST /api/aai-esr-server/v1/vims`` + + ``PUT /api/aai-esr-server/v1/vims/{cloudOwner}/{cloudRegionId}`` + + ``GET /api/aai-esr-server/v1/vims/{cloudOwner}/{cloudRegionId}`` + + ``GET /api/aai-esr-server/v1/vims`` + + ``DELETE /api/aai-esr-server/v1/vims/{cloudOwner}/{cloudRegionId}`` + +#. VNFM management API: + + ``POST /api/aai-esr-server/v1/vnfms`` + + ``PUT /api/aai-esr-server/v1/vnfms/{vnfmId}`` + + ``GET /api/aai-esr-server/v1/vnfms/{vnfmId}`` + + ``GET /api/aai-esr-server/v1/vnfms`` + + ``DELETE /api/aai-esr-server/v1/vnfms/{vnfmId}`` + +#. EMS management API: + + ``POST /api/aai-esr-server/v1/emses`` + + ``PUT /api/aai-esr-server/v1/emses/{emsId}`` + + ``GET /api/aai-esr-server/v1/emses/{emsId}`` + + ``GET /api/aai-esr-server/v1/emses`` + + ``DELETE /api/aai-esr-server/v1/emses/{emsId}`` + +#. Thirdparty SDNC management API: + + ``POST /api/aai-esr-server/v1/sdncontrollers`` + + ``PUT /api/aai-esr-server/v1/sdncontrollers/{sdnControllerId}`` + + ``GET /api/aai-esr-server/v1/sdncontrollers/{sdnControllerId}`` + + ``GET /api/aai-esr-server/v1/sdncontrollers`` + + ``DELETE /api/aai-esr-server/v1/sdncontrollers/{sdnControllerId}`` + +More details could be found at `A&AI APIs `_. + \ No newline at end of file diff --git a/docs/platform/images/esr-architecture.PNG b/docs/platform/images/esr-architecture.PNG new file mode 100644 index 0000000..982a519 Binary files /dev/null and b/docs/platform/images/esr-architecture.PNG differ diff --git a/docs/platform/images/external-system-register-progress.PNG b/docs/platform/images/external-system-register-progress.PNG new file mode 100644 index 0000000..bcfce84 Binary files /dev/null and b/docs/platform/images/external-system-register-progress.PNG differ diff --git a/docs/platform/images/external-system-register-sequence-diagram.PNG b/docs/platform/images/external-system-register-sequence-diagram.PNG new file mode 100644 index 0000000..08731aa Binary files /dev/null and b/docs/platform/images/external-system-register-sequence-diagram.PNG differ diff --git a/docs/platform/images/vim-register-progress.PNG b/docs/platform/images/vim-register-progress.PNG new file mode 100644 index 0000000..182e75d Binary files /dev/null and b/docs/platform/images/vim-register-progress.PNG differ diff --git a/docs/platform/index.rst b/docs/platform/index.rst new file mode 100644 index 0000000..3351195 --- /dev/null +++ b/docs/platform/index.rst @@ -0,0 +1,13 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Platform +-------- + +ESR provide a way to register external system which not included in ONAP system, mainly inclouded VIM/VNFM/EMS/thirdparty SDNC. + +.. toctree:: + :maxdepth: 1 + + architecture.rst + consumedapis.rst + installation.rst diff --git a/docs/platform/installation.rst b/docs/platform/installation.rst new file mode 100644 index 0000000..687f19c --- /dev/null +++ b/docs/platform/installation.rst @@ -0,0 +1,91 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Installation +------------ + +Install docker +^^^^^^^^^^^^^^^^^^^^^^^ + +sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' + +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + +sudo apt-get update + +apt-cache policy docker-engine + +sudo apt-get install -y docker-engine + +docker ps + +Run esr-server docker +^^^^^^^^^^^^^^^^^^^^^^^ + +Login the ONAP docker registry first: sudo docker login -u docker -p docker nexus3.onap.org:10001 + +sudo docker run -p 9518:9518 -d --net=host --name esr-server -e MSB_ADDR=${MSB_SERVER_IP}:80 nexus3.onap.org:10001/onap/aai/esr-server + +Run esr-gui docker +^^^^^^^^^^^^^^^^^^^^^^^ + +sudo docker run -p 9519:8080 -d --net=host --name esr-gui nexus3.onap.org:10001/onap/aai/esr-gui + +Check status of ESR +^^^^^^^^^^^^^^^^^^^^^^^ + +Test whether esr-server is runing: + +GET http://ESR_SERVICE_IP:9518/api/aai-esr-server/v1/test + +The returned status should be 200. + +Visit ESR portal: + +http://ESR_SERVER_IP:9519/esr-gui/extsys/vnfm/vnfmView.html + +http://ESR_SERVER_IP:9519/esr-gui/extsys/sdncontroller/sdncView.html + +http://ESR_SERVER_IP:9519/esr-gui/extsys/vim/vimView.html + +http://ESR_SERVER_IP:9519/esr-gui/extsys/ems/emsView.html + +A&AI register to MSB +^^^^^^^^^^^^^^^^^^^^^^^ + +NOTE: The way bellow is register to MSB by hand, it is a temporary method. Later it will be registered automatic by MSB. + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "aai-cloudInfrastructure", "version": "v11", "url": "/aai/v11/cloud-infrastructure","protocol": "REST", "enable_ssl":"true", "visualRange":"1", "nodes": [ {"ip": "A&AI_SERVER_IP","port": "8443"}]}' "http://MSB_SERVER_IP:10081/api/microservices/v1/services" + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "aai-externalSystem", "version": "v11", "url": "/aai/v11/external-system","protocol": "REST", "enable_ssl":"true", "visualRange":"1", "nodes": [ {"ip": "A&AI_SERVER_IP","port": "8443"}]}' "http://MSB_SERVER_IP:10081/api/microservices/v1/services" + +MultiCloud register to MSB +^^^^^^^^^^^^^^^^^^^^^^^ + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "multicloud", "version": "v0", "url": "/api/multicloud/v0","protocol": "REST", "nodes": [ {"ip": "'$MultiCloud_IP'","port": "9001"}]}' "http://$MSB_SERVER_IP:10081/api/microservices/v1/services" + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "multicloud-vio", "version": "v0", "url": "/api/multicloud-vio/v0","protocol": "REST", "nodes": [ {"ip": "'$MultiCloud_IP'","port": "9004"}]}' "http://$MSB_SERVER_IP:10081/api/microservices/v1/services" + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "multicloud-ocata", "version": "v0", "url": "/api/multicloud-ocata/v0","protocol": "REST", "nodes": [ {"ip": "'$MultiCloud_IP'","port": "9006"}]}' "http://$MSB_SERVER_IP:10081/api/microservices/v1/services" + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "multicloud-titanium_cloud", "version": "v0", "url": "/api/multicloud-titanium_cloud/v0","protocol": "REST", "nodes": [ {"ip": "'$MultiCloud_IP'","port": "9005"}]}' "http://$MSB_SERVER_IP:10081/api/microservices/v1/services" + +ESR register to MSB +^^^^^^^^^^^^^^^^^^^^^^^ + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "aai-esr-server", "version": "v1", "url": "/api/aai-esr-server/v1","protocol": "REST", "visualRange":"1", "nodes": [ {"ip": "ESR_SERVER_IP","port": "9518"}]}' "http://MSB_SERVER_IP:10081/api/microservices/v1/services" + +curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "aai-esr-gui", "url": "/esr-gui","protocol": "UI", "visualRange":"1", "path":"/iui/aai-esr-gui", "nodes": [ {"ip": "ESR_SERVER_IP","port": "9519"}]}' "http://MSB_SERVER_IP:10081/api/microservices/v1/services" + +ESR usage +^^^^^^^^^^^^^^^^^^^^^^^ + +Visit ESR portal to manage the external systems. + +http://MSB_SERVER_IP:80/iui/aai-esr-gui/extsys/vnfm/vnfmView.html + +http://MSB_SERVER_IP:80/iui/aai-esr-gui/extsys/sdncontroller/sdncView.html + +http://MSB_SERVER_IP:80/iui/aai-esr-gui/extsys/vim/vimView.html + +http://MSB_SERVER_IP:80/iui/aai-esr-gui/extsys/ems/emsView.html \ No newline at end of file -- cgit 1.2.3-korg