Usecase-UI(Use Case User Interface)
This document is aimed to give the users some brief introductions on Usecase-UI from different aspects. The users could find useful information, e.g. the architecture, the APIs and the installation steps, etc. as well as the release notes of Usecase-UI in this document.
ONAP Usecase-UI
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 various 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.
support 5G slicing management GUI.
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 5G Slicing network management and monitor 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 Architecture
- Usecase-UI includes two modulesUsecase-UI Frontend and Usecase-UI Backend.
Usecase UI UI (Frontend Module)
Usecase UI Server (Backend Module)
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 module provides APIs of ONAP’s other components (e.g So,AAI) to Usecase-UI frontend.
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.
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
Query 5G slicing service instances:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-role=e2eslice-service
Query 5G slicing NSI instances:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-role=nsi
Query 5G slicing NSSI instances:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-role=nssi
Query 5G slicing service profiles:
GET /api/aai-business/v19/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/service-profiles
Query allotted resources of 5G slicing service:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources
Query information associated with 5G slicing service/NSI/NSSI/:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}
Query NST associated with 5G slicing service:
GET /api/aai-sdc/v13/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}
Query 5G slicing order:
GET /api/aai-business/v13/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-role=communication-service
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}
Query operation progress:
GET /api/so-serviceInstances/v3/{serviceId}/operations/{operationId}
Activate 5G slicing service:
POST /api/so-serviceInstances/v3/{serviceInstanceId}/activate
Deactivate 5G slicing service:
POST /api/so-serviceInstances/v3/{serviceInstanceId}/deactivate
Terminate 5G slicing service:
DELETE /api/so-serviceInstances/v3/{serviceInstanceId}
Query 5G slicing task:
GET /api/so-orchestrationTasks/v4
Update 5G slicing task:
PUT /api/so-orchestrationTasks/v4/{taskId}
Commit 5G slicing task:
POST /api/so-orchestrationTasks/v4/{taskId}/commit
Submit 5G slicing order:
POST /api/so-serviceInstances/v3
MSB APIs
Service Registration:
/api/microservices/v1/services
Usecase-UI Delivery
Usecase-UI mainly comprises two modules: Usecase UI and Usecase UI Server.
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.
usecase-ui-server Docker Image : This part provides APIs and postgreSQL Database for usecase-ui inside.
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}
Usecase-UI Installation and User Guide
Usecase-UI Installation over OOM
Contents
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:4.0.1
nexus3.onap.org:10001/onap/usecase-ui-server:4.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
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 to update the version, please modify values.yaml files.
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 result. 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 kubernetes 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
Usecase-UI Using Guide
Contents
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 -k -X POST -H "Content-Type: application/json" -d '{"serviceName": "usecaseui-ui", "version": "v1", "url": "/usecase-ui","path": "/iui/usecaseui","protocol": "UI", "enable_ssl": true, "nodes": [{"ip": "${UUI_IP}","port": "8443"}]}' "https://${MSB_IP}:30283/api/microservices/v1/services"
curl -k -X POST -H "Content-Type: application/json" -d '{"serviceName": "usecaseui-server", "version": "v1", "url": "/api/usecaseui-server/v1","protocol": "REST", "enable_ssl": true, "nodes": [{"ip": "${UUI_SERVER_IP}","port": "8082"}]}' "https://${MSB_IP}:30283/api/microservices/v1/services"
3. Open Usecase-UI Home
Please open Usecase-UI dashboard page through your browser.
http://${MSB_IP}:30280/iui/usecaseui/
https://${MSB_IP}:30283/iui/usecaseui/
4. Specific Pages Function
Usecase-UI project consists of 5 modules which are Home, Cusomer, Monitor, Services and Network Topology.
4.1. Home Module
Home module is the entrance of the whole project. In this module, users can have a glimpse of the general infomation of specific modules. e.g. the SERVICES block shows the general statistic data of Lifecycle management module and the PACKAGE block shows the total numbers of NS, VNF and PNF which are shown in Package Management module. Also, the ALARM and VM PERFORMANCE block show the infomation of system alarm. If users need more, the View Details
button will help.
4.2. Cusomer Module
4.3. Services Module
This module consists of two parts. One is Lifecycle Management, the other is 5G Slicing Management.
Lifecycle Management
In Frankfurt Release, MDONS instance has been added to the orginal service type. Click the following link to see more detal: https://wiki.onap.org/display/DW/UUI
5G Slicing Management
This module consists of two parts. The first part is CSMF component which provides the functions of creating network slicing and displaying the created slicing. Also, customers can use this page to activate, deactivate and terminate the slicing. In Honolulu Release, the coverageArea number param is added. Users could input the grid numbers to specify the area where they want the slicing service to cover. For Coverage Area Number, please enter the rectangle grid numbers corresponding to the physical coverage areas on the sample image shown on GUI.
Note: The sample image file is named as ‘coverageAreaMap.png’ and it is stored in the frontend project of usecase-ui: usecase-ui\usecaseui-portal\src\assets\images\coverageAreaMap.png
. If the map of a different region is required, you can replace the sample image with the same name in the frontend project. And you also need to re-release the frontend project docker container.
The second part is NSMF component which includes two different modules.
This module is responsible for presenting the tasks created in CSMF portal and processing those tasks.
This module is responsible for listing all the NS, NSI and NSSI resource and showing the relation between them.
4.4. Package Management
4.5. Network Topology Module
4.6. Monitor Module
This module is responsible for presenting all kinds of monitoring information. In Frankfurt Release, 5G Slicing monitoring data can be present.
Administration
Usecase-UI components have been dockerized, can use docker command to manage Usecase-UI.
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...]
Usecase UI Release Notes
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.
Version: 4.0.7
- Release Date
2022-04-27
- New Features
IBN service : A common user interface for CCVPN, E2E Slicing and other usecases by intent-based service; A common data set for NLP training; Enhancing the NLP algorithm and model for more accurate intent translation.
CCVPN : Ability to display underlay L1 network topology and resource utilization status; Ability to display installation and configuration for each OTN tunnel.
- Released Components
usecase-ui 4.0.7
usecase-ui-server 4.0.7
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 4.0.5
- Release Date
2021-10-12
- New Features
IBN service : In I release, intent instance will be developed to support the E2E Slicing and CCVPN, provides a scenario of users’ intent guarantee and interacting.
- Released Components
usecase-ui 4.0.5
usecase-ui-server 4.0.5
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 4.0.1
- Release Date
2021-04-15
- New Features
IBN service : In H release, a new IBN NLP micro-service is added and the ability of creating CSMF service is expanded, creating by NLP input.
E2E endpoint enhancement: In H release, usecase-ui supports the presentation of the relationship between AN, TN and CN.
Slicing Coverage Area: In H release, usecase-ui supports the specific coverage area number param while creating slicing service. Users can input the grid number in base of CPS service division.
- Released Components
usecase-ui 4.0.1
usecase-ui-server 4.0.1
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 3.0.6
- Release Date
2020-11-19
- New Features
KPI monitoring GUI : In G release, usecase-ui-server change the monitoring data origin of 5G slicing to DCAE for better and quicker performance.
5G network GUI : In G release, usecase-ui supports the connection of AN, TN and CN.
Java: In G release, usecase-ui-server and usecase-ui update all the pods to Java 11 for the requirement of community.
- Released Components
usecase-ui 3.0.6
usecase-ui-server 3.0.6
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 3.0.4
- Release Date
2020-05-28
- New Features
5G network GUI : In F release, we support the whole flow of creating 5G network slicing service. We provide CSMF portal for the network slicing customers and NSMF portal for the network slicing operators. What’s more, we enhance the Monitor Module for monitoring 5G network slicing.
CCVPN GUI : In F release, UUI supports CCVPN-E-LINE over OTN Inter Domain Links, as well as the Multi-domain multi-layer Optical Service Orchestration.
Https: In F release, we update the frontend and backend service to https
- Released Components
usecase-ui 3.0.4
usecase-ui-server 3.0.4
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 2.0.2
- Release Date
2019-10-10
- New Features
Adaptive Pages : change the Home, Customer, Lifecycle Management and Package Management modules to adaptive pages that can be normally displayed in all screen sizes
Mock Data Scheme : build mock data scheme to support the development and preview in local environment in case of lack of server environment
Document Enhancement : enrich README.md to introduce the general situation and add CHANGELOG.md to record the commit messages
Structure Optimization : restructure the project to increase the development efficiency and improve the performance
Function Optimization : delete useless modules and simplify some apis to improve loading speed of the project
- Released Components
usecase-ui 2.0.2
usecase-ui-server 2.0.2
- Bug Fixes
Invalid Image Path : change the invalid image path in CSS and HTML files
Error in Document : fix all errors in project document
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 2.0.1
- Release Date
2019-06-06
- 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
- Released Components
usecase-ui 2.0.1
usecase-ui-server 2.0.1
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 1.2.0
- Release Date
2018-11-30
- New Features
Lifecycle Management GUI for vCPE use case
Network Management GUI for OTN Domain
- Released Components
usecase-ui 1.2.2
usecase-ui-server 1.2.1
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 1.1.0
- Release Date
2018-06-07
- New Features
Lifecycle Management GUI for VoLTE use case : support NS/VNF manual scaling in/out
Package management GUI : support NS/VNF/PNF packages upload/onboarding
- Released Components
usecase-ui 1.1.1
usecase-ui-server 1.1.1
- Bug Fixes
NA
- Known Issues
NA
Security Notes
Usecase-UI code has been formally scanned during build time using NexusIQ and all critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The Usecase-UI open critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links
- Upgrade Notes
NA
- Deprecation Notes
NA
- Other
NA
Version: 1.0.0
- Release Date
2017-11-16
- New Features
Lifecycle Management : The feature provides GUI for the users to create, query, update and delete service instances.
Monitor : The feature is provides GUI for the users to monitor system alarms and VNFs performance.
- Released Components
usecase-ui
usecase-ui-server
- Bug Fixes
NA
- Known Issues
NA
- Security Notes
NA
- Upgrade Notes
This is the inital release.
- Deprecation Notes
NA
- Other
NA
End of Release Notes