From 78ef929d8bd41712bec2e7c438c95dfa15c1a5bc Mon Sep 17 00:00:00 2001 From: jhh Date: Thu, 20 Aug 2020 18:27:40 -0500 Subject: remove legacy operational policies support Issue-ID: POLICY-2765 Signed-off-by: jhh Change-Id: I6066b8040add53ed32572a71854f3f7094bc41d6 --- .../drools/domain/models/legacy/LegacyPolicy.java | 41 --------- .../domain/models/legacy/LegacyProperties.java | 47 ----------- ...icies.controlloop.Operational-1.0.0.schema.json | 98 ---------------------- .../domain/models/DomainPolicyTypesTest.java | 53 ------------ .../domain/models/legacy/LegacyPolicyTest.java | 64 -------------- .../src/test/resources/tosca-legacy-vcpe.json | 10 --- .../tosca-policy-operational-restart.json | 9 -- 7 files changed, 322 deletions(-) delete mode 100644 policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicy.java delete mode 100644 policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyProperties.java delete mode 100644 policy-domains/src/main/resources/schemas/onap.policies.controlloop.Operational-1.0.0.schema.json delete mode 100644 policy-domains/src/test/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicyTest.java delete mode 100644 policy-domains/src/test/resources/tosca-legacy-vcpe.json delete mode 100644 policy-domains/src/test/resources/tosca-policy-operational-restart.json (limited to 'policy-domains') diff --git a/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicy.java b/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicy.java deleted file mode 100644 index d18300d1..00000000 --- a/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicy.java +++ /dev/null @@ -1,41 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.drools.domain.models.legacy; - -import java.io.Serializable; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.SuperBuilder; -import org.onap.policy.drools.domain.models.DroolsPolicy; - - -/** - * Operational Domain Policy. - */ - -@Data -@SuperBuilder -@EqualsAndHashCode(callSuper = true) -public class LegacyPolicy extends DroolsPolicy implements Serializable { - private static final long serialVersionUID = 4100092564657497713L; - - private LegacyProperties properties; -} diff --git a/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyProperties.java b/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyProperties.java deleted file mode 100644 index b74d9a6c..00000000 --- a/policy-domains/src/main/java/org/onap/policy/drools/domain/models/legacy/LegacyProperties.java +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.drools.domain.models.legacy; - -import java.io.Serializable; -import lombok.Builder; -import lombok.Data; - - -/** - * Legacy Operational Policy Properties. - */ - -@Data -@Builder -public class LegacyProperties implements Serializable { - private static final long serialVersionUID = 2455300363502597721L; - - /** - * Content (Operational Policy URL encoded yaml). - */ - private String content; - - /** - * Controller Name (optional) to select an specific controller among many that - * support a policy type. - */ - private String controllerName; -} diff --git a/policy-domains/src/main/resources/schemas/onap.policies.controlloop.Operational-1.0.0.schema.json b/policy-domains/src/main/resources/schemas/onap.policies.controlloop.Operational-1.0.0.schema.json deleted file mode 100644 index 0b52fe32..00000000 --- a/policy-domains/src/main/resources/schemas/onap.policies.controlloop.Operational-1.0.0.schema.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "definitions": {}, - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "http://www.onap.org/policy/models/schemas/onap.policies.controlloop.Operational.schema.json", - "type": "object", - "title": "Root Schema for legacy onap.policies.controlloop.Operational policy type domain policies", - "required": [ - "type", - "type_version", - "name", - "version", - "properties" - ], - "properties": { - "type": { - "$id": "#/properties/type", - "type": "string", - "title": "Policy Type", - "default": "onap.policies.controlloop.Operational", - "examples": [ - "onap.policies.controlloop.Operational" - ], - "pattern": "^(.+)$" - }, - "type_version": { - "$id": "#/properties/type_version", - "type": "string", - "title": "Policy Type Version", - "examples": [ - "1.0.0" - ], - "pattern": "^(.+)$" - }, - "version": { - "$id": "#/properties/version", - "type": "string", - "title": "Version", - "examples": [ - "1.0.0" - ], - "pattern": "^(.+)$" - }, - "name": { - "$id": "#/properties/name", - "type": "string", - "title": "Name", - "examples": [ - "example" - ], - "pattern": "^(.+)$" - }, - "metadata": { - "$id": "#/properties/metadata", - "type": "object", - "title": "Metadata", - "required": [], - "properties": { - "policy-id": { - "$id": "#/properties/metadata/properties/policy-id", - "type": "string", - "title": "Policy Name", - "examples": [ - "example" - ], - "pattern": "^(.+)$" - } - } - }, - "properties": { - "$id": "#/properties/properties", - "type": "object", - "title": "Properties", - "required": [ - "content" - ], - "properties": { - "content": { - "$id": "#/properties/properties/properties/content", - "type": "string", - "title": "Legacy policy in yaml format", - "examples": [ - "controlLoop%3A%0A%20%20version%3A%202.0.0%0A%20%20controlLoopName%3A%20ControlLoop-vCPEv2-48f0c2c3-a172-4192-9ae3-052274181b6e%0A%20%20trigger_policy%3A%20unique-policy-id-1-restart%0A%20%20timeout%3A%203600%0A%20%20abatement%3A%20true%0A%20%0Apolicies%3A%0A%20%20-%20id%3A%20unique-policy-id-1-restart%0A%20%20%20%20name%3A%20Restart%20the%20VM%0A%20%20%20%20description%3A%0A%20%20%20%20actor%3A%20APPC%0A%20%20%20%20recipe%3A%20Restart%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20retry%3A%203%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20success%3A%20final_success%0A%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20failure_guard%3A%20final_failure_guard" - ], - "pattern": "^(.+)$" - }, - "controllerName": { - "$id": "#/properties/properties/properties/controllerName", - "type": "string", - "title": "Controller Name", - "examples": [ - "usecases" - ], - "pattern": "^(.+)$" - } - } - } - } -} diff --git a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java index 6fdcc0a5..77dfed8d 100644 --- a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java +++ b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java @@ -54,8 +54,6 @@ public class DomainPolicyTypesTest { private static final String OP_POLICY_NAME_VCPE = "operational.restart"; private static final String VCPE_OPERATIONAL_DROOLS_POLICY_JSON = "policies/vCPE.policy.operational.input.tosca.json"; - public static final String VCPE_OPERATIONAL_DROOLS_LEGACY_POLICY_JSON = - "src/test/resources/tosca-policy-operational-restart.json"; // Native Drools Policy private static final String EXAMPLE_NATIVE_DROOLS_POLICY_NAME = "example"; @@ -76,57 +74,6 @@ public class DomainPolicyTypesTest { nonValCoder = new StandardCoder(); } - @Test - public void testToscaOperationalPolicyType() throws CoderException, IOException { - String rawVcpeToscaPolicy = getExamplesPolicyString(VCPE_OPERATIONAL_DROOLS_POLICY_JSON, OP_POLICY_NAME_VCPE); - String rawVcpeLegacyToscaPolicy = getJsonFromFile(VCPE_OPERATIONAL_DROOLS_LEGACY_POLICY_JSON); - - // valid "known" policy type with implicit schema - assertTrue(domainMaker - .isConformant(new ToscaPolicyTypeIdentifier(OPERATIONAL_DROOLS_POLICY_TYPE, "1.0.0"), - rawVcpeToscaPolicy)); - - // policy type without schema - assertFalse(domainMaker - .isConformant(new ToscaPolicyTypeIdentifier("blah.blah", "1.0.0"), rawVcpeToscaPolicy)); - - // known policy type but invalid json (legacy). - assertFalse(domainMaker - .isConformant(new ToscaPolicyTypeIdentifier(OPERATIONAL_DROOLS_POLICY_TYPE, "1.0.0"), - rawVcpeLegacyToscaPolicy)); - - ToscaPolicy vcpeToscaPolicy = getExamplesPolicy(VCPE_OPERATIONAL_DROOLS_POLICY_JSON, OP_POLICY_NAME_VCPE); - assertTrue(domainMaker.isConformant(vcpeToscaPolicy)); - assertTrue(domainMaker.conformance(vcpeToscaPolicy)); - - // set an invalid value in the Tosca Policy (timeout less than minimum value). - final int timeout = (int) vcpeToscaPolicy.getProperties().get("timeout"); - vcpeToscaPolicy.getProperties().put("timeout", 0); - assertFalse(domainMaker.isConformant(vcpeToscaPolicy)); - assertThatThrownBy(() -> - domainMaker.conformance(vcpeToscaPolicy)) - .isInstanceOf(ValidationFailedException.class) - .hasMessageContaining("Value 0 is smaller than minimum 1"); - - // put back the original timeout value in the Tosca Policy - vcpeToscaPolicy.getProperties().put("timeout", timeout); - assertTrue(domainMaker.isConformant(vcpeToscaPolicy)); - assertTrue(domainMaker.conformance(vcpeToscaPolicy)); - - // remove required element - final Object operations = vcpeToscaPolicy.getProperties().remove("operations"); - assertFalse(domainMaker.isConformant(vcpeToscaPolicy)); - assertThatThrownBy(() -> - domainMaker.conformance(vcpeToscaPolicy)) - .isInstanceOf(ValidationFailedException.class) - .hasMessageContaining("Required property operations is missing from object"); - - // put back the original operations value in the Tosca Policy - vcpeToscaPolicy.getProperties().put("operations", operations); - assertTrue(domainMaker.isConformant(vcpeToscaPolicy)); - assertTrue(domainMaker.conformance(vcpeToscaPolicy)); - } - @Test public void testToscaNativeDroolsPolicy() throws CoderException, IOException { String rawNativeDroolsPolicy = diff --git a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicyTest.java b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicyTest.java deleted file mode 100644 index 430cb615..00000000 --- a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/legacy/LegacyPolicyTest.java +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.drools.domain.models.legacy; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import org.junit.Test; -import org.onap.policy.common.utils.coder.CoderException; -import org.onap.policy.common.utils.coder.StandardCoder; -import org.onap.policy.drools.policies.DomainMaker; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; - -public class LegacyPolicyTest { - // Policy Types - private static final String OPERATIONAL_LEGACY_POLICY_TYPE = "onap.policies.controlloop.Operational"; - - // Operational vCPE Legacy Policy - public static final String OP_POLICY_NAME_VCPE = "operational.restart"; - public static final String VCPE_OPERATIONAL_LEGACY_POLICY_JSON = "src/test/resources/tosca-legacy-vcpe.json"; - - @Test - public void testToscaLegacyOperationalPolicyType() throws IOException, CoderException { - String rawVcpeToscaPolicy = getJsonFromFile(VCPE_OPERATIONAL_LEGACY_POLICY_JSON); - - ToscaPolicyTypeIdentifier legacyType = - new ToscaPolicyTypeIdentifier(OPERATIONAL_LEGACY_POLICY_TYPE, "1.0.0"); - - DomainMaker domainMaker = new DomainMaker(); - assertTrue(domainMaker.isConformant(legacyType, rawVcpeToscaPolicy)); - LegacyPolicy legacyPolicy = domainMaker.convertTo(legacyType, rawVcpeToscaPolicy, LegacyPolicy.class); - - ToscaPolicy policy = new StandardCoder().decode(rawVcpeToscaPolicy, ToscaPolicy.class); - assertEquals(policy.getProperties().get("content").toString(), legacyPolicy.getProperties().getContent()); - assertEquals(policy.getProperties().get("controllerName").toString(), - legacyPolicy.getProperties().getControllerName()); - } - - private String getJsonFromFile(String filePath) throws IOException { - return Files.readString(Paths.get(filePath)); - } -} \ No newline at end of file diff --git a/policy-domains/src/test/resources/tosca-legacy-vcpe.json b/policy-domains/src/test/resources/tosca-legacy-vcpe.json deleted file mode 100644 index ab0e59d7..00000000 --- a/policy-domains/src/test/resources/tosca-legacy-vcpe.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "onap.policies.controlloop.Operational", - "type_version": "1.0.0", - "properties": { - "content": "controlLoop%3A%0A%20%20version%3A%202.0.0%0A%20%20controlLoopName%3A%20ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0A%20%20trigger_policy%3A%20unique-policy-id-1-restart%0A%20%20timeout%3A%203600%0A%20%20abatement%3A%20true%0A%20%0Apolicies%3A%0A%20%20-%20id%3A%20unique-policy-id-1-restart%0A%20%20%20%20name%3A%20Restart%20the%20VM%0A%20%20%20%20description%3A%0A%20%20%20%20actor%3A%20APPC%0A%20%20%20%20recipe%3A%20Restart%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20retry%3A%203%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20success%3A%20final_success%0A%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20failure_guard%3A%20final_failure_guard", - "controllerName": "usecases" - }, - "name": "operational.restart", - "version": "1.0.0" -} diff --git a/policy-domains/src/test/resources/tosca-policy-operational-restart.json b/policy-domains/src/test/resources/tosca-policy-operational-restart.json deleted file mode 100644 index 98e8bb8f..00000000 --- a/policy-domains/src/test/resources/tosca-policy-operational-restart.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "onap.policies.controlloop.Operational", - "type_version": "1.0.0", - "properties": { - "content": "controlLoop%3A%0A%20%20version%3A%202.0.0%0A%20%20controlLoopName%3A%20ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0A%20%20trigger_policy%3A%20unique-policy-id-1-restart%0A%20%20timeout%3A%203600%0A%20%20abatement%3A%20true%0A%20%0Apolicies%3A%0A%20%20-%20id%3A%20unique-policy-id-1-restart%0A%20%20%20%20name%3A%20Restart%20the%20VM%0A%20%20%20%20description%3A%0A%20%20%20%20actor%3A%20APPC%0A%20%20%20%20recipe%3A%20Restart%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20retry%3A%203%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20success%3A%20final_success%0A%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20failure_guard%3A%20final_failure_guard" - }, - "name": "operational.restart", - "version": "1.0.0" -} -- cgit 1.2.3-korg