DMI-Plugin Documentation

DMI-Plugin Overview

The DMI-Plugin is used to allow the DMI API’s access to the corresponding NCMP API’s. For offered API’s please refer to the DMI-Plugin Design page.

Contact Information

onap-discuss@lists.onap.org

DMI-Plugin Architecture

High Level Component Definition and Architectural Relationships

The DMI-Plugin provides a gateway for registration and syncing of CM Handles within CPS.

_images/cps-r9-ncmp-dmi-plugin-interface-diagram.png

API definitions

The DMI-Plugin provides following interfaces.

Interface name

Interface definition

Interface capabilities

Protocol

CPS-E-05

Provides external clients with xNF data access and module information

  • Create data

  • Delete data

  • Update data

  • Read data

  • Query data

  • Query module references

REST

CPS-NCMP-I-01

DMI-Plugin Inventory

  • Register Plug-in CM-Handles

REST

DMI-I-01

Provides NCMP with xNF data access and module information

  • Create data

  • Delete data

  • Update data

  • Read data

  • Query data

  • Query module references

REST

More details on the CPS interface CPS-E-05 which is responsible for the DMI-Plugin can be found on the CPS Architecture page

DMI-Plugin Admin Guide

Please refer to the common CPS Admin Guide

DMI-Plugin Design

Offered APIs

The DMI-Plugin supports the public APIs listed in the link below:

DMI Rest OpenApi Specification

View Offered APIs

The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). The OAS 3, which is based on the original “Swagger Specification”, is being widely used in API developments.

Specification can be accessed using following URI:

http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket

Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core and CPS-NCMP using the drop down table in the top right:

http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/

Consumed APIs

  • SDNC: REST based interface exposed by the SDNC client. This is used to retrieve the yang resources and modules for CPS.

DMI-Plugin Modeling

The DMI-Plugin acts as a proxy and as such does not have its own data model. For more information on the data which is passed through the DMI-Plugin, please refer to NCMP Modeling.

DMI-Plugin Deployment

Deployment

Refer to CPS-Deployment page for deployment documentation related to DMI-Plugin and all CPS components.

Additional DMI-Plugin Core Customisations

Application Properties

The following table lists properties that can be specified as helm chart values to configure for the application being deployed. This list is not exhaustive.

Property

Description

Default Value

config.appUserName

User name used by the DMI-Plugin to authenticate users for the REST APIs that it exposes.

ncmpuser

config.appUserPassword

Password used by the DMI-Plugin to authenticate users for the REST APIs that it exposes. If not defined, the password is generated when deploying the application. See also CPS Credentials Retrieval

Not defined

config.dmiServiceName

DMI-Plugin hostname and port.

Not defined

config.cpsCore.username

Internal user name used by DMI-Plugin to connect to the CPS-Core service.

cpsuser

config.cpsCore.password

Internal password used by DMI-Plugin to connect to CPS-Core service.

Not defined

config.sdnc.url

SDNC host name and port.

http://sdnc:8181

config.sdnc.username

Internal user name used by DMI-Plugin to connect to the SDNC.

admin

config.sdnc.Password

Internal password used by DMI-Plugin to connect to the SDNC.

Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U

config.sdnc.topologyId

SDNC topology Id.

topology-netconf

DMI-Plugin Docker Installation

DMI-Plugin can also be installed in a docker environment. Latest docker-compose is included in the repo to start all the relevant services. The instructions are covered in the README

DMI-Plugin Release Notes

Version: 1.1.0

Release Data

CPS Project

DMI-Plugin

Docker images

onap/ncmp-dmi-plugin:1.1.0

Release designation

1.1.0 Jakarta

Release date

2022 March 15

Features

  • CPS-637 Support Update operation for datastore pass-through running

  • CPS-639 Support Delete operation for datastore pass-through running

  • CPS-784 Add examples to DMI-Plugin API Spec

Bug Fixes

  • CPS-841 Upgrade log4j to 2.17.1 as recommended by ONAP SECCOM

Known Limitations, Issues and Workarounds

System Limitations

None

Known Vulnerabilities

None

Workarounds

None

Security Notes

Fixed Security Issues

None

Known Security Issues

None

Version: 1.0.3

Release Data

CPS Project

DMI-Plugin

Docker images

onap/ncmp-dmi-plugin:1.0.3

Release designation

1.0.3 Istanbul

Release date

2022-07-01

Bug Fixes

  • CPS-841 Update log4j version to 2.17.1 due to security vulnerability

Version: 1.0.2

Release Data

CPS Project

DMI-Plugin

Docker images

onap/ncmp-dmi-plugin:1.0.2

Release designation

1.0.2 Istanbul

Release date

2021-16-12

Bug Fixes

  • CPS-820 Update log4j version due to security vulnerability

Version: 1.0.1

Release Data

CPS Project

DMI-Plugin

Docker images

onap/ncmp-dmi-plugin:1.0.1

Release designation

1.0.1 Istanbul

Release date

2021-14-10

Bug Fixes

  • CPS-653 cmHandleProperties not supported by dmi in fetch modules

  • CPS-659 DMI does not set CREATE Response code for passthrough-running create use-case

  • CPS-669 Improvements in the NCMP-DMI plugin OOM charts

  • CPS-678 Passthrough read only supports known parameters (depth&field)

  • CPS-679 Passthrough does not support resourceIdentifier with / tokens

  • CPS-706 get moduleschema/yangresouce endpoint not working

Known Limitations, Issues and Workarounds

System Limitations

  • CPS-719 Passthrough query options do not support comma (,) token in values

Known Vulnerabilities

None

Workarounds

None

Security Notes

Fixed Security Issues

None

Known Security Issues

None

Version: 1.0.0

Release Data

CPS Project

DMI-Plugin

Docker images

onap/ncmp-dmi-plugin:1.0.0

Release designation

1.0.0 Istanbul

Release date

2021-14-09

Features

  • Implement plugin registration.

  • Retrieve data from cmHandles using ncmp-datastores passthrough.

  • Retrieve Yang Resources from one or more modules of a CM Handle.

Deliverables

Software Deliverables

Repository

SubModules

Version & Docker Image (if applicable)

cps/ncmp-dmi-plugin

onap/ncmp-dmi-plugin:1.0.0

Bug Fixes

  • CPS-504 Checkstyle rules are not enforced for cps-ncmp-dmi-plugin

  • CPS-589 Json for Yang Resources does not contain name and revision tags

  • CPS-617 DMI base path does not conform to agreed API URL

Summary

Following DMI-Plugin components are available with default ONAP/DMI-plugin installation.

  • Platform components

  • Service components

  • Additional resources that CPS utilizes deployed using ONAP common charts

Below service components (mS) are available to be deployed on-demand.

Under OOM (Kubernetes) all CPS component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster.

Known Limitations, Issues and Workarounds

System Limitations

None

Known Vulnerabilities

  • CPS-653 cmHandleProperties not supported by dmi in fetch modules

  • CPS-659 DMI does not set CREATE Response code for passthrough-running create use-case

Workarounds

None

Security Notes

Fixed Security Issues

None

Known Security Issues

None

References

For more information on the ONAP Istanbul release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links:

CPS-NCMP Documentation

CPS-Temporal Documentation

  • CPS-Temporal