X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Fpm%2Findex.rst;fp=docs%2Fpm%2Findex.rst;h=64d36f76647ada4c76c77fdc37730fe0602bb9b0;hb=463f8d22fb7b67cdbe7df8878ff75df5a186f2b1;hp=0000000000000000000000000000000000000000;hpb=0f9b22f340ee994a188627d17031196eef090fc2;p=oam%2Fnf-oam-adopter.git diff --git a/docs/pm/index.rst b/docs/pm/index.rst new file mode 100644 index 0000000..64d36f7 --- /dev/null +++ b/docs/pm/index.rst @@ -0,0 +1,259 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. + +PM REST Manager +############### + +PM REST Manager library follows `VES Event Listener 7.1 `_ + +.. toctree:: + :maxdepth: 3 + :caption: Contents: + +PM VES Message +============== + +Datatype: commonEventHeader +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Field + - Mandatory + - Default value + - Configurable + - Runtime + - Notes + * - domain + - yes + - measurement + - no + - no + - none + * - eventId + - yes + - none + - yes + - yes + - Unique id generated from combination of multiple fields, selection of fields configurable via mapping config file. + * - eventName + - yes + - PM Notification + - yes + - yes + - value configurable via mapping config file. + * - priority + - yes + - HIGH + - yes + - no + - value configurable via mapping config file. + * - reportingEntityName + - yes + - NF-OAM-ADOPTER + - yes + - yes + - value configurable via mapping config file. + * - startEpochMicrosec + - yes + - none + - none + - yes + - System time at the moment of notification generation + * - lastEpochMicrosec + - yes + - none + - none + - yes + - System time at the moment of notification generation + * - sequence + - yes + - none + - no + - yes + - incremental per line on csv file. Each file will start processing will start from sequence 0. + * - sourceName + - yes + - none + - yes + - yes + - value configurable via mapping config file. + * - version + - yes + - 4.1 + - no + - no + - Library only enforces mandatory fields for 4.1 version + * - vesEventListenerVersion + - yes + - 7.1 + - no + - no + - Library only enforces mandatory fields for 7.1 version + * - eventType + - no + - none + - no + - no + - none + * - nfcNamingCode + - no + - none + - no + - no + - none + * - nfNamingCode + - no + - none + - no + - no + - none + * - nfVendorName + - no + - ISCO + - yes + - no + - value configurable via mapping config file. + * - reportingEntityId + - no + - ONAP-ISCO-ADAPTER + - yes + - no + - value configurable via mapping config file. + * - internalHeader Fields + - no + - none + - no + - no + - none + * - sourceId + - no + - none + - none + - no + - none + * - timeZoneOffset + - no + - none + - no + - no + - none + + +Datatype: measurementFields +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Field + - Mandatory + - Default value + - Configurable + - Runtime + - Notes + * - additionalFields + - no + - none + - yes + - yes + - values configurable via mapping config file. + * - additionalMeasurements + - yes + - none + - yes + - yes + - values configurable via mapping config file. + * - measurementInterval + - yes + - none + - yes + - no + - value configurable via mapping config file. + * - measurementFieldsVersion + - yes + - 4.0 + - no + - no + - none + +REST PM Configuration +===================== + +Rest Adapter configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Configuration file **application.yml** contains global definitions required to be consumed by PM REST adapters services. + +- **token-api-username** Defines the username to be used for login +- **synchronization-time-start** Defines the time for execution of pull of PM files and forwarding as VES Message +- **synchronization-time-frequency** Defines the time for execution of pull of PM files and forwarding as VES Message +- **mapping-config-path** Defines the path where mapping configuration file is located + +Rest SB Client Adapter configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **ran-token-endpoint** Defines rand endpoint from where token will be obtained +- **ran-pm-endpoint:** Defines rand endpoint from where ZIP with PM files will be GET. +- **ran-time-zone-offset-endpoint** Defines rand endpoint from where we GET the timezone from the device. + +.. literalinclude:: pm-rest-manager.yaml + :language: YAML + +Mapping Configuration +~~~~~~~~~~~~~~~~~~~~~ + +Configuration file **pm-ves-message-mapping.yaml** contains all definitions required to define the mapping +from ZIP file with collection of csv files information to VES Message format + +.. note:: + File name can be changed as long it matches with configured **mapping-config-path** and file is in yaml format + +- **reporting-entity-name** Reporting entity name assigned to the event +- **reporting-entity-id** Reporting entity id assigned to the event +- **nf-vendor-name** Vendor name assigned to the event +- **event-source-type** Source type assigned to the event +- **event-name** Event name assigned to the event +- **measurement-interval** Interval over which measurements are being reported in seconds +- **priority** Priority assigned to the event + +- **CSV** + - **source-name** Column names containing containing information + - **source-name-regex** The regular expression to which source-name string value is to be matched and removed + - **event-id** Collection of columns names to generate an uniqueID + - **additional-fields** Collection of columns names containing information to be attached + - **additional-measurements-name** Name assigned to AdditionalMeasurement array + - **additional-measurements** Collection of columns names containing information to be attached + - **batch-size** File will be processed and send in small batches event notifications. Size define the number of events which will contain each notification + +.. literalinclude:: pm-ves-message-mapping.yaml + :language: YAML + +PM Adapter Configuration +======================== + +PM Adapters can be instantiated at runtime + +Create a PM Adapter +~~~~~~~~~~~~~~~~~~~ + +**POST** ``https://:/adapters/adapter`` + +.. literalinclude:: create-adapter.json + :language: JSON + +Get PM Adapters +~~~~~~~~~~~~~~~ + +**GET** ``https://:/adapters/`` + +.. literalinclude:: get-adapters.json + :language: JSON + + +Delete PM Adapter +~~~~~~~~~~~~~~~~~ + +**DELETE** ``https://:/adapters/adapter/10.53.40.50``