aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop
diff options
context:
space:
mode:
authorjhh <jorge.hernandez-herrero@att.com>2022-11-04 11:53:50 -0500
committerJorge Hernandez <jorge.hernandez-herrero@att.com>2022-11-14 14:36:25 +0000
commit1f1903bb4aaac2fc9799c7adaa4c61333bb019f8 (patch)
treed94b9010eac036d5705570a0ef6ebf44540d9d46 /controlloop
parent59e7e16a90ce6da14979670f755ab3632057c02f (diff)
Support A1 PMS Actor for SON use case
Issue-ID: POLICY-4444 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I1811b79513616aab813b6d97823d6c1d2bbbee47 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> (cherry picked from commit 4b5cbc8b1bc57316dd1cad554fad98235d361053)
Diffstat (limited to 'controlloop')
-rw-r--r--controlloop/common/controller-usecases/pom.xml8
-rw-r--r--controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties6
-rw-r--r--controlloop/common/controller-usecases/src/test/resources/config/usecases-controller.properties10
-rw-r--r--controlloop/common/eventmanager/pom.xml8
-rw-r--r--controlloop/common/feature-controlloop-management/pom.xml11
-rw-r--r--controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-RSP-topic.properties21
-rw-r--r--controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-topic.properties23
-rw-r--r--controlloop/common/feature-controlloop-management/src/main/feature/config/event-manager.properties6
-rw-r--r--controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java24
-rw-r--r--controlloop/common/rules-test/src/main/resources/vsonh/v5G.son.A1.sdnr.success.json2
10 files changed, 103 insertions, 16 deletions
diff --git a/controlloop/common/controller-usecases/pom.xml b/controlloop/common/controller-usecases/pom.xml
index ffae02598..ff99dbd81 100644
--- a/controlloop/common/controller-usecases/pom.xml
+++ b/controlloop/common/controller-usecases/pom.xml
@@ -3,7 +3,7 @@
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+ Copyright (C) 2020-2022 AT&T 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.
@@ -154,6 +154,12 @@
</dependency>
<dependency>
<groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
+ <artifactId>actor.a1p</artifactId>
+ <version>${policy.models.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
<artifactId>actor.so</artifactId>
<version>${policy.models.version}</version>
<scope>provided</scope>
diff --git a/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties b/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties
index 076d6077a..5ec8c578f 100644
--- a/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties
+++ b/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START======================================================
# ONAP
# ===============================================================================
-# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2020-2022 AT&T 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.
@@ -69,6 +69,10 @@ actor.service.SDNR.sinkTopic=SDNR-CL
actor.service.SDNR.sourceTopic=SDNR-CL-RSP
actor.service.SDNR.operations.any.placeholder=
+actor.service.A1P.sinkTopic=A1-P
+actor.service.A1P.sourceTopic=A1-P-RSP
+actor.service.A1P.operations.any.placeholder=
+
actor.service.SO.clientName=SO
actor.service.SO.pollPath=orchestrationRequests/v5/
actor.service.SO.maxPolls=20
diff --git a/controlloop/common/controller-usecases/src/test/resources/config/usecases-controller.properties b/controlloop/common/controller-usecases/src/test/resources/config/usecases-controller.properties
index f90b1d18c..dd1d35fca 100644
--- a/controlloop/common/controller-usecases/src/test/resources/config/usecases-controller.properties
+++ b/controlloop/common/controller-usecases/src/test/resources/config/usecases-controller.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
-# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2020,2022 AT&T 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.
@@ -24,7 +24,7 @@ rules.groupId=org.onap.policy.controlloop
rules.artifactId=usecases
rules.version=1.1.0
-noop.source.topics=DCAE_TOPIC,APPC-CL,APPC-LCM-WRITE,SDNR-CL-RSP,POLICY-CL-MGT,APPC-LCM-READ
+noop.source.topics=DCAE_TOPIC,APPC-CL,APPC-LCM-WRITE,SDNR-CL-RSP,POLICY-CL-MGT,APPC-LCM-READ,A1-P-RSP
noop.source.topics.DCAE_TOPIC.events=\
org.onap.policy.controlloop.CanonicalOnset,org.onap.policy.controlloop.CanonicalAbated
@@ -47,13 +47,17 @@ noop.source.topics.SDNR-CL-RSP.events=org.onap.policy.sdnr.PciResponseWrapper
noop.source.topics.SDNR-CL-RSP.events.org.onap.policy.sdnr.PciResponseWrapper.filter=[?($.type == 'response')]
noop.source.topics.SDNR-CL-RSP.events.custom.gson=org.onap.policy.sdnr.util.Serialization,gson
+noop.source.topics.A1-P-RSP.events=org.onap.policy.sdnr.PciResponseWrapper
+noop.source.topics.A1-P-RSP.events.org.onap.policy.sdnr.PciResponseWrapper.filter=[?($.type == 'response')]
+noop.source.topics.A1-P-RSP.events.custom.gson=org.onap.policy.sdnr.util.Serialization,gson
+
noop.source.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification
noop.source.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
noop.source.topics.APPC-LCM-READ.events=org.onap.policy.appclcm.AppcLcmDmaapWrapper
noop.source.topics.APPC-LCM-READ.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson
-noop.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT,SDNR-CL,DCAE_CL_RSP
+noop.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT,SDNR-CL,DCAE_CL_RSP,A1-P
noop.sink.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification
noop.sink.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
diff --git a/controlloop/common/eventmanager/pom.xml b/controlloop/common/eventmanager/pom.xml
index 074d4a207..12768e4d7 100644
--- a/controlloop/common/eventmanager/pom.xml
+++ b/controlloop/common/eventmanager/pom.xml
@@ -2,7 +2,7 @@
============LICENSE_START=======================================================
eventmanager
================================================================================
- Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
+ Copyright (C) 2017-2022 AT&T Intellectual Property. All rights reserved.
Modifications Copyright (C) 2019 Nordix Foundation.
Modifications Copyright (C) 2019-2020 Bell Canada.
================================================================================
@@ -62,6 +62,12 @@
</dependency>
<dependency>
<groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
+ <artifactId>actor.a1p</artifactId>
+ <version>${policy.models.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
<artifactId>actor.appc</artifactId>
<version>${policy.models.version}</version>
<scope>provided</scope>
diff --git a/controlloop/common/feature-controlloop-management/pom.xml b/controlloop/common/feature-controlloop-management/pom.xml
index acc2fe283..a3d4b3d8b 100644
--- a/controlloop/common/feature-controlloop-management/pom.xml
+++ b/controlloop/common/feature-controlloop-management/pom.xml
@@ -210,6 +210,17 @@
</dependency>
<dependency>
<groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
+ <artifactId>actor.a1p</artifactId>
+ <version>${policy.models.version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>guava</artifactId>
+ <groupId>com.google.guava</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
<artifactId>actor.so</artifactId>
<version>${policy.models.version}</version>
<exclusions>
diff --git a/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-RSP-topic.properties b/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-RSP-topic.properties
new file mode 100644
index 000000000..adf2b23a4
--- /dev/null
+++ b/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-RSP-topic.properties
@@ -0,0 +1,21 @@
+# ============LICENSE_START=======================================================
+# ONAP
+# ================================================================================
+# Copyright (C) 2022 AT&T 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+dmaap.source.topics=A1-P-RSP
+dmaap.source.topics.A1-P-RSP.servers=${envd:DMAAP_SERVERS}
+dmaap.source.topics.A1-P-RSP.https=${envd:DMAAP_HTTPS:true}
diff --git a/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-topic.properties b/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-topic.properties
new file mode 100644
index 000000000..646d5a08a
--- /dev/null
+++ b/controlloop/common/feature-controlloop-management/src/main/feature/config/A1-P-topic.properties
@@ -0,0 +1,23 @@
+# ============LICENSE_START=======================================================
+# ONAP
+# ================================================================================
+# Copyright (C) 2022 AT&T 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+dmaap.sink.topics=A1-P
+
+dmaap.sink.topics.A1-P.servers=${envd:DMAAP_SERVERS}
+dmaap.sink.topics.A1-P.https=${envd:DMAAP_HTTPS:true}
+
diff --git a/controlloop/common/feature-controlloop-management/src/main/feature/config/event-manager.properties b/controlloop/common/feature-controlloop-management/src/main/feature/config/event-manager.properties
index 097d4fd02..de3537aee 100644
--- a/controlloop/common/feature-controlloop-management/src/main/feature/config/event-manager.properties
+++ b/controlloop/common/feature-controlloop-management/src/main/feature/config/event-manager.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START======================================================
# ONAP
# ===============================================================================
-# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2022 CTC, Inc. and others.
# ===============================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -71,6 +71,10 @@ actor.service.SDNR.sinkTopic=SDNR-CL
actor.service.SDNR.sourceTopic=SDNR-CL-RSP
actor.service.SDNR.operations.any.placeholder=
+actor.service.A1P.sinkTopic=A1-P
+actor.service.A1P.sourceTopic=A1-P-RSP
+actor.service.A1P.operations.any.placeholder=
+
actor.service.SO.clientName=SO
actor.service.SO.pollPath=orchestrationRequests/v5/
actor.service.SO.maxPolls=20
diff --git a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java
index 2b81fda7d..d2fe57f8f 100644
--- a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java
+++ b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java
@@ -72,6 +72,8 @@ public abstract class BaseTest {
protected static final String APPC_CL_TOPIC = "APPC-CL";
protected static final String SDNR_CL_TOPIC = "SDNR-CL";
protected static final String SDNR_CL_RSP_TOPIC = "SDNR-CL-RSP";
+ protected static final String A1P_CL_TOPIC = "A1-P";
+ protected static final String A1P_CL_RSP_TOPIC = "A1-P-RSP";
/*
* Constants for each test case.
@@ -129,7 +131,7 @@ public abstract class BaseTest {
private static final String V5G_SON_A1_TOSCA_POLICY = "policies/v5gSonA1.policy.operational.input.tosca.json";
private static final String V5G_SON_A1_ONSET = "vsonh/v5G.son.A1.onset.json";
private static final String V5G_SON_A1_SDNR_SUCCESS = "vsonh/v5G.son.A1.sdnr.success.json";
- private static final String MODIFY_A1_POLICY_OPERATION = "ModifyA1Policy";
+ private static final String PUT_A1_POLICY_OPERATION = "PutA1Policy";
/*
* Coders used to decode requests and responses.
*/
@@ -367,7 +369,8 @@ public abstract class BaseTest {
*/
@Test
public void testVpciSunnyDayCompliant() {
- sdnrSunnyDay(VPCI_TOSCA_COMPLIANT_POLICY, VPCI_ONSET, VPCI_SDNR_SUCCESS, SDNR_MODIFY_CONFIG_OP);
+ sdnrSunnyDay(VPCI_TOSCA_COMPLIANT_POLICY, VPCI_ONSET, VPCI_SDNR_SUCCESS,
+ SDNR_MODIFY_CONFIG_OP, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC);
}
// VSONH
@@ -377,7 +380,8 @@ public abstract class BaseTest {
*/
@Test
public void testVsonhSunnyDayCompliant() {
- sdnrSunnyDay(VSONH_TOSCA_COMPLIANT_POLICY, VSONH_ONSET, VSONH_SDNR_SUCCESS, SNDR_MODIFY_CONFIG_ANR_OP);
+ sdnrSunnyDay(VSONH_TOSCA_COMPLIANT_POLICY, VSONH_ONSET, VSONH_SDNR_SUCCESS,
+ SNDR_MODIFY_CONFIG_ANR_OP, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC);
}
/**
@@ -385,7 +389,8 @@ public abstract class BaseTest {
*/
@Test
public void test5gSonO1SunnyDayCompliant() {
- sdnrSunnyDay(V5G_SON_O1_TOSCA_POLICY, V5G_SON_O1_ONSET, V5G_SON_O1_SDNR_SUCCESS, MODIFY_O1_CONFIG_OPERATION);
+ sdnrSunnyDay(V5G_SON_O1_TOSCA_POLICY, V5G_SON_O1_ONSET, V5G_SON_O1_SDNR_SUCCESS,
+ MODIFY_O1_CONFIG_OPERATION, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC);
}
/**
@@ -393,7 +398,8 @@ public abstract class BaseTest {
*/
@Test
public void test5gSonA1SunnyDayCompliant() {
- sdnrSunnyDay(V5G_SON_A1_TOSCA_POLICY, V5G_SON_A1_ONSET, V5G_SON_A1_SDNR_SUCCESS, MODIFY_A1_POLICY_OPERATION);
+ sdnrSunnyDay(V5G_SON_A1_TOSCA_POLICY, V5G_SON_A1_ONSET, V5G_SON_A1_SDNR_SUCCESS,
+ PUT_A1_POLICY_OPERATION, A1P_CL_TOPIC, A1P_CL_RSP_TOPIC);
}
/**
@@ -572,9 +578,11 @@ public abstract class BaseTest {
* @param onsetFile file containing the ONSET to be injected
* @param operation expected SDNR operation request
*/
- protected void sdnrSunnyDay(String policyFile, String onsetFile, String successFile, String operation) {
+ protected void sdnrSunnyDay(String policyFile, String onsetFile,
+ String successFile, String operation,
+ String requestTopic, String responseTopic) {
policyClMgt = createNoficationTopicListener();
- sdnrClSink = topics.createListener(SDNR_CL_TOPIC, PciMessage.class, SDNR_CODER);
+ sdnrClSink = topics.createListener(requestTopic, PciMessage.class, SDNR_CODER);
policy = checkPolicy(policyFile);
@@ -592,7 +600,7 @@ public abstract class BaseTest {
/*
* Inject response.
*/
- topics.inject(SDNR_CL_RSP_TOPIC, successFile, pcireq.getBody().getInput().getCommonHeader().getSubRequestId());
+ topics.inject(responseTopic, successFile, pcireq.getBody().getInput().getCommonHeader().getSubRequestId());
/* --- Operation Completed --- */
diff --git a/controlloop/common/rules-test/src/main/resources/vsonh/v5G.son.A1.sdnr.success.json b/controlloop/common/rules-test/src/main/resources/vsonh/v5G.son.A1.sdnr.success.json
index 12cfbc626..186241f5a 100644
--- a/controlloop/common/rules-test/src/main/resources/vsonh/v5G.son.A1.sdnr.success.json
+++ b/controlloop/common/rules-test/src/main/resources/vsonh/v5G.son.A1.sdnr.success.json
@@ -17,7 +17,7 @@
}
},
"version": "1.0",
- "rpc-name": "ModifyA1Policy",
+ "rpc-name": "puta1policy",
"correlation-id": "82feb01e-4f3e-40e2-b8df-683adabae893",
"type": "response"
}