From 98aeaac496ac868a97ce9096c1c51ce9a133992a Mon Sep 17 00:00:00 2001 From: Jakub Dominik Date: Thu, 14 Oct 2021 15:12:55 +0200 Subject: Extend SDNC persistent service to store CM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend SDNC persistent service to store received CM events into Elasticsearch and MariaDB Issue-ID: CCSDK-3497 Signed-off-by: Jakub Dominik Change-Id: I39983e59ef6512ad6c3864d47aebe1d615897146 Signed-off-by: Michael DÜrre --- .../sdnr/wt/dataprovider/model/DataProvider.java | 5 + .../src/main/yang/data-provider@2020-11-10.yang | 139 +++++++++++++++++++++ 2 files changed, 144 insertions(+) (limited to 'sdnr/wt/data-provider/model') diff --git a/sdnr/wt/data-provider/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/model/DataProvider.java b/sdnr/wt/data-provider/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/model/DataProvider.java index 128138ee3..8a5e91c63 100644 --- a/sdnr/wt/data-provider/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/model/DataProvider.java +++ b/sdnr/wt/data-provider/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/model/DataProvider.java @@ -4,6 +4,8 @@ * ================================================================================================= * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. * ================================================================================================= + * Update Copyright (C) 2021 Samsung Electronics Intellectual Property. All rights reserved. + * ================================================================================================= * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * @@ -19,6 +21,7 @@ package org.onap.ccsdk.features.sdnr.wt.dataprovider.model; import java.util.List; import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmlogEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionlogEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultcurrentEntity; @@ -38,6 +41,8 @@ public interface DataProvider extends ArchiveCleanProvider { void writeFaultLog(FaultlogEntity fault); + void writeCMLog(CmlogEntity cm); + void updateFaultCurrent(FaultcurrentEntity fault); /** diff --git a/sdnr/wt/data-provider/model/src/main/yang/data-provider@2020-11-10.yang b/sdnr/wt/data-provider/model/src/main/yang/data-provider@2020-11-10.yang index be2c638e2..8b905f49e 100644 --- a/sdnr/wt/data-provider/model/src/main/yang/data-provider@2020-11-10.yang +++ b/sdnr/wt/data-provider/model/src/main/yang/data-provider@2020-11-10.yang @@ -28,6 +28,8 @@ module data-provider { Copyright 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. + Update Copyright 2021 Samsung Electronics Intellectual Property. + All rights reserved. Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. @@ -75,6 +77,10 @@ module data-provider { description "faultlog information"; } + enum cmlog { + description + "CMlog information"; + } enum historicalperformance15min { description "performance data"; @@ -267,6 +273,69 @@ module data-provider { "According to ITU-T M.3160"; } + typedef cm-notification-type { + type enumeration { + enum notifyMOICreation { + description + "notification type"; + } + enum notifyMOIDeletion { + description + "notification type"; + } + enum notifyMOIAttributeValueChanges { + description + "notification type"; + } + enum notifyMOIChanges { + description + "notification type"; + } + } + } + + typedef cm-source-indicator { + type enumeration { + enum RESOURCE_OPERATION { + description + "source indicator type"; + } + enum MANAGEMENT_OPERATION { + description + "source indicator type"; + } + enum SON_OPERATION { + description + "source indicator type"; + } + enum UNKNOWN { + description + "source indicator type"; + } + } + } + + typedef cm-operation { + type enumeration { + enum CREATE { + description + "source operation type"; + } + enum DELETE { + description + "source operation type"; + } + enum REPLACE { + description + "source operation type"; + } + enum NULL { + description + "source operation type for other than notifyMOIChanges notification type"; + } + } + } + typedef source-type { type enumeration { enum Ves { @@ -409,6 +478,41 @@ module data-provider { } } + grouping cm { + description + "CM event of an object"; + leaf notification-type { + type cm-notification-type; + description + "The reported CM notification type."; + } + leaf notification-id { + type string; + description + "CM notification id"; + } + leaf source-indicator { + type cm-source-indicator; + description + "CM source indicator."; + } + leaf path { + type string; + description + "CM path."; + } + leaf operation { + type cm-operation; + description + "CM operation."; + } + leaf value { + type string; + description + "CM JSON output value"; + } + } + grouping attribute-change { description "update change of an attribute"; @@ -463,6 +567,21 @@ module data-provider { uses faultlog-entity; } + grouping cmlog-entity { + description + "Changed cm indication"; + uses source-reference; + uses object-change-reference; + uses cm; + uses entity-id; + } + + container cmlog { + description + "builder"; + uses cmlog-entity; + } + grouping eventlog-entity { description "One change event of devices"; @@ -1543,6 +1662,26 @@ module data-provider { } } + rpc read-cmlog-list { + description + "Get list of CM entries according to filter"; + input { + uses entity-input; + } + output { + container pagination { + uses pagination-output-g; + description + "The pagination details used by the provider to filter the data."; + } + list data { + uses cmlog-entity; + description + "The output data as list of cm entities."; + } + } + } + rpc read-eventlog-list { description "Get list of event log entities according to filter"; -- cgit 1.2.3-korg