summaryrefslogtreecommitdiffstats
path: root/policy-management
diff options
context:
space:
mode:
authorjhh <jorge.hernandez-herrero@att.com>2020-03-05 22:32:58 -0600
committerjhh <jorge.hernandez-herrero@att.com>2020-03-10 11:29:27 -0500
commit3f563fe552e35b3bc3d95c47a3cabdfe7645ad07 (patch)
tree9439dc357096b69b670e7dad666084a5cb08dcfb /policy-management
parent845cbbc74445909613aff1912d3cfc9083c57d53 (diff)
policy routing and reorg into policy-domains
- Native Drools Controller Policy support. - Move domain policies into the policy-domains project. - Route legacy/compliant operational policies to one or all controller supporting the policy's policy type. - Enhancements to scripts to invoke commands external to the container. Issue-ID: POLICY-2388 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Id41f04d10a28d2ea86bdd41334e499c28d0438ae Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'policy-management')
-rw-r--r--policy-management/pom.xml6
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/domain/models/DroolsPolicy.java46
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/domain/models/Metadata.java40
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java4
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java3
-rw-r--r--policy-management/src/main/server-gen/bin/db-migrator6
-rw-r--r--policy-management/src/main/server-gen/bin/deploy-artifact6
-rw-r--r--policy-management/src/main/server-gen/bin/pdpd-configuration8
-rw-r--r--policy-management/src/main/server-gen/bin/policy-management-controller6
-rw-r--r--policy-management/src/main/server-gen/bin/rest-add-controller6
-rw-r--r--policy-management/src/main/server-gen/bin/rest-delete-controller30
-rw-r--r--policy-management/src/main/server-gen/bin/telemetry35
-rw-r--r--policy-management/src/test/java/org/onap/policy/drools/domain/models/DroolsPolicyTest.java52
13 files changed, 57 insertions, 191 deletions
diff --git a/policy-management/pom.xml b/policy-management/pom.xml
index 7d3ac12f..1498dddc 100644
--- a/policy-management/pom.xml
+++ b/policy-management/pom.xml
@@ -174,6 +174,12 @@
</dependency>
<dependency>
+ <groupId>org.onap.policy.drools-pdp</groupId>
+ <artifactId>policy-domains</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.onap.policy.common</groupId>
<artifactId>policy-endpoints</artifactId>
<version>${policy.common.version}</version>
diff --git a/policy-management/src/main/java/org/onap/policy/drools/domain/models/DroolsPolicy.java b/policy-management/src/main/java/org/onap/policy/drools/domain/models/DroolsPolicy.java
deleted file mode 100644
index 4b1a1cbd..00000000
--- a/policy-management/src/main/java/org/onap/policy/drools/domain/models/DroolsPolicy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.drools.domain.models;
-
-import com.google.gson.annotations.SerializedName;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.SuperBuilder;
-
-@Data
-@SuperBuilder
-@NoArgsConstructor
-public abstract class DroolsPolicy {
- @SerializedName("type")
- protected String type;
-
- @SerializedName("type_version")
- protected String typeVersion;
-
- @SerializedName("version")
- protected String version;
-
- @SerializedName("name")
- protected String name;
-
- @SerializedName("metadata")
- protected Metadata metadata;
-}
diff --git a/policy-management/src/main/java/org/onap/policy/drools/domain/models/Metadata.java b/policy-management/src/main/java/org/onap/policy/drools/domain/models/Metadata.java
deleted file mode 100644
index fd68e5b5..00000000
--- a/policy-management/src/main/java/org/onap/policy/drools/domain/models/Metadata.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.drools.domain.models;
-
-import com.google.gson.annotations.SerializedName;
-import java.io.Serializable;
-import lombok.Builder;
-import lombok.Data;
-
-/**
- * Metadata in Native Drools Policies.
- */
-
-@Data
-@Builder
-public class Metadata implements Serializable {
-
- private static final long serialVersionUID = -1027974819756498893L;
-
- @SerializedName("policy-id")
- protected String policyId;
-}
diff --git a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
index cd3951d7..c6d5e02d 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
@@ -1,8 +1,8 @@
/*
* ============LICENSE_START=======================================================
- * policy-management
+ * ONAP
* ================================================================================
- * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2020 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.
diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
index 1fd42546..5685ff6e 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
@@ -45,6 +45,7 @@ import org.onap.policy.drools.persistence.SystemPersistenceConstants;
import org.onap.policy.drools.properties.DroolsPropertyConstants;
import org.onap.policy.drools.protocol.configuration.DroolsConfiguration;
import org.onap.policy.drools.system.PolicyController;
+import org.onap.policy.drools.utils.PropertyUtil;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -141,7 +142,7 @@ public class AggregatedPolicyController implements PolicyController, TopicListen
/* persist new properties */
getPersistenceManager().storeController(name, properties);
- this.properties = properties;
+ this.properties = PropertyUtil.getInterpolatedProperties(properties);
this.policyTypes = getPolicyTypesFromProperties();
}
diff --git a/policy-management/src/main/server-gen/bin/db-migrator b/policy-management/src/main/server-gen/bin/db-migrator
index 29a50d42..f5029460 100644
--- a/policy-management/src/main/server-gen/bin/db-migrator
+++ b/policy-management/src/main/server-gen/bin/db-migrator
@@ -1,9 +1,9 @@
#!/bin/bash
-#
+
# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
-# Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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.
@@ -52,6 +52,8 @@
#
# #####################################################################
+source ${POLICY_HOME}/etc/profile.d/env.sh
+
METADATA_DB=migration
METADATA_TABLE="${METADATA_DB}".metadata_versions
MIGRATION_DIR="${POLICY_HOME}"/etc/db/migration
diff --git a/policy-management/src/main/server-gen/bin/deploy-artifact b/policy-management/src/main/server-gen/bin/deploy-artifact
index b02c4e0c..b142bcde 100644
--- a/policy-management/src/main/server-gen/bin/deploy-artifact
+++ b/policy-management/src/main/server-gen/bin/deploy-artifact
@@ -1,10 +1,9 @@
#!/usr/bin/env bash
-#
# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
-# Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2018-2020 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2020 Bell Canada.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +18,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
-###
+
+source ${POLICY_HOME}/etc/profile.d/env.sh
##############################################################################
# Usage: usage
diff --git a/policy-management/src/main/server-gen/bin/pdpd-configuration b/policy-management/src/main/server-gen/bin/pdpd-configuration
index bfff60ba..fc822e18 100644
--- a/policy-management/src/main/server-gen/bin/pdpd-configuration
+++ b/policy-management/src/main/server-gen/bin/pdpd-configuration
@@ -1,10 +1,9 @@
#! /bin/bash
-###
# ============LICENSE_START=======================================================
-# policy-management
+# ONAP
# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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.
@@ -18,7 +17,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
-###
+
+source ${POLICY_HOME}/etc/profile.d/env.sh
function usage() {
echo -n "Usage: $(basename $0) "
diff --git a/policy-management/src/main/server-gen/bin/policy-management-controller b/policy-management/src/main/server-gen/bin/policy-management-controller
index 389f7d2e..56db98df 100644
--- a/policy-management/src/main/server-gen/bin/policy-management-controller
+++ b/policy-management/src/main/server-gen/bin/policy-management-controller
@@ -1,10 +1,9 @@
#!/bin/bash
-###
# ============LICENSE_START=======================================================
# ONAP POLICY
# ================================================================================
-# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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.
@@ -18,7 +17,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
-##
+
+source ${POLICY_HOME}/etc/profile.d/env.sh
SNAME="Policy Management"
PNAME=policy-management
diff --git a/policy-management/src/main/server-gen/bin/rest-add-controller b/policy-management/src/main/server-gen/bin/rest-add-controller
index 98b5702b..1c7dfbc1 100644
--- a/policy-management/src/main/server-gen/bin/rest-add-controller
+++ b/policy-management/src/main/server-gen/bin/rest-add-controller
@@ -1,10 +1,9 @@
#! /bin/bash
-###
# ============LICENSE_START=======================================================
-# policy-management
+# ONAP
# ================================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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.
@@ -18,7 +17,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
-###
source $POLICY_HOME/etc/profile.d/env.sh
diff --git a/policy-management/src/main/server-gen/bin/rest-delete-controller b/policy-management/src/main/server-gen/bin/rest-delete-controller
index 7a47c928..c2741191 100644
--- a/policy-management/src/main/server-gen/bin/rest-delete-controller
+++ b/policy-management/src/main/server-gen/bin/rest-delete-controller
@@ -1,41 +1,37 @@
#! /bin/bash
-###
# ============LICENSE_START=======================================================
-# policy-management
+# ONAP
# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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=========================================================
-###
source $POLICY_HOME/etc/profile.d/env.sh
if [[ -n $1 ]]; then
- if [[ -n ${TELEMETRY_PASSWORD} ]]; then
- curl -k --silent --user ${TELEMETRY_USER}:${TELEMETRY_PASSWORD} -X DELETE --header "Content-Type: application/json" \
- https://localhost:${TELEMETRY_PORT}/policy/pdp/engine/controllers/${1}
- else
- curl -k --silent -X DELETE --header "Content-Type: application/json" \
- https://localhost:${TELEMETRY_PORT}/policy/pdp/engine/controllers/${1}
- fi
- echo
- exit
+ if [[ -n ${TELEMETRY_PASSWORD} ]]; then
+ curl -k --silent --user ${TELEMETRY_USER}:${TELEMETRY_PASSWORD} -X DELETE --header "Content-Type: application/json" \
+ https://localhost:${TELEMETRY_PORT}/policy/pdp/engine/controllers/${1}
+ else
+ curl -k --silent -X DELETE --header "Content-Type: application/json" \
+ https://localhost:${TELEMETRY_PORT}/policy/pdp/engine/controllers/${1}
+ fi
+ echo
+ exit
fi
-
-
cat <<-'EOF'
Usage: rest-delete-controller.sh closed-loop-sample|reporter|sepc|vsegw|.. (or any other controller idenfied by name)
diff --git a/policy-management/src/main/server-gen/bin/telemetry b/policy-management/src/main/server-gen/bin/telemetry
index 37614b08..9d4b857a 100644
--- a/policy-management/src/main/server-gen/bin/telemetry
+++ b/policy-management/src/main/server-gen/bin/telemetry
@@ -1,44 +1,45 @@
#! /bin/bash
-###
# ============LICENSE_START=======================================================
-# ONAP POLICY
+# ONAP
# ================================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2020 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=========================================================
-##
+
+source ${POLICY_HOME}/etc/profile.d/env.sh
REST_TOOL="http-prompt"
TELEMETRY_SPEC="${POLICY_HOME}/config/telemetry-spec.json"
-if ! type -p "${REST_TOOL}" > /dev/null 2>&1; then
- echo "error: prerequisite software not found: http-prompt"
- exit 1
+if ! type -p "${REST_TOOL}" >/dev/null 2>&1; then
+ echo "error: prerequisite software not found: http-prompt"
+ exit 1
fi
-if ! "${POLICY_HOME}"/bin/policy-management-controller status > /dev/null 2>&1; then
- echo "error: pdp-d is not running"
- exit 2
+if ! "${POLICY_HOME}"/bin/policy-management-controller status >/dev/null 2>&1; then
+ echo "error: pdp-d is not running"
+ exit 2
fi
if [[ ! -r ${TELEMETRY_SPEC} ]]; then
- echo "generating new spec .."
- if ! http --verify=no -a "${TELEMETRY_USER}:${TELEMETRY_PASSWORD}" https://localhost:9696/swagger.json > ${TELEMETRY_SPEC} 2> /dev/null; then
- echo "error: cannot generate telemetry spec"
- exit 3
- fi
+ echo "generating new spec .."
+ if ! http --verify=no -a "${TELEMETRY_USER}:${TELEMETRY_PASSWORD}" https://localhost:9696/swagger.json >${TELEMETRY_SPEC} 2>/dev/null; then
+ echo "error: cannot generate telemetry spec"
+ rm -f ${TELEMETRY_SPEC} 2>/dev/null
+ exit 3
+ fi
fi
exec http-prompt https://localhost:9696/policy/pdp/engine --verify=no --auth "${TELEMETRY_USER}:${TELEMETRY_PASSWORD}" --spec ${TELEMETRY_SPEC}
diff --git a/policy-management/src/test/java/org/onap/policy/drools/domain/models/DroolsPolicyTest.java b/policy-management/src/test/java/org/onap/policy/drools/domain/models/DroolsPolicyTest.java
deleted file mode 100644
index 22edbb44..00000000
--- a/policy-management/src/test/java/org/onap/policy/drools/domain/models/DroolsPolicyTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.drools.domain.models;
-
-import com.openpojo.reflection.impl.PojoClassFactory;
-import com.openpojo.validation.Validator;
-import com.openpojo.validation.ValidatorBuilder;
-import com.openpojo.validation.test.impl.GetterTester;
-import com.openpojo.validation.test.impl.SetterTester;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.SuperBuilder;
-import org.junit.Test;
-
-public class DroolsPolicyTest {
-
- @Data
- @SuperBuilder
- @NoArgsConstructor
- public static class DerivedDomainPolicy extends DroolsPolicy implements Serializable {
- private static final long serialVersionUID = -1027974819756498893L;
- }
-
- @Test
- public void testPackage() {
- /* validate model pojos */
- Validator validator = ValidatorBuilder.create()
- .with(new SetterTester(), new GetterTester()).build();
-
- validator.validate(PojoClassFactory.getPojoClass(DerivedDomainPolicy.class));
- }
-
-} \ No newline at end of file