diff options
5 files changed, 136 insertions, 72 deletions
diff --git a/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.json b/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.json new file mode 100644 index 000000000..8205fc89e --- /dev/null +++ b/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.json @@ -0,0 +1,55 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "topology_template": { + "policies": [ + { + "operational.scaleout": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "metadata": { + "policy-id": "operational.scaleout" + }, + "properties": { + "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "timeout": 1200, + "abatement": false, + "trigger": "unique-policy-id-1-scale-up", + "operations": [ + { + "id": "unique-policy-id-1-scale-up", + "description": "Create a new VF Module", + "operation": { + "actor": "SO", + "operation": "VF Module Create", + "target": { + "targetType": "VFMODULE", + "entityIds": { + "modelInvariantId": "e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e", + "modelVersionId": "94b18b1d-cc91-4f43-911a-e6348665f292", + "modelName": "VfwclVfwsnkBbefb8ce2bde..base_vfw..module-0", + "modelVersion": 1, + "modelCustomizationId": "47958575-138f-452a-8c8d-d89b595f8164" + } + }, + "payload": { + "requestParameters": "{\"usePreload\":true,\"userParams\":[]}", + "configurationParameters": "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" + } + }, + "timeout": 1200, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +}
\ No newline at end of file diff --git a/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.yaml b/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.yaml index d7e9b7b22..0859ba898 100644 --- a/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.yaml +++ b/models-examples/src/main/resources/policies/vDNS.policy.operational.input.tosca.yaml @@ -18,7 +18,7 @@ topology_template: actor: SO operation: VF Module Create target: - type: VFMODULE + targetType: VFMODULE entityIds: modelInvariantId: e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e modelVersionId: 94b18b1d-cc91-4f43-911a-e6348665f292 diff --git a/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.json b/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.json index 2478ff07a..8205fc89e 100644 --- a/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.json +++ b/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.json @@ -4,44 +4,50 @@ "policies": [ { "operational.scaleout": { - "type": "onap.policies.controlloop.Operational", - "version": "1.0.0", + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", "metadata": { - "policy-id": "operational.scaleout", - "policy-version": 1 + "policy-id": "operational.scaleout" }, - "properties": null, - "controlLoop": { - "version": "2.0.0", - "controlLoopName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", - "trigger_policy": "unique-policy-id-1-scale-up", + "properties": { + "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "timeout": 1200, - "abatement": false - }, - "policies": [ - { - "id": "unique-policy-id-1-scale-up", - "name": "Create a new VF Module", - "description": null, - "actor": "SO", - "recipe": "VF Module Create", - "target": { - "type": "VNF" - }, - "payload": { - "requestParameters": "{\"usePreload\":true,\"userParams\":[]}", - "configurationParameters": "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" - }, - "retry": 0, - "timeout": 1200, - "success": "final_success", - "failure": "final_failure", - "failure_timeout": "final_failure_timeout", - "failure_retries": "final_failure_retries", - "failure_exception": "final_failure_exception", - "failure_guard": "final_failure_guard" - } - ] + "abatement": false, + "trigger": "unique-policy-id-1-scale-up", + "operations": [ + { + "id": "unique-policy-id-1-scale-up", + "description": "Create a new VF Module", + "operation": { + "actor": "SO", + "operation": "VF Module Create", + "target": { + "targetType": "VFMODULE", + "entityIds": { + "modelInvariantId": "e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e", + "modelVersionId": "94b18b1d-cc91-4f43-911a-e6348665f292", + "modelName": "VfwclVfwsnkBbefb8ce2bde..base_vfw..module-0", + "modelVersion": 1, + "modelCustomizationId": "47958575-138f-452a-8c8d-d89b595f8164" + } + }, + "payload": { + "requestParameters": "{\"usePreload\":true,\"userParams\":[]}", + "configurationParameters": "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" + } + }, + "timeout": 1200, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } } } ] diff --git a/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.yaml b/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.yaml index a09a235a4..84d7efb0c 100644 --- a/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.yaml +++ b/models-examples/src/main/resources/policies/vDNS.policy.operational.output.tosca.yaml @@ -1,36 +1,39 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0 topology_template: policies: - - - operational.scaleout: - type: onap.policies.controlloop.Operational - version: 1.0.0 - metadata: - policy-id: operational.scaleout - policy-version: 1 - properties: - controlLoop: - version: 2.0.0 - controlLoopName: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - trigger_policy: unique-policy-id-1-scale-up - timeout: 1200 - abatement: false - policies: - - id: unique-policy-id-1-scale-up - name: Create a new VF Module - description: - actor: SO - recipe: VF Module Create - target: - type: VNF - payload: - requestParameters: '{"usePreload":true,"userParams":[]}' - configurationParameters: '[{"ip-addr":"$.vf-module-topology.vf-module-parameters.param[9]","oam-ip-addr":"$.vf-module-topology.vf-module-parameters.param[16]","enabled":"$.vf-module-topology.vf-module-parameters.param[23]"}]' - retry: 0 - timeout: 1200 - success: final_success - failure: final_failure - failure_timeout: final_failure_timeout - failure_retries: final_failure_retries - failure_exception: final_failure_exception - failure_guard: final_failure_guard
\ No newline at end of file + - operational.scaleout: + type: onap.policies.controlloop.operational.common.Drools + type_version: 1.0.0 + metadata: + policy-id: operational.scaleout + properties: + id: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 + timeout: 1200 + abatement: false + trigger: unique-policy-id-1-scale-up + operations: + - id: unique-policy-id-1-scale-up + description: Create a new VF Module + operation: + actor: SO + operation: VF Module Create + target: + targetType: VFMODULE + entityIds: + modelInvariantId: e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e + modelVersionId: 94b18b1d-cc91-4f43-911a-e6348665f292 + modelName: VfwclVfwsnkBbefb8ce2bde..base_vfw..module-0 + modelVersion: 1 + modelCustomizationId: 47958575-138f-452a-8c8d-d89b595f8164 + payload: + requestParameters: '{"usePreload":true,"userParams":[]}' + configurationParameters: '[{"ip-addr":"$.vf-module-topology.vf-module-parameters.param[9]","oam-ip-addr":"$.vf-module-topology.vf-module-parameters.param[16]","enabled":"$.vf-module-topology.vf-module-parameters.param[23]"}]' + timeout: 1200 + retries: 0 + success: final_success + failure: final_failure + failure_timeout: final_failure_timeout + failure_retries: final_failure_retries + failure_exception: final_failure_exception + failure_guard: final_failure_guard + controllerName: usecases diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/utils/ToscaUtils.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/utils/ToscaUtils.java index 88591bd91..3f2ebe797 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/utils/ToscaUtils.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/utils/ToscaUtils.java @@ -234,16 +234,16 @@ public final class ToscaUtils { @SuppressWarnings("unchecked") Set<JpaToscaEntityType<ToscaEntity>> ancestorEntitySet = (Set<JpaToscaEntityType<ToscaEntity>>) entityTypes .getAll(parentEntityTypeKey.getName(), parentEntityTypeKey.getVersion()); - + Set<JpaToscaEntityType<ToscaEntity>> ancestorEntitySetToReturn = new HashSet<>(ancestorEntitySet); if (ancestorEntitySet.isEmpty()) { result.addValidationMessage(new PfValidationMessage(entityType.getKey(), ToscaUtils.class, ValidationResult.INVALID, "parent " + parentEntityTypeKey.getId() + " of entity not found")); } else { for (JpaToscaEntityType<?> filteredEntityType : ancestorEntitySet) { - ancestorEntitySet.addAll(getEntityTypeAncestors(entityTypes, filteredEntityType, result)); + ancestorEntitySetToReturn.addAll(getEntityTypeAncestors(entityTypes, filteredEntityType, result)); } } - return ancestorEntitySet; + return ancestorEntitySetToReturn; } /** |