aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhh <jorge.hernandez-herrero@att.com>2021-02-18 12:01:05 -0600
committerJorge Hernandez <jorge.hernandez-herrero@att.com>2021-02-18 18:57:04 +0000
commita4e239da971509dfa2ffcd6c138abc87bc5d0aec (patch)
treec519d89da42177716c42cdea23ec0835b684b3d8
parentdd8c5ad785a19c3af7249808aa01fe4f04abc61e (diff)
support pdp-type configuration for PAP status
Issue-ID: POLICY-3070 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Iaddd9bac102cbe79626fe91d78a457dcfd4cb1fb Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
-rw-r--r--feature-lifecycle/src/main/feature/config/feature-lifecycle.properties3
-rw-r--r--feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java11
-rw-r--r--feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleFsmTest.java5
-rw-r--r--feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java3
-rw-r--r--feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java3
-rw-r--r--feature-lifecycle/src/test/resources/feature-lifecycle.properties3
-rw-r--r--packages/install/src/files/base.conf9
7 files changed, 28 insertions, 9 deletions
diff --git a/feature-lifecycle/src/main/feature/config/feature-lifecycle.properties b/feature-lifecycle/src/main/feature/config/feature-lifecycle.properties
index b495664d..fc8127b9 100644
--- a/feature-lifecycle/src/main/feature/config/feature-lifecycle.properties
+++ b/feature-lifecycle/src/main/feature/config/feature-lifecycle.properties
@@ -1,7 +1,7 @@
# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
-# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2019-2021 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.
@@ -17,6 +17,7 @@
# ============LICENSE_END=========================================================
lifecycle.pdp.group=${envd:POLICY_PDP_PAP_GROUP:defaultGroup}
+lifecycle.pdp.type=${envd:POLICY_PDP_PAP_TYPE:drools}
# Mandatory policy types that this PDP-D must support at a minimum
lifecycle.pdp.policytypes=${envd:POLICY_PDP_PAP_POLICYTYPES}
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
index e2c50d4f..a595877a 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
@@ -85,8 +85,12 @@ public class LifecycleFsm implements Startable {
protected static final String CONFIGURATION_PROPERTIES_NAME = "feature-lifecycle";
protected static final String GROUP_NAME = "lifecycle.pdp.group";
+ protected static final String PDP_TYPE = "lifecycle.pdp.type";
protected static final String MANDATORY_POLICY_TYPES = "lifecycle.pdp.policytypes";
+
protected static final String DEFAULT_PDP_GROUP = "defaultGroup";
+ protected static final String DEFAULT_PDP_TYPE = "drools";
+
protected static final long MIN_STATUS_INTERVAL_SECONDS = 5L;
protected static final String PDP_MESSAGE_NAME = "messageName";
@@ -136,6 +140,10 @@ public class LifecycleFsm implements Startable {
protected String subGroup;
@Getter
+ @Setter
+ protected String pdpType;
+
+ @Getter
protected Set<String> mandatoryPolicyTypes = new HashSet<>();
@Getter
@@ -153,6 +161,7 @@ public class LifecycleFsm implements Startable {
public LifecycleFsm() {
properties = SystemPersistenceConstants.getManager().getProperties(CONFIGURATION_PROPERTIES_NAME);
setGroup(properties.getProperty(GROUP_NAME, DEFAULT_PDP_GROUP));
+ setPdpType(properties.getProperty(PDP_TYPE, DEFAULT_PDP_TYPE));
policyTypesMap.put(POLICY_TYPE_DROOLS_NATIVE_CONTROLLER,
new PolicyTypeNativeDroolsController(this, POLICY_TYPE_DROOLS_NATIVE_CONTROLLER));
@@ -580,7 +589,7 @@ public class LifecycleFsm implements Startable {
status.setPdpSubgroup(subGroup);
status.setState(state);
status.setHealthy(isAlive() ? PdpHealthStatus.HEALTHY : PdpHealthStatus.NOT_HEALTHY);
- status.setPdpType("drools");
+ status.setPdpType(getPdpType());
status.setPolicies(new ArrayList<>(policiesMap.keySet()));
status.setStatistics(statisticsPayload());
return status;
diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleFsmTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleFsmTest.java
index 9dda01df..54e32d3a 100644
--- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleFsmTest.java
+++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleFsmTest.java
@@ -178,6 +178,11 @@ public class LifecycleFsmTest {
}
@Test
+ public void testPdpType() {
+ assertEquals("foo", fsm.getPdpType());
+ }
+
+ @Test
public void testDeployedPolicyAction() {
fsm.deployedPolicyAction(controllerPolicy);
assertEquals(1, fsm.getStats().getPolicyDeploySuccessCount());
diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java
index 0ce1f821..ac0859e7 100644
--- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java
+++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -224,6 +224,7 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest {
"1.0.0")));
PdpStatus cachedStatus = new StandardCoder()
.decode(fsm.client.getSink().getRecentEvents()[qlength], PdpStatus.class);
+ assertEquals("foo", cachedStatus.getPdpType());
assertEquals(new ArrayList<>(fsm.policiesMap.keySet()), cachedStatus.getPolicies());
List<ToscaPolicy> factPolicies = controllerSupport.getFacts(ToscaPolicy.class);
diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java
index 6945f10a..ef01a593 100644
--- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java
+++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java
@@ -158,6 +158,7 @@ public class LifecycleStatePassiveTest extends LifecycleStateRunningTest {
int qlength = fsm.client.getSink().getRecentEvents().length;
PdpStatus lastStatus = new StandardCoder().decode(fsm.client.getSink().getRecentEvents()[qlength - 1],
PdpStatus.class);
+ assertEquals("foo", lastStatus.getPdpType());
assertEquals(update.getRequestId(), lastStatus.getRequestId());
assertEquals(update.getRequestId(), lastStatus.getResponse().getResponseTo());
@@ -327,7 +328,7 @@ public class LifecycleStatePassiveTest extends LifecycleStateRunningTest {
String[] events = fsm.client.getSink().getRecentEvents();
PdpStatus status = new StandardCoder().decode(events[events.length - 1], PdpStatus.class);
- assertEquals("drools", status.getPdpType());
+ assertEquals("foo", status.getPdpType());
assertEquals(PdpState.TERMINATED, status.getState());
assertEquals(PdpHealthStatus.HEALTHY, status.getHealthy());
assertEquals(NetworkUtil.getHostname(), status.getName());
diff --git a/feature-lifecycle/src/test/resources/feature-lifecycle.properties b/feature-lifecycle/src/test/resources/feature-lifecycle.properties
index 052b0165..da3ad550 100644
--- a/feature-lifecycle/src/test/resources/feature-lifecycle.properties
+++ b/feature-lifecycle/src/test/resources/feature-lifecycle.properties
@@ -1,7 +1,7 @@
# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
-# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2019, 2021 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.
@@ -17,6 +17,7 @@
# ============LICENSE_END=========================================================
lifecycle.pdp.group=${envd:POLICY_PDP_PAP_GROUP:defaultGroup}
+lifecycle.pdp.type=${envd:POLICY_PDP_PAP_TYPE:foo}
lifecycle.pdp.policytypes=${envd:POLICY_PDP_PAP_POLICYTYPES:onap.policies.native.drools.Controller,onap.policies.native.drools.Artifact}
noop.source.topics=POLICY-PDP-PAP
diff --git a/packages/install/src/files/base.conf b/packages/install/src/files/base.conf
index 19a5e44b..a154639f 100644
--- a/packages/install/src/files/base.conf
+++ b/packages/install/src/files/base.conf
@@ -1,16 +1,16 @@
###
# ============LICENSE_START=======================================================
-# ONAP POLICY
+# ONAP
# ================================================================================
-# Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2020 Bell Canada.
# ================================================================================
# 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.
@@ -101,6 +101,7 @@ PAP_HOST=
PAP_USERNAME=
PAP_PASSWORD=
POLICY_PDP_PAP_GROUP=defaultGroup
+POLICY_PDP_PAP_TYPE=
POLICY_PDP_PAP_POLICYTYPES=
# PDP-X