From b74f1453b2c309b7395b909762a3d3543dab6406 Mon Sep 17 00:00:00 2001 From: guochuyicmri Date: Tue, 11 Jun 2019 15:35:08 +0800 Subject: add usecase-ui user guide Change-Id: I97155072f9cf212ce6a2155bd07a6c57546222e5 Issue-ID: USECASEUI-194 Signed-off-by: guochuyicmri --- docs/platform/administration.rst | 15 +-- docs/platform/architecture.rst | 24 +++-- docs/platform/configuration.rst | 7 -- docs/platform/consumed_api.rst | 72 ++++++++++++++ docs/platform/consumedapis.rst | 106 --------------------- docs/platform/delivery.rst | 13 +-- docs/platform/index.rst | 52 +++++++--- docs/platform/installation.rst | 23 ----- docs/platform/installation/index.rst | 14 +++ docs/platform/installation/installation/index.rst | 7 ++ .../installation/installation/uui-over-oom.rst | 75 +++++++++++++++ docs/platform/installation/user-guide/index.rst | 7 ++ .../platform/installation/user-guide/uui-guide.rst | 28 ++++++ docs/platform/log-and-diagnostic-info.rst | 15 --- docs/platform/logging.rst | 15 +++ docs/platform/offered_api.rst | 8 ++ docs/platform/offeredapis.rst | 7 -- docs/release-notes.rst | 1 + 18 files changed, 289 insertions(+), 200 deletions(-) delete mode 100644 docs/platform/configuration.rst create mode 100644 docs/platform/consumed_api.rst delete mode 100644 docs/platform/consumedapis.rst delete mode 100644 docs/platform/installation.rst create mode 100644 docs/platform/installation/index.rst create mode 100644 docs/platform/installation/installation/index.rst create mode 100644 docs/platform/installation/installation/uui-over-oom.rst create mode 100644 docs/platform/installation/user-guide/index.rst create mode 100644 docs/platform/installation/user-guide/uui-guide.rst delete mode 100644 docs/platform/log-and-diagnostic-info.rst create mode 100644 docs/platform/logging.rst create mode 100644 docs/platform/offered_api.rst delete mode 100644 docs/platform/offeredapis.rst (limited to 'docs') diff --git a/docs/platform/administration.rst b/docs/platform/administration.rst index 988bbae4..52ded424 100644 --- a/docs/platform/administration.rst +++ b/docs/platform/administration.rst @@ -1,31 +1,26 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 Administration -------------- +Usecase-UI components have been dockerized, can use docker command to manage Usecase-UI. -It is not hard to manage Usecase-UI because it's been dockerized and split into two dockers. One is for UI and the other for Server. Processes / Dockers -^^^^^^^^^^^^^^^^^^^ ++++++++++ Usecase-UI mainly consists of two dockers: - * Usecase-UI UI Docker - * Usecase-UI Server Docker + Actions -^^^^^^^ ++++++++ All actions performed on the Usecase-UI modules are docker-based. - * Create a Container: ``sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]`` - * Kill a Container: ``sudo docker kill [OPTIONS] CONTAINER [CONTAINER...]`` - * Stop a Container: ``sudo docker stop [OPTIONS] CONTAINER [CONTAINER...]`` - * Start a Container: ``sudo docker start [OPTIONS] CONTAINER [CONTAINER...]`` - * Restart a Container: ``sudo docker restart [OPTIONS] CONTAINER [CONTAINER...]`` diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst index e4dfcc5e..10891050 100644 --- a/docs/platform/architecture.rst +++ b/docs/platform/architecture.rst @@ -1,22 +1,20 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 Usecase-UI Architecture ------------------------ +======================= -Usecase-UI comprises two modules: the Usecase-UI UI module and the Usecase-UI Server module. +|image0| - - Usecase-UI UI Module - - Usecase-UI Server Module +.. |image0| image:: images/usecaseui-architecture.png + :width: 6.97047in + :height: 4.63208in -Usecase-UI itself is an independent component in ONAP, which means it could be deployed as an ONAP-level component. - -.. image:: images/overall-architecture-in-onap.png - -Take a deep dive into Usecase-UI, we could see it mainly consists of two modules, which are the UI module and Server module respectively. +Usecase-UI includes two modules : Usecase-UI Frontend and Usecase-UI Backend. + - Usecase UI UI (Frontend Module) + - Usecase UI Server (Backend Module) +Usecase-UI mainly consists of two modules, they are the UI module and Server module respectively. The UI module provides Graphical User Interface (GUI) for operators and end-users (e.g. LCM, Monitor). - -The Server module is the logic part of Usecase-UI. This part analyzes NS files for LCM function and subscribes vnf alarm and performance data for monitor function. - -.. image:: images/usecaseui-architecture.png +The Server module is the logic part of Usecase-UI. This part provide ONAP other components APIs for Usecase-UI frontend. diff --git a/docs/platform/configuration.rst b/docs/platform/configuration.rst deleted file mode 100644 index ca332d83..00000000 --- a/docs/platform/configuration.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - - -Configuration -------------- - -No mechanism for customized configurations is provided in the Amsterdam release. Such functionalities will be provided in the future if necessary. diff --git a/docs/platform/consumed_api.rst b/docs/platform/consumed_api.rst new file mode 100644 index 00000000..84523d9f --- /dev/null +++ b/docs/platform/consumed_api.rst @@ -0,0 +1,72 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Usecase-UI Consumed APIs +======================== + +References to APIs offered by other components + +VFC APIs +-------- +#. Distribute Network Service package: + ``POST /api/catalog/v1/nspackages`` + +#. Distribute VF resource: + ``POST /api/catalog/v1/vnfpackages`` + +#. Query operation progress for distributing network service/vf resource: + ``GET /api/nslcm/v1/jobs/{jobId}`` + +#. Delete Network Service package: + ``DELETE /api/catalog/v1/nspackages/{csarId}`` + +#. Delete VF resource: + ``DELETE /api/catalog/v1/vnfpackages/{csarId}`` + +SDC APIs +-------- +#. Query all distributed End to End Service: + ``GET /sdc/v1/catalog/services`` + +#. Query specified service: + ``GET /sdc/v1/catalog/services/{uuid}/metadata`` + +#. Query VF resource: + ``GET /sdc/v1/catalog/resources`` + +#. Download csar file: + ``GET /sdc/v1/catalog/services/{uuid}/toscaModel`` + +A&AI APIs +--------- +#. Query all customers: + ``/aai/v11/business/customers`` + +#. Query all service types for the specified customer: + ``/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions`` + +#. Query all service instances: + ``/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances`` + +#. Query all cloud regions: + ``/aai/v11/cloud-infrastructure/cloud-regions`` + +#. Query all sdnc controllers: + ``/aai/v11/external-system/esr-thirdparty-sdnc-list`` + +SO APIs +------- +#. Instantiate service instance: + ``POST /ecomp/mso/infra/e2eServiceInstances/v3`` + +#. Query operation progress for service instantiation/termination: + ``GET /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}`` + +#. Terminate service instance: + ``DELETE /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}`` + +MSB APIs +-------- +#. Service Registration: + ``/api/microservices/v1/services`` diff --git a/docs/platform/consumedapis.rst b/docs/platform/consumedapis.rst deleted file mode 100644 index 46b2cde0..00000000 --- a/docs/platform/consumedapis.rst +++ /dev/null @@ -1,106 +0,0 @@ -.. 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, Usecase-UI mainly depends on the APIs provided by VF-C, SDC, A&AI, SO, DMaaP and MSB. - -VF-C -^^^^ - -#. Distribute Network Service package: - - ``POST /api/catalog/v1/nspackages`` - -#. Distribute VF resource: - - ``POST /api/catalog/v1/vnfpackages`` - -#. Query operation progress for distributing network service/vf resource: - - ``GET /api/nslcm/v1/jobs/{jobId}`` - -#. Delete Network Service package: - - ``DELETE /api/catalog/v1/nspackages/{csarId}`` - -#. Delete VF resource: - - ``DELETE /api/catalog/v1/vnfpackages/{csarId}`` - - -SDC -^^^^ - -#. Query all distributed End to End Service: - - ``GET /sdc/v1/catalog/services`` - -#. Query specified service: - - ``GET /sdc/v1/catalog/services/{uuid}/metadata`` - -#. Query VF resource: - - ``GET /sdc/v1/catalog/resources`` - -#. Download csar file: - - ``GET /sdc/v1/catalog/services/{uuid}/toscaModel`` - - -A&AI -^^^^ - -#. Query all customers: - - ``/aai/v11/business/customers`` - -#. Query all service types for the specified customer: - - ``/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions`` - -#. Query all service instances: - - ``/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances`` - -#. Query all cloud regions: - - ``/aai/v11/cloud-infrastructure/cloud-regions`` - -#. Query all sdnc controllers: - - ``/aai/v11/external-system/esr-thirdparty-sdnc-list`` - - -SO -^^^^ - -#. Instantiate service instance: - - ``POST /ecomp/mso/infra/e2eServiceInstances/v3`` - -#. Query operation progress for service instantiation/termination: - - ``GET /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}`` - -#. Terminate service instance: - - ``DELETE /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}`` - - -DMaaP -^^^^^ - -#. Subscribing: - - ``/events/{topic}/{consumergroup}/{consumerid}`` - - -MSB -^^^ - -#. Service Registration: - - ``/api/microservices/v1/services`` diff --git a/docs/platform/delivery.rst b/docs/platform/delivery.rst index 30bf1d42..2bbbce00 100644 --- a/docs/platform/delivery.rst +++ b/docs/platform/delivery.rst @@ -1,12 +1,13 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 -Delivery --------- +Usecase-UI Delivery +=================== -Describe how functions are packaged into run-time components. For some components a block diagram may be useful. -As mentioned in the architecture chapter, Usecase-UI mainly comprises two modules: the UI module and the Server module. +Usecase-UI mainly comprises two modules: Usecase UI and Usecase UI Server. -* UI Docker: The main GUI for LCM and Monitor functions are performed in this module. The module provides Lifecycle CRUD operation interfaces and system alarm/performance monitor. +* usecase-ui Docker Image : The main GUI for LCM and Monitor functions are performed in this module. +This part provides Lifecycle CRUD operation UI and alarm/performance monitor. -* Server Docker: This module provides APIs for usecase-ui inside. Lifecycle Management and alarm/performance data Management are implemented by this module. +* usecase-ui-server Docker Image : This part provides APIs and postgreSQL Database for usecase-ui inside. diff --git a/docs/platform/index.rst b/docs/platform/index.rst index e163a097..6eb424a5 100644 --- a/docs/platform/index.rst +++ b/docs/platform/index.rst @@ -1,20 +1,46 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 -Platform --------- +.. _uui_index: + +Usecase-UI +========== + +|image0| + +.. |image0| image:: images/overall-architecture-in-onap.png + :width: 5.97047in + :height: 3.63208in + +Usecase-UI provides self-service management GUI and monitor GUI for operators and end-users. +This project targets identifying all GUI requirements which operators and end-users need ONAP to support, +coordinating GUI parts of each ONAP subsystem, filling the gaps for improving GUI functionalities for use cases. +* support customer and service type management GUI +* support E2E instance lifecycle management GUI +* support NS instance lifecycle management GUI +* support NS/VNF/PNF package management GUI +* support network management GUI for OTN Domain + +Usecase UI is composed of two parts that are usecase-ui and usecase-ui-server. +* Usecase UI (Frontend) + * providing customer and service type management GUI + * providing E2E instance lifecycle management GUI + * providing NS instance lifecycle management GUI + * providing NS/VNF/PNF package management GUI + * providing network management GUI for OTN Domain +* Usecase UI Server (Backend) + * providing postgreSQL for recording instance operation history + * providing template analysis result via calling modeling parser + * providing the way to call ONAP other components APIs -Usecase UI is composed of two parts that are usecase-ui and usecase-ui-server. It provides self-service management GUI and monitor GUI for operators and end-users. -This project targets identifying all GUI requirements which operators and end-users need ONAP to support, coordinating GUI parts of each ONAP subsystem, filling the gaps for improving GUI functionalities for use cases. .. toctree:: - :maxdepth: 1 - + :maxdepth: 2 + architecture.rst - offeredapis.rst - consumedapis.rst + offered_api.rst + consumed_api.rst delivery.rst - log-and-diagnostic-info.rst - installation.rst - configuration.rst - administration.rst - human-interfaces.rst + logging.rst + installation/index + administration.rst \ No newline at end of file diff --git a/docs/platform/installation.rst b/docs/platform/installation.rst deleted file mode 100644 index 42c7c151..00000000 --- a/docs/platform/installation.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - - -Installation ------------- - -In case the users want to deploy Usecase-UI, the steps for the installation is as follows. - -Prerequisites -^^^^^^^^^^^^^ - -#. MSB must be installed and started. The user knows the IP address of the MSB API gateway service. - -Steps -^^^^^ - -#. Start UI module of Usecase-UI using the command below: - - ``sudo docker run -i -t -d --name uui_ui -p 8080:8080 -e MSB_ADDR=$OPENO_IP:80 nexus3.onap.org:10001/onap/usecase-ui`` - -#. Start Server module of Usecase-UI using the command below: - - ``sudo docker run -i -t -d --name uui_server -p 8082:8082 -e MSB_ADDR=$OPENO_IP:80 -e MR_ADDR=$MR_IP:3904 nexus3.onap.org:10001/onap/usecase-ui/usecase-ui-server`` diff --git a/docs/platform/installation/index.rst b/docs/platform/installation/index.rst new file mode 100644 index 00000000..68d43b97 --- /dev/null +++ b/docs/platform/installation/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Usecase-UI Installation and User Guide +====================================== + + +.. toctree:: + :maxdepth: 1 + + installation/index + + user-guide/index diff --git a/docs/platform/installation/installation/index.rst b/docs/platform/installation/installation/index.rst new file mode 100644 index 00000000..5f84d857 --- /dev/null +++ b/docs/platform/installation/installation/index.rst @@ -0,0 +1,7 @@ +Usecase-UI Installation over OOM +-------------------------------- + +.. toctree:: + :titlesonly: + + uui-over-oom diff --git a/docs/platform/installation/installation/uui-over-oom.rst b/docs/platform/installation/installation/uui-over-oom.rst new file mode 100644 index 00000000..ea87d3e8 --- /dev/null +++ b/docs/platform/installation/installation/uui-over-oom.rst @@ -0,0 +1,75 @@ +.. contents:: + :depth: 3 +.. + + +**1. Scope** +============ + +This is a guide to help developer or tester to try to install Usecase-UI over OOM. + +**2. Component & function** +=========================== + +Usecase-UI Repositories + ++--------------------------+-----------------------------------------------------+ +| **Repo Name** | Description | ++==========================+=====================================================+ +| usecase-ui | Frontend of Usecase-UI | ++--------------------------+-----------------------------------------------------+ +| usecase-ui/server | Backend of Usecase-UI | ++--------------------------+-----------------------------------------------------+ + + +Usecase-UI Docker Images +:: + + nexus3.onap.org:10001/onap/usecase-ui:2.0.1 + nexus3.onap.org:10001/onap/usecase-ui-server:2.0.1 + + +**3. Usecase-UI Deployment** +============================ + +For initialization of docker there are 2 deployment options currently adpoted in ONAP : using heat template and using OOM. +From Casablanca release, OOM is the recommended way, so here mainly give the steps for OOM based deployment. +For OOM deployment you can refer to the below links: + +https://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_setup_kubernetes_rancher.html +https://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_quickstart_guide.html#quick-start-label + +1. First ensure Usecase-UI is marked true against field enabled in the oom/kubernetes/onap/values.yaml for successful deployment. + +2. Upgrade Images in OOM charts to ensure the component version is right, you should check the respective component image version in Usecase-UI charts. +If you need update the version, please modify values.yaml files. + +3. Rebuild all repos in helm. Every time you change the charts, you need to rebuild all repos to ensure the change can take effect. + +**4. Debug and Testing in running Pod** +======================================= + +When you are doing the testing and would like to replace some new file like binary or some script and want to check the new resut. +Before you replace the file to the running pod,you need to close the pod livenessProbe and readinessProbe first to avoid the pod restart. + +**5. Kubectl basic command** +============================ + +Basic operation of kubernests cluster(Take the namespace of onap in linux client as an example) + +* Check the cluster node +:: + + kubectl get node + +* Check cluster namespace +:: + + kubectl get ns + +* View the pod information and the pod on which the node is located, under the namespace specified (for example, namespace on onap) +:: + + kubectl get pod -o wide + kubectl get pod -n onap + diff --git a/docs/platform/installation/user-guide/index.rst b/docs/platform/installation/user-guide/index.rst new file mode 100644 index 00000000..311833da --- /dev/null +++ b/docs/platform/installation/user-guide/index.rst @@ -0,0 +1,7 @@ +Usecase-UI Using Guide +---------------------- + +.. toctree:: + :titlesonly: + + uui-guide diff --git a/docs/platform/installation/user-guide/uui-guide.rst b/docs/platform/installation/user-guide/uui-guide.rst new file mode 100644 index 00000000..d0a7f644 --- /dev/null +++ b/docs/platform/installation/user-guide/uui-guide.rst @@ -0,0 +1,28 @@ +.. contents:: + :depth: 3 +.. + + +**1. Confirm Usecase-UI MicroService** +====================================== + +Confirm that the Usecase-UI microservice has been successfully registered in MSB with OOM. + +**2. Register Usecase-UI MicroService** +======================================= + +If Usecase-UI microservice does not exist in MSB, please register them manually. +:: + + curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "usecaseui-server", "version": "v1", "url": "/api/usecaseui-server/v1","protocol": "REST", "nodes": [{"ip": "${UUI_SERVER_IP}","port": "8082"}]}' "http://${MSB_IP}:30280/api/microservices/v1/services" + curl -X POST -H "Content-Type: application/json" -d '{"serviceName": "usecaseui-ui", "version": "v1", "url": "/usecase-ui","path": "/iui/usecaseui","protocol": "UI", "nodes": [{"ip": "${UUI_IP}","port": "8080"}]}' "http://${MSB_IP}:30280/api/microservices/v1/services" + +**3. Open Usecase-UI Home** +=========================== + +Please open Usecase-UI dashboard page through your browser. + +:: + + http://${MSB_IP}:30280/iui/usecaseui/ + diff --git a/docs/platform/log-and-diagnostic-info.rst b/docs/platform/log-and-diagnostic-info.rst deleted file mode 100644 index d545a2a4..00000000 --- a/docs/platform/log-and-diagnostic-info.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging & Diagnostic Information ---------------------------------- - -In the Amsterdam release, the logs are kept inside the docker containers, which means that you can get the log information only when the docker is still running. - -Where to Access Information -^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The way to get the log is to run the command ``docker logs ${docker-name}`` in the command window: - -``sudo docker logs ${docker-name}`` - -Then the logs will be displayed in the command window. diff --git a/docs/platform/logging.rst b/docs/platform/logging.rst new file mode 100644 index 00000000..c6fb992c --- /dev/null +++ b/docs/platform/logging.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Usecase-UI Logging & Diagnostic Information +=========================================== + +You can get the log when the dockers start. +Use docker logs command to get the log. + +:: + + docker logs ${docker-name} + + diff --git a/docs/platform/offered_api.rst b/docs/platform/offered_api.rst new file mode 100644 index 00000000..0e170c6e --- /dev/null +++ b/docs/platform/offered_api.rst @@ -0,0 +1,8 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Usecase-UI Offered APIs +======================= + +The purpose of Usecase-UI is to provide Graphical User Interface for ONAP customers, so it does not provide any external interfaces. diff --git a/docs/platform/offeredapis.rst b/docs/platform/offeredapis.rst deleted file mode 100644 index a667b0c7..00000000 --- a/docs/platform/offeredapis.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - - -Offered APIs -------------- - -No offered APIs is provided in the Amsterdam release. Such functionalities will be provided in the future if necessary. diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 2eb117bf..17112c89 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -19,6 +19,7 @@ Version: 2.0.1 **New Features** - Management GUI for Customer and Service Type: customers query/create/delete and service type query/create/delete - Lifecycle Management GUI for CCVPN Use Case : CCVPN instances query/create/delte +- Using Modeling Parser : use modeling parser to implement CCVPN instance lifecycle management - Upgrade Multicloud API : support consistent identification of cloud region functional requirement - Maturity Enhancement : change Mysql DB to PostgreSQL -- cgit 1.2.3-korg