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

image0

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

image0

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

  1. Distribute Network Service package: POST  /api/catalog/v1/nspackages

  2. Distribute VF resource: POST /api/catalog/v1/vnfpackages

  3. Query operation progress for distributing network service/vf resource: GET  /api/nslcm/v1/jobs/{jobId}

  4. Delete Network Service package: DELETE  /api/catalog/v1/nspackages/{csarId}

  5. Delete VF resource: DELETE /api/catalog/v1/vnfpackages/{csarId}

SDC APIs

  1. Query all distributed End to End Service: GET /sdc/v1/catalog/services

  2. Query specified service: GET  /sdc/v1/catalog/services/{uuid}/metadata

  3. Query VF resource: GET /sdc/v1/catalog/resources

  4. Download csar file: GET /sdc/v1/catalog/services/{uuid}/toscaModel

A&AI APIs

  1. Query all customers: /aai/v11/business/customers

  2. Query all service types for the specified customer: /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions

  3. Query all service instances: /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances

  4. Query all cloud regions: /aai/v11/cloud-infrastructure/cloud-regions

  5. Query all sdnc controllers: /aai/v11/external-system/esr-thirdparty-sdnc-list

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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}

  12. Query NST associated with 5G slicing service: GET /api/aai-sdc/v13/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}

  13. 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

  1. Instantiate service instance: POST /ecomp/mso/infra/e2eServiceInstances/v3

  2. Query operation progress for service instantiation/termination: GET /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}

  3. Terminate service instance: DELETE /ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}

  4. Query operation progress: GET /api/so-serviceInstances/v3/{serviceId}/operations/{operationId}

  5. Activate 5G slicing service: POST /api/so-serviceInstances/v3/{serviceInstanceId}/activate

  6. Deactivate 5G slicing service: POST /api/so-serviceInstances/v3/{serviceInstanceId}/deactivate

  7. Terminate 5G slicing service: DELETE /api/so-serviceInstances/v3/{serviceInstanceId}

  8. Query 5G slicing task: GET /api/so-orchestrationTasks/v4

  9. Update 5G slicing task: PUT /api/so-orchestrationTasks/v4/{taskId}

  10. Commit 5G slicing task: POST /api/so-orchestrationTasks/v4/{taskId}/commit

  11. Submit 5G slicing order: POST /api/so-serviceInstances/v3

MSB APIs

  1. 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

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

  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 to update the version, please modify values.yaml files.

  1. 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

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

homepage

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

customer

4.3. Services Module

This module consists of two parts. One is Lifecycle Management, the other is 5G Slicing Management.

  • Lifecycle Management

lifecycle

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.

CSMF Management Page

Create CSMF Slicing

The second part is NSMF component which includes two different modules.

Slicing Task Management

This module is responsible for presenting the tasks created in CSMF portal and processing those tasks.

Slicing Resource Management

This module is responsible for listing all the NS, NSI and NSSI resource and showing the relation between them.

4.4. Package Management

package

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.

Slicing Monitor

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