summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--csit/apex-pdp/tests/apex-pdp-test.robot12
-rw-r--r--csit/apex-pdp/tests/data/onap.pnf.metadataSet.Test.json2735
-rw-r--r--csit/apex-pdp/tests/data/onap.policies.apex.pnf.metadataSet.Test.json165
-rw-r--r--csit/api/plans/setup.sh3
-rw-r--r--csit/api/tests/api-test.robot33
-rw-r--r--csit/common-library.robot26
-rw-r--r--csit/compose-grafana.yml1
-rw-r--r--csit/config/clamp/application-smoke.properties197
-rw-r--r--csit/config/clamp/gui/application.yaml43
-rw-r--r--csit/config/clamp/org.onap.clamp.keyfile27
-rw-r--r--csit/config/clamp/policy-clamp-create-tables.sql275
-rwxr-xr-xcsit/config/db/db.sh4
-rw-r--r--csit/docker-compose-all.yml1
-rw-r--r--csit/docker-compose-gui-smoke.yml361
-rw-r--r--csit/get-versions.sh3
-rw-r--r--csit/pap/plans/setup.sh3
-rw-r--r--csit/pap/tests/data/apex.policy.decisionmaker.input.tosca.json184
-rw-r--r--csit/pap/tests/data/create.group.request.json12
-rw-r--r--csit/pap/tests/data/deploy.group.request.json10
-rw-r--r--csit/pap/tests/pap-test.robot23
-rwxr-xr-xcsit/prepare-config-files.py2
-rwxr-xr-xcsit/start-gui-smoke-components.sh29
-rwxr-xr-xcsit/stop-gui-smoke.sh26
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/postgres/0900/upgrade/0150-pdpstatistics.sql2
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql20
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0160-jpapolicyaudit_pk.sql2
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0170-pdpstatistics_pk.sql2
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql20
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql20
-rw-r--r--policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql20
30 files changed, 4250 insertions, 11 deletions
diff --git a/csit/apex-pdp/tests/apex-pdp-test.robot b/csit/apex-pdp/tests/apex-pdp-test.robot
index 911a4371..ffa501d7 100644
--- a/csit/apex-pdp/tests/apex-pdp-test.robot
+++ b/csit/apex-pdp/tests/apex-pdp-test.robot
@@ -53,6 +53,18 @@ ExecuteApexTestVnfPolicy
Should Be Equal As Integers ${result.rc} 0
Wait Until Keyword Succeeds 2 min 5 sec TriggerAndVerifyTestVnfPolicy
+ExecuteApexTestPnfPolicyWithMetadataSet
+ Set Test Variable ${policyName} onap.policies.apex.pnf.metadataSet.Test
+ ${postjson}= Get file ${CURDIR}/data/${policyName}.json
+ CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0
+ ${postjson}= Get file ${CURDIR}/data/onap.pnf.metadataSet.Test.json
+ CreateNodeTemplate /policy/api/v1/nodetemplates 200 ${postjson} 1
+ DeployPolicy
+ Wait Until Keyword Succeeds 2 min 5 sec QueryPolicyStatus ${policyName} defaultGroup apex ${pdpName} onap.policies.native.Apex
+ ${result}= Run Process ${SCRIPTS}/make_topic.sh APEX-CL-MGT2
+ Should Be Equal As Integers ${result.rc} 0
+ Wait Until Keyword Succeeds 2 min 5 sec TriggerAndVerifyTestPnfPolicy
+
*** Keywords ***
DeployPolicy
diff --git a/csit/apex-pdp/tests/data/onap.pnf.metadataSet.Test.json b/csit/apex-pdp/tests/data/onap.pnf.metadataSet.Test.json
new file mode 100644
index 00000000..c59f695a
--- /dev/null
+++ b/csit/apex-pdp/tests/data/onap.pnf.metadataSet.Test.json
@@ -0,0 +1,2735 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
+ "node_types": {
+ "org.onap.nodetypes.policy.MetadataSet": {
+ "derived_from": "tosca.nodetypes.Root",
+ "version": "1.0.0"
+ }
+ },
+
+ "topology_template": {
+ "node_templates": {
+ "apex.metadata.pnf": {
+ "version": "1.0.0",
+ "type": "org.onap.nodetypes.policy.MetadataSet",
+ "type_version": "1.0.0",
+ "description": "Metadata set for apex pnf Policy",
+ "metadata": {
+ "apexPolicyModel": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_KeyInfo",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "UUID": "7218fb2f-59e3-321d-9ae1-bc97b19eb4ae",
+ "description": "Generated description for concept referred to by key \"SimpleBooleanType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "c8a29e27-0a15-354a-84f9-4c7f207e5c81",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAIFailureResponseEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "UUID": "5e843cee-0180-39b9-8989-180b2ffe11c0",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAIFailureResponseHandlerPolicy2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "UUID": "90291c92-9b27-3cd9-8720-db572419c048",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAIRequestErrorType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "7b7e6751-4e0b-389d-98c0-5567bbc0294c",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAIRequestEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "63d5680c-14ef-3505-8d34-ebb646bba07b",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAISuccessResponseEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "UUID": "a84ca97d-6e94-39a2-91f9-59a6c9aa435e",
+ "description": "Generated description for concept referred to by key \"SimpleCL_AAISuccessResponseHandlerPolicy2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "UUID": "0e2ee622-7fd3-3e49-82e2-539c4f5e9624",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSActionIdentifiersType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "e84f8682-ea33-3ad0-8626-8bc4634581fc",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "UUID": "a252f835-2479-38ef-9ef4-20af62725752",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "UUID": "cfc46ea9-b8c1-38dd-ac9c-304c916daf34",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseTask2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "1e7095d6-a455-3f89-acae-486e35d7e311",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyRequestEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "UUID": "d22ea83b-695d-3da9-b9f5-41f16ca433bf",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyRequestPayloadType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "UUID": "e9fe2e40-1f0d-30dd-8b9e-885695878693",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyResponsePayloadType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "5e04fa76-0a17-38a9-8524-23b2d1a23fa5",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "UUID": "15866380-40f5-3f8e-87d9-13747a36d352",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "UUID": "2c3d76ce-dd42-32ac-a397-ab418534e1cf",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseTask2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "UUID": "b99c44da-dae7-3c96-b528-58852537d063",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSFailureResponseCommonHeaderType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "UUID": "1db688e2-3afe-3b03-9795-fdbfa80fa240",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSFailureResponseStatusType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "UUID": "31022456-e85b-3a9b-9ecb-a09691792d3e",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSRequestCommonHeaderType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "UUID": "d6075720-622e-3a0d-827a-aa4580a2f5d7",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSSuccessResponseCommonHeaderType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "UUID": "948359ff-3308-3ac5-a5ec-6e3c1b9cd4d5",
+ "description": "Generated description for concept referred to by key \"SimpleCL_CDSSuccessResponseStatusType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "63a6fd26-2fd6-3a0e-8a27-49a5d2ea4644",
+ "description": "Generated description for concept referred to by key \"SimpleCL_EventDetailsAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbumType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbumType",
+ "version": "0.0.1"
+ },
+ "UUID": "a0407d0b-5719-38bf-9529-25ad62ace8c4",
+ "description": "Generated description for concept referred to by key \"SimpleCL_EventDetailsAlbumType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "UUID": "28e894dc-4ab8-3469-aab7-d81bd05bb4c9",
+ "description": "Generated description for concept referred to by key \"SimpleCL_HandleAAIFailureResponseTask2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "UUID": "073f1433-999e-3506-98ad-ef820d2fa7f0",
+ "description": "Generated description for concept referred to by key \"SimpleCL_HandleAAISuccessResponseTask2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "UUID": "afc6ed46-6801-3c85-bb4c-0ab5b0dd4a74",
+ "description": "Generated description for concept referred to by key \"SimpleCL_HandleVesEventTask2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "317be184-a01a-3e2d-9ae4-cafaa405de70",
+ "description": "Generated description for concept referred to by key \"SimpleCL_LogEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "UUID": "be7fc79b-9b73-381a-8e23-9dd6e6b1233d",
+ "description": "Generated description for concept referred to by key \"SimpleCL_LogEventComponentType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "UUID": "1a082851-49e3-3f4c-b023-c05236cc8389",
+ "description": "Generated description for concept referred to by key \"SimpleCL_LogEventOtherFieldsType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "UUID": "cab6cd51-ea7b-3241-a173-ea8a24e29737",
+ "description": "Generated description for concept referred to by key \"SimpleCL_LogEventTargetType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "0f57665a-f0a9-314e-ad0a-04c1f5758174",
+ "description": "Generated description for concept referred to by key \"SimpleCL_VesEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEventHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_VesEventHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "UUID": "ba5d9a46-8cb4-3fbe-84fd-eabba5b7dd4b",
+ "description": "Generated description for concept referred to by key \"SimpleCL_VesEventHandlerPolicy2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "UUID": "9fd7a967-57d4-36ef-81e9-c3396f3aa8d1",
+ "description": "Generated description for concept referred to by key \"SimpleCL_VesEventType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleLongType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleLongType",
+ "version": "0.0.1"
+ },
+ "UUID": "2dfcd9ec-a6f9-3f9f-958f-9b36cf4ac574",
+ "description": "Generated description for concept referred to by key \"SimpleLongType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
+ "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2",
+ "version": "0.0.1"
+ },
+ "UUID": "ecc97b87-f30b-344c-a476-d36501bf5cbd",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Albums",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Albums",
+ "version": "0.0.1"
+ },
+ "UUID": "1469671a-56dd-3a68-bf6c-77a5cf7a9487",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_Albums:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Events",
+ "version": "0.0.1"
+ },
+ "UUID": "23c4eee4-aba5-36f6-96d6-46f40061bfed",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_KeyInfo",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_KeyInfo",
+ "version": "0.0.1"
+ },
+ "UUID": "ea9e73ff-483c-3827-896c-6eaa9d69bc6e",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_KeyInfo:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "38c068e5-bb9a-3997-9e50-ec77c66825c8",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Schemas",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Schemas",
+ "version": "0.0.1"
+ },
+ "UUID": "38514b27-8b9b-3d06-844a-3aced27deb0a",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_Schemas:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "0e0387b5-07fa-30e4-8554-eb51d2e18939",
+ "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop2_Tasks:0.0.1\""
+ }
+ }
+ ]
+ }
+ },
+ "policies": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "SimpleCL_ReceiveAAIFailureResponseState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "SimpleCL_ReceiveAAIFailureResponseState"
+ },
+ "trigger": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "AAIFailureStateOutput",
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState",
+ "localName": "AAIFailureStateOutput"
+ },
+ "outgoingEvent": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": "NULL",
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState",
+ "localName": "SimpleCL_AAIFailureResponseHandlerPolicy2"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState",
+ "localName": "AAIFailureStateOutput"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "SimpleCL_ReceiveAAIFailureResponseState"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "SimpleCL_ReceiveAAISuccessResponseState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "SimpleCL_ReceiveAAISuccessResponseState"
+ },
+ "trigger": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "AAISuccessStateOutput",
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState",
+ "localName": "AAISuccessStateOutput"
+ },
+ "outgoingEvent": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": "NULL",
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState",
+ "localName": "SimpleCL_AAISuccessResponseHandlerPolicy2"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState",
+ "localName": "AAISuccessStateOutput"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "SimpleCL_ReceiveAAISuccessResponseState"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "SimpleCL_CDSConfigModifyFailureResponseState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "SimpleCL_CDSConfigModifyFailureResponseState"
+ },
+ "trigger": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "ConfigModifyFailureResponseOutput",
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState",
+ "localName": "ConfigModifyFailureResponseOutput"
+ },
+ "outgoingEvent": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": "NULL",
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState",
+ "localName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState",
+ "localName": "ConfigModifyFailureResponseOutput"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "SimpleCL_CDSConfigModifyFailureResponseState"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "SimpleCL_CDSConfigModifySuccessResponseState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "SimpleCL_CDSConfigModifySuccessResponseState"
+ },
+ "trigger": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "ConfigModifySuccessResponseOutput",
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState",
+ "localName": "ConfigModifySuccessResponseOutput"
+ },
+ "outgoingEvent": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": "NULL",
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState",
+ "localName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState",
+ "localName": "ConfigModifySuccessResponseOutput"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "SimpleCL_CDSConfigModifySuccessResponseState"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEventHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "SimpleCL_VesEventHandlerPolicy2",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "SimpleCL_ReceiveVesState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "SimpleCL_VesEventHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "SimpleCL_ReceiveVesState"
+ },
+ "trigger": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "VesOutput",
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_VesEventHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveVesState",
+ "localName": "VesOutput"
+ },
+ "outgoingEvent": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": "NULL",
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "SimpleCL_VesEventHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveVesState",
+ "localName": "SimpleCL_VesEventHandlerPolicy2"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "SimpleCL_VesEventHandlerPolicy2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "SimpleCL_ReceiveVesState",
+ "localName": "VesOutput"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "SimpleCL_ReceiveVesState"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "CDS",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "status",
+ "value": {
+ "key": "status",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "SimpleCL_LogEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "TaskLogic",
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar albumID = executor.getExecutionProperties().getProperty(\"albumId\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\n\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\nvar errorMessage = \"CDS operation failed. Error message from CDS - \" + executor.inFields.get(\"status\").get(\"errorMessage\");\nvar logEventFields = populateLogEventFields(commonEventHeader.get(\"eventId\"), eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\").get(\"pnfName\"), \"PNF\", \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + errorMessage);\nexecutor.addFieldsToOutput(logEventFields);\nexecutor.logger.info(executor.outFieldsList);\ntrue;\n\nfunction populateLogEventFields(eventId, pnfName, targetType, status, message) {\n var timestamp = longType(new Date().getTime());\n var logEventFields = java.util.HashMap();\n logEventFields.put(\"id\", eventId);\n \n var entityInfo = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewSubInstance(\"entityInfo\");\n entityInfo.put(\"pnf_DasH_name\", pnfName);\n var target = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewInstance();\n target.put(\"entityInfo\", entityInfo);\n target.put(\"targetType\", targetType)\n logEventFields.put(\"target\", target);\n \n var artifacts = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewSubInstance(\"artifacts\");\n artifacts.put(\"policyName\", \"onap.policies.apex.Simplecontrolloop2\");\n artifacts.put(\"policyVersion\", \"1.0.0\");\n var component = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewInstance();\n component.put(\"artifacts\", artifacts);\n component.put(\"name\", \"Policy\")\n component.put(\"flavour\", \"Apex-PDP\")\n component.put(\"timestamp\", timestamp)\n component.put(\"status\", status)\n component.put(\"message\", message)\n logEventFields.put(\"component\", component);\n \n var otherFieldsEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"otherFields\").createNewInstance();\n otherFieldsEntry.put(\"useCaseName\", \"simple-controlloop-usecase\");\n logEventFields.put(\"otherFields\", otherFieldsEntry);\n \n return logEventFields;\n}"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "CDS",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "status",
+ "value": {
+ "key": "status",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "SimpleCL_LogEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "TaskLogic",
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar albumID = executor.getExecutionProperties().getProperty(\"albumId\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\n\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\n\nvar logEventFields = populateLogEventFields(commonEventHeader.get(\"eventId\"), eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\").get(\"pnfName\"), \"PNF\", \"FINAL_SUCCESS\", \"Successfully processed the VES event. Hostname is updated.\")\nexecutor.addFieldsToOutput(logEventFields);\nexecutor.logger.info(executor.outFieldsList);\ntrue;\n\nfunction populateLogEventFields(eventId, pnfName, targetType, status, message) {\n var timestamp = longType(new Date().getTime());\n var logEventFields = java.util.HashMap();\n logEventFields.put(\"id\", eventId);\n \n var entityInfo = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewSubInstance(\"entityInfo\");\n entityInfo.put(\"pnf_DasH_name\", pnfName);\n var target = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewInstance();\n target.put(\"entityInfo\", entityInfo);\n target.put(\"targetType\", targetType)\n logEventFields.put(\"target\", target);\n \n var artifacts = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewSubInstance(\"artifacts\");\n artifacts.put(\"policyName\", \"onap.policies.apex.Simplecontrolloop2\");\n artifacts.put(\"policyVersion\", \"1.0.0\");\n var component = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewInstance();\n component.put(\"artifacts\", artifacts);\n component.put(\"name\", \"Policy\")\n component.put(\"flavour\", \"Apex-PDP\")\n component.put(\"timestamp\", timestamp)\n component.put(\"status\", status)\n component.put(\"message\", message)\n logEventFields.put(\"component\", component);\n \n var otherFieldsEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"otherFields\").createNewInstance();\n otherFieldsEntry.put(\"useCaseName\", \"simple-controlloop-usecase\");\n logEventFields.put(\"otherFields\", otherFieldsEntry);\n \n return logEventFields;\n}"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleAAIFailureResponseTask2",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "AAI",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "requestError",
+ "value": {
+ "key": "requestError",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "SimpleCL_LogEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "TaskLogic",
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar albumID = executor.getExecutionProperties().getProperty(\"albumId\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\n\nvar aaiErrorMessage = \"AAI operation failed. Error message from AAI - \" + executor.inFields.get(\"requestError\").get(\"serviceException\").get(\"text\");\n\nvar logEventFields = populateLogEventFields(eventDetailsAlbum.get(\"commonEventHeader\").get(\"eventId\"), eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\").get(\"pnfName\"), \"PNF\", \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + aaiErrorMessage)\nexecutor.addFieldsToOutput(logEventFields);\nexecutor.logger.info(executor.outFieldsList);\ntrue;\n\nfunction populateLogEventFields(eventId, pnfName, targetType, status, message) {\n var timestamp = longType(new Date().getTime());\n var logEventFields = java.util.HashMap();\n logEventFields.put(\"id\", eventId);\n \n var entityInfo = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewSubInstance(\"entityInfo\");\n entityInfo.put(\"pnf_DasH_name\", pnfName);\n var target = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewInstance();\n target.put(\"entityInfo\", entityInfo);\n target.put(\"targetType\", targetType)\n logEventFields.put(\"target\", target);\n \n var artifacts = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewSubInstance(\"artifacts\");\n artifacts.put(\"policyName\", \"onap.policies.apex.Simplecontrolloop2\");\n artifacts.put(\"policyVersion\", \"1.0.0\");\n var component = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewInstance();\n component.put(\"artifacts\", artifacts);\n component.put(\"name\", \"Policy\")\n component.put(\"flavour\", \"Apex-PDP\")\n component.put(\"timestamp\", timestamp)\n component.put(\"status\", status)\n component.put(\"message\", message)\n logEventFields.put(\"component\", component);\n \n var otherFieldsEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"otherFields\").createNewInstance();\n otherFieldsEntry.put(\"useCaseName\", \"simple-controlloop-usecase\");\n logEventFields.put(\"otherFields\", otherFieldsEntry);\n \n return logEventFields;\n}"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleAAISuccessResponseTask2",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "AAI",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "equip-model",
+ "value": {
+ "key": "equip-model",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "equip-type",
+ "value": {
+ "key": "equip-type",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "equip-vendor",
+ "value": {
+ "key": "equip-vendor",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "frame-id",
+ "value": {
+ "key": "frame-id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "in-maint",
+ "value": {
+ "key": "in-maint",
+ "fieldSchemaKey": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "ipaddress-v4-oam",
+ "value": {
+ "key": "ipaddress-v4-oam",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "nf-role",
+ "value": {
+ "key": "nf-role",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "pnf-ipv4-address",
+ "value": {
+ "key": "pnf-ipv4-address",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "pnf-name",
+ "value": {
+ "key": "pnf-name",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "resource-version",
+ "value": {
+ "key": "resource-version",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "SimpleCL_CDSConfigModifyRequestEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "SimpleCL_LogEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "TaskLogic",
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "var uuidType = java.util.UUID;\nvar HashMapType = java.util.HashMap;\nvar longType = java.lang.Long;\n\nvar albumID = executor.getExecutionProperties().getProperty(\"albumId\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\nexecutor.logger.info(\"HandleAAISuccessResponseTask extracted context album - \" + albumID.toString() + \"::\" + eventDetailsAlbum);\n\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\nvar otherFieldsMap = eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\");\n\nvar targetEntityName = executor.inFields.get(\"pnf-name\")\nvar logMessage = \"\";\nvar existingHostname = executor.inFields.get(\"pnf-name2\");\nvar hostnameInVesEvent = otherFieldsMap.get(\"hostname\");\n\nvar albumSchemaHelper = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").getSchemaHelper();\nvar target = albumSchemaHelper.createNewSubInstance(\"target\");\ntarget.put(\"targetType\", \"PNF\")\nvar entityInfo = albumSchemaHelper.createNewSubInstance(\"entityInfo\");\nentityInfo.put(\"name\",targetEntityName);\ntarget.put(\"entityInfo\", entityInfo);\neventDetailsAlbum.put(\"target\", target);\n\nvar returnVal = true;\nif ((String(hostnameInVesEvent) != \"UNDEFINED\") && (String(existingHostname) != String(hostnameInVesEvent))) {\n logMessage = \"Hostname available in AAI does not match with the hostname received in the VES Event.\";\n returnVal = false\n var logEventFields = populateLogEventFields(commonEventHeader.get(\"eventId\"), otherFieldsMap.get(\"pnfName\"), \"PNF\", \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + logMessage)\n executor.addFieldsToOutput(logEventFields);\n} else {\n logMessage = \"Received response from AAI successfully. Hostname in AAI matches with the one in Ves event. Going to make the update-config request to CDS.\";\n\n var commonHeader = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_CDSConfigModifyRequestEvent\", \"commonHeader\").createNewInstance();\n commonHeader.put(\"subRequestId\", albumID.toString());\n commonHeader.put(\"requestId\", commonEventHeader.get(\"eventId\"));\n commonHeader.put(\"originatorId\", \"POLICY\");\n\n var blueprintName = \"controlloop-hostname-update\";\n var blueprintVersion = \"1.0.4\";\n var newHostname = \"host\" + Math.random().toString(36).substring(7);\n eventDetailsAlbum.put(\"generatedHostname\", newHostname);\n\n var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_CDSConfigModifyRequestEvent\", \"actionIdentifiers\").createNewInstance();\n actionIdentifiers.put(\"mode\", \"sync\");\n actionIdentifiers.put(\"blueprintName\", blueprintName);\n actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n actionIdentifiers.put(\"actionName\", \"update-config\");\n\n var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_CDSConfigModifyRequestEvent\", \"payload\").createNewSubInstance(\"CDSConfigModifyRequestPayloadEntry\");\n payloadEntry.put(\"hostname\", newHostname)\n payloadEntry.put(\"IP\", executor.inFields.get(\"ipaddress-v4-oam\"));\n payloadEntry.put(\"pnfName\", otherFieldsMap.get(\"pnfName\"));\n\n var payload = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_CDSConfigModifyRequestEvent\", \"payload\").createNewInstance();\n payload.put(\"update_DasH_config_DasH_request\", payloadEntry);\n\n var cdsRequestEventFields = java.util.HashMap();\n cdsRequestEventFields.put(\"commonHeader\", commonHeader);\n cdsRequestEventFields.put(\"actionIdentifiers\", actionIdentifiers);\n cdsRequestEventFields.put(\"payload\", payload);\n executor.addFieldsToOutput(cdsRequestEventFields);\n\n var logEventFields = populateLogEventFields(commonEventHeader.get(\"eventId\"), otherFieldsMap.get(\"pnfName\"), \"PNF\", \"SUCCESS\", logMessage)\n executor.addFieldsToOutput(logEventFields);\n}\nexecutor.logger.info(executor.outFieldsList);\nreturnVal;\n\nfunction populateLogEventFields(eventId, pnfName, targetType, status, message) {\n var timestamp = longType(new Date().getTime());\n var logEventFields = java.util.HashMap();\n logEventFields.put(\"id\", eventId);\n \n var entityInfo = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewSubInstance(\"entityInfo\");\n entityInfo.put(\"pnf_DasH_name\", pnfName);\n var target = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewInstance();\n target.put(\"entityInfo\", entityInfo);\n target.put(\"targetType\", targetType)\n logEventFields.put(\"target\", target);\n \n var artifacts = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewSubInstance(\"artifacts\");\n artifacts.put(\"policyName\", \"onap.policies.apex.Simplecontrolloop2\");\n artifacts.put(\"policyVersion\", \"1.0.0\");\n var component = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewInstance();\n component.put(\"artifacts\", artifacts);\n component.put(\"name\", \"Policy\")\n component.put(\"flavour\", \"Apex-PDP\")\n component.put(\"timestamp\", timestamp)\n component.put(\"status\", status)\n component.put(\"message\", message)\n logEventFields.put(\"component\", component);\n \n var otherFieldsEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"otherFields\").createNewInstance();\n otherFieldsEntry.put(\"useCaseName\", \"simple-controlloop-usecase\");\n logEventFields.put(\"otherFields\", otherFieldsEntry);\n \n return logEventFields;\n}"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_HandleVesEventTask2",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "DCAE",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "event",
+ "value": {
+ "key": "event",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "SimpleCL_AAIRequestEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "AAI",
+ "parameter": {
+ "entry": [
+ {
+ "key": "aaifield",
+ "value": {
+ "key": "aaifield",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "SimpleCL_LogEvent",
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "TaskLogic",
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "var uuidType = java.util.UUID;\nvar HashMapType = java.util.HashMap;\nvar longType = java.lang.Long;\n\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").getSchemaHelper().createNewInstance();\nvar returnValue = true;\n\nvar event = executor.inFields.get(\"event\");\nexecutor.logger.info(\"HandleVesEventTask processing VES event - \" + event);\n\nvar commonEventHeader = event.get(\"commonEventHeader\");\nvar otherFields = event.get(\"otherFields\");\n// albumID will be used to fetch info from our album later. Storing event data in album by sourceId / AAI pnf-id, the same will be sent to CDS request payload as subRequestId\nvar albumID = commonEventHeader.get(\"sourceId\");\n// save the event processing start time in apex\ncommonEventHeader.put(\"startEpochMicrosec\", longType(new Date().getTime()));\n//save the incoming event details to album\neventDetailsAlbum.put(\"commonEventHeader\", commonEventHeader);\neventDetailsAlbum.put(\"otherFields\", otherFields);\nexecutor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").put(albumID.toString(), eventDetailsAlbum);\nexecutor.logger.info(\"HandleVesEventTask storing context album - \" + albumID.toString() + \"::\" + eventDetailsAlbum);\n\nexecutor.getExecutionProperties().setProperty(\"albumId\", albumID);\nexecutor.getExecutionProperties().setProperty(\"pnfName\", otherFields.get(\"hashMap\").get(\"pnfName\"));\n\nvar logEventFields = populateLogEventFields(eventDetailsAlbum.get(\"commonEventHeader\").get(\"eventId\"), otherFields.get(\"hashMap\").get(\"pnfName\"), \"PNF\", \"ACTIVE\", \"VES event has been received. Going to fetch details from AAI.\")\n\nexecutor.addFieldsToOutput(logEventFields);\n\nexecutor.logger.info(executor.outFieldsList);\nreturnValue;\n\nfunction populateLogEventFields(eventId, pnfName, targetType, status, message) {\n // populate logEventFields\n var timestamp = longType(new Date().getTime());\n var logEventFields = java.util.HashMap();\n logEventFields.put(\"id\", eventId);\n \n var entityInfo = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewSubInstance(\"entityInfo\");\n entityInfo.put(\"pnf_DasH_name\", pnfName);\n var target = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"target\").createNewInstance();\n target.put(\"entityInfo\", entityInfo);\n target.put(\"targetType\", targetType)\n logEventFields.put(\"target\", target);\n \n var artifacts = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewSubInstance(\"artifacts\");\n artifacts.put(\"policyName\", \"onap.policies.apex.Simplecontrolloop2\");\n artifacts.put(\"policyVersion\", \"1.0.0\");\n var component = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"component\").createNewInstance();\n component.put(\"artifacts\", artifacts);\n component.put(\"name\", \"Policy\")\n component.put(\"flavour\", \"Apex-PDP\")\n component.put(\"timestamp\", timestamp)\n component.put(\"status\", status)\n component.put(\"message\", message)\n logEventFields.put(\"component\", component);\n \n var otherFieldsEntry = executor.subject.getOutFieldSchemaHelper(\"SimpleCL_LogEvent\", \"otherFields\").createNewInstance();\n otherFieldsEntry.put(\"useCaseName\", \"simple-controlloop-usecase\");\n logEventFields.put(\"otherFields\", otherFieldsEntry);\n \n return logEventFields;\n}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "AAI",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "requestError",
+ "value": {
+ "key": "requestError",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIRequestEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "AAI",
+ "parameter": {
+ "entry": [
+ {
+ "key": "aaifield",
+ "value": {
+ "key": "aaifield",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAISuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "AAI",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "equip-model",
+ "value": {
+ "key": "equip-model",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "equip-type",
+ "value": {
+ "key": "equip-type",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "equip-vendor",
+ "value": {
+ "key": "equip-vendor",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "frame-id",
+ "value": {
+ "key": "frame-id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "in-maint",
+ "value": {
+ "key": "in-maint",
+ "fieldSchemaKey": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "ipaddress-v4-oam",
+ "value": {
+ "key": "ipaddress-v4-oam",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "nf-role",
+ "value": {
+ "key": "nf-role",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "pnf-ipv4-address",
+ "value": {
+ "key": "pnf-ipv4-address",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "pnf-name",
+ "value": {
+ "key": "pnf-name",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "resource-version",
+ "value": {
+ "key": "resource-version",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "CDS",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "status",
+ "value": {
+ "key": "status",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifySuccessResponseEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "CDS",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "actionIdentifiers",
+ "value": {
+ "key": "actionIdentifiers",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "commonHeader",
+ "value": {
+ "key": "commonHeader",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "payload",
+ "value": {
+ "key": "payload",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "status",
+ "value": {
+ "key": "status",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "APEX",
+ "target": "DCAE",
+ "parameter": {
+ "entry": [
+ {
+ "key": "component",
+ "value": {
+ "key": "component",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "id",
+ "value": {
+ "key": "id",
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "otherFields",
+ "value": {
+ "key": "otherFields",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "target",
+ "value": {
+ "key": "target",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_VesEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.simplecontrolloop",
+ "source": "DCAE",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "event",
+ "value": {
+ "key": "event",
+ "fieldSchemaKey": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Albums",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "policy",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "SimpleCL_EventDetailsAlbumType",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "onap.policies.apex.Simplecontrolloop2_Schemas",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleBooleanType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Boolean"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_AAIRequestErrorType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"AAIRequestErrorType\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"serviceException\",\n \"type\": {\n \"name\": \"serviceException\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"messageId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"text\",\n \"type\": \"string\"\n },\n {\n \"name\": \"variables\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n }\n ]\n }\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSActionIdentifiersType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSActionIdentifiers_Type\",\n \"fields\": [\n {\n \"name\": \"actionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintVersion\",\n \"type\": \"string\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyRequestPayloadType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"map\",\n \"values\": {\n \"type\": \"record\",\n \"name\": \"CDSConfigModifyRequestPayloadEntry\",\n \"fields\": [\n {\n \"name\": \"hostname\",\n \"type\": \"string\"\n },\n {\n \"name\": \"IP\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfName\",\n \"type\": \"string\"\n }\n ]\n }\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSConfigModifyResponsePayloadType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"CDSConfigResponsePayloadEntry\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"update_DasH_config_DasH_response\",\n \"type\": {\n \"name\": \"update_DasH_config_DasH_response\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"execute_DasH_command_DasH_logs\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n },\n {\n \"name\": \"prepare_DasH_environment_DasH_logs\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n }\n ]\n }\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSFailureResponseStatusType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseStatus_Type\",\n \"fields\": [\n {\n \"name\": \"code\",\n \"type\": \"int\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorMessage\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSRequestCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSRequestCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseCommonHeaderType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_CDSSuccessResponseStatusType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseStatus_Type\",\n \"fields\": [\n {\n \"name\": \"code\",\n \"type\": \"int\"\n },\n {\n \"name\": \"eventType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbumType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_EventDetailsAlbumType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"eventDetails\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"commonEventHeader\",\n \"type\": {\n \"name\": \"commonEventHeader\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"domain\",\n \"type\": \"string\"\n },\n {\n \"name\": \"eventId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"eventName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"lastEpochMicrosec\",\n \"type\": \"long\"\n },\n {\n \"name\": \"priority\",\n \"type\": \"string\"\n },\n {\n \"name\": \"reportingEntityName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"sequence\",\n \"type\": \"int\"\n },\n {\n \"name\": \"sourceId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"sourceName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"startEpochMicrosec\",\n \"type\": \"long\"\n },\n {\n \"name\": \"timeZoneOffset\",\n \"type\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\"\n },\n {\n \"name\": \"internalHeaderFields\",\n \"type\": {\n \"name\": \"internalHeaderFields\",\n \"type\": \"record\",\n \"fields\": []\n }\n },\n {\n \"name\": \"vesEventListenerVersion\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"otherFields\",\n \"type\": {\n \"name\": \"otherFields\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"hashMap\",\n \"type\": {\n \"name\": \"hashMap\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"hostname\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"ip\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"otherFieldsVersion\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"target\",\n \"type\": {\n \"name\": \"target\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"targetType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"entityInfo\",\n \"type\": {\n \"name\": \"entityInfo\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"generatedHostname\",\n \"type\": \"string\"\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventComponentType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"component\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"name\": \"flavour\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"long\"\n },\n {\n \"name\": \"status\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n },\n {\n \"name\": \"artifacts\",\n \"type\": {\n \"name\": \"artifacts\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"policyName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"policyVersion\",\n \"type\": \"string\"\n }\n ]\n }\n }\n ]\n }"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventOtherFieldsType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"otherFields\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"useCaseName\",\n \"type\": \"string\"\n }\n ]\n }"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_LogEventTargetType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\": \"target\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"targetType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"entityInfo\",\n \"type\": {\n \"name\": \"entityInfo\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"pnf_DasH_name\",\n \"type\": \"string\"\n }\n ]\n }\n }\n ]\n }"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleCL_VesEventType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Avro",
+ "schemaDefinition": "{\n \"name\":\"event\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"commonEventHeader\",\n \"type\":{\n \"name\":\"commonEventHeader\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"domain\",\n \"type\":\"string\"\n },\n {\n \"name\":\"eventId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"eventName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"lastEpochMicrosec\",\n \"type\":\"long\"\n },\n {\n \"name\":\"priority\",\n \"type\":\"string\"\n },\n {\n \"name\":\"reportingEntityName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"sequence\",\n \"type\":\"int\"\n },\n {\n \"name\":\"sourceId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"sourceName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"startEpochMicrosec\",\n \"type\":\"long\"\n },\n {\n \"name\":\"version\",\n \"type\":\"string\"\n },\n {\n \"name\":\"internalHeaderFields\",\n \"type\":{\n \"name\":\"internalHeaderFields\",\n \"type\":\"record\",\n \"fields\":[\n\n ]\n }\n },\n {\n \"name\":\"vesEventListenerVersion\",\n \"type\":\"string\"\n }\n ]\n }\n },\n {\n \"name\":\"otherFields\",\n \"type\":{\n \"name\":\"otherFields\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"hashMap\",\n \"type\":{\n \"name\":\"hashMap\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"hostname\",\n \"type\":\"string\"\n },\n {\n \"name\":\"pnfName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"pnfId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"ip\",\n \"type\":\"string\"\n }\n ]\n }\n },\n {\n \"name\":\"otherFieldsVersion\",\n \"type\":\"string\"\n }\n ]\n }\n }\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleLongType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleLongType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Long"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/csit/apex-pdp/tests/data/onap.policies.apex.pnf.metadataSet.Test.json b/csit/apex-pdp/tests/data/onap.policies.apex.pnf.metadataSet.Test.json
new file mode 100644
index 00000000..767adf13
--- /dev/null
+++ b/csit/apex-pdp/tests/data/onap.policies.apex.pnf.metadataSet.Test.json
@@ -0,0 +1,165 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
+ "topology_template": {
+ "policies": [
+ {
+ "onap.policies.apex.pnf.metadataSet.Test": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "name": "onap.policies.apex.pnf.metadataSet.Test",
+ "version": "1.0.0",
+ "metadata": {
+ "metadataSetName": "apex.metadata.pnf",
+ "metadataSetVersion": "1.0.0"
+ },
+ "properties": {
+ "engineServiceParameters": {
+ "name": "NSOApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Avro": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+ }
+ }
+ },
+ "taskParameters": [
+ {
+ "key": "logUrl",
+ "value": "https://message-router:3905/events/APEX-CL-MGT2"
+ }
+ ]
+ }
+ },
+ "eventInputParameters": {
+ "SimpleCL_DCAEConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cl/apex?timeout=30000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "SimpleCL_VesEvent"
+ },
+ "SimpleCL_AAIResponseConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters",
+ "parameters": {
+ "url": "https://aai-sim:6666/aai/v16/network/pnfs/pnf/{pnfName}",
+ "httpMethod": "GET",
+ "httpCodeFilter": "[2-5][0-1][0-9]",
+ "httpHeaders": [
+ [
+ "Accept",
+ "application/json"
+ ],
+ [
+ "Content-Type",
+ "application/json"
+ ],
+ [
+ "X-FromAppId",
+ "dcae-curl"
+ ],
+ [
+ "x-transactionId",
+ "9998"
+ ],
+ [
+ "Authorization",
+ "Basic QUFJOkFBSQ=="
+ ]
+ ]
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "SimpleCL_AAISuccessResponseEvent|SimpleCL_AAIFailureResponseEvent",
+ "requestorMode": true,
+ "requestorPeer": "SimpleCL_AAIProducer2",
+ "requestorTimeout": 2000
+ },
+ "SimpleCL_CDSConfigModifyResponseConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "GRPC",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "SimpleCL_CDSConfigModifySuccessResponseEvent|SimpleCL_CDSConfigModifyFailureResponseEvent",
+ "requestorMode": true,
+ "requestorPeer": "SimpleCL_CDSConfigModifyRequestProducer2",
+ "requestorTimeout": 500
+ }
+ },
+ "eventOutputParameters": {
+ "SimpleCL_AAIProducer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "SimpleCL_AAIRequestEvent",
+ "requestorMode": true,
+ "requestorPeer": "SimpleCL_AAIResponseConsumer2",
+ "requestorTimeout": 2000
+ },
+ "SimpleCL_CDSConfigModifyRequestProducer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "GRPC",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
+ "parameters": {
+ "host": "grpc-sim",
+ "port": 6680,
+ "username": "ccsdkapps",
+ "password": "ccsdkapps",
+ "timeout": 60
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "SimpleCL_CDSConfigModifyRequestEvent",
+ "requestorMode": true,
+ "requestorPeer": "SimpleCL_CDSConfigModifyResponseConsumer2",
+ "requestorTimeout": 500
+ },
+ "SimpleCL_logOutputter2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "https://message-router:3905/events/APEX-CL-MGT2"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "SimpleCL_LogEvent"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+}
diff --git a/csit/api/plans/setup.sh b/csit/api/plans/setup.sh
index c8346e38..8a20d93d 100644
--- a/csit/api/plans/setup.sh
+++ b/csit/api/plans/setup.sh
@@ -30,6 +30,8 @@ bash "${SCRIPTS}"/get-models-examples.sh
DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies
+NODETEMPLATES=${WORKSPACE}/models/models-examples/src/main/resources/nodetemplates
+
# create a couple of variations of the policy definitions
sed -e 's!Measurement_vGMUX!ADifferentValue!' \
${DATA}/vCPE.policy.monitoring.input.tosca.json \
@@ -60,3 +62,4 @@ echo MARIADB IP IS "${MARIADB_IP}"
ROBOT_VARIABLES=""
ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}"
ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v NODETEMPLATES:${NODETEMPLATES}" \ No newline at end of file
diff --git a/csit/api/tests/api-test.robot b/csit/api/tests/api-test.robot
index 80e8afd5..c5c7e860 100644
--- a/csit/api/tests/api-test.robot
+++ b/csit/api/tests/api-test.robot
@@ -54,6 +54,12 @@ CreateNewMonitoringPolicyV2
${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.v2.json
CreatePolicy /policy/api/v1/policies 200 ${postjson} onap.restart.tca 2.0.0
+
+CreateNodeTemplates
+ [Documentation] Create node templates in database using specific api
+ ${postjson}= Get file ${NODETEMPLATES}/nodetemplates.metadatasets.input.tosca.json
+ CreateNodeTemplate /policy/api/v1/nodetemplates 200 ${postjson} 3
+
RetrievePoliciesOfType
[Documentation] Retrieve all policies belonging to a specific Policy Type
FetchPolicies /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies 2
@@ -66,6 +72,20 @@ RetrieveSpecificPolicy
[Documentation] Retrieve a policy named 'onap.restart.tca' and version '1.0.0' using generic api
FetchPolicy /policy/api/v1/policies/onap.restart.tca/versions/1.0.0 onap.restart.tca
+RetrieveAllNodeTemplates
+ [Documentation] Retrieve all node templates
+ FetchNodeTemplates /policy/api/v1/nodetemplates 3
+
+RetrieveSpecificNodeTemplate
+ [Documentation] Retrieve a node template named 'apexMetadata_grpc' and version '1.2.1' using generic api
+ FetchNodeTemplate /policy/api/v1/nodetemplates/apexMetadata_grpc/versions/1.2.1 apexMetadata_grpc
+
+DeleteSpecificNodeTemplate
+ [Documentation] Delete a node template named 'apexMetadata_adaptive' and version '2.3.1' using generic api
+ DeleteReq /policy/api/v1/nodetemplates/apexMetadata_adaptive/versions/2.3.1 200
+ DeleteReq /policy/api/v1/nodetemplates/apexMetadata_adaptive/versions/2.3.1 404
+
+
DeleteSpecificPolicy
[Documentation] Delete a policy named 'onap.restart.tca' and version '1.0.0' using generic api
DeleteReq /policy/api/v1/policies/onap.restart.tca/versions/1.0.0 200
@@ -126,3 +146,16 @@ FetchPolicies
[Documentation] Fetch all policies
${resp}= GetReq ${url}
Length Should Be ${resp.json()['topology_template']['policies']} ${expectedLength}
+
+
+FetchNodeTemplates
+ [Arguments] ${url} ${expectedLength}
+ [Documentation] Fetch all node templates
+ ${resp}= GetReq ${url}
+ Length Should Be ${resp.json()} ${expectedLength}
+
+FetchNodeTemplate
+ [Arguments] ${url} ${keyword}
+ [Documentation] Fetch the specific node template
+ ${resp}= GetReq ${url}
+ Dictionary Should Contain Value ${resp.json()[0]} ${keyword} \ No newline at end of file
diff --git a/csit/common-library.robot b/csit/common-library.robot
index c2d1de7f..aa737a02 100644
--- a/csit/common-library.robot
+++ b/csit/common-library.robot
@@ -57,6 +57,14 @@ CreatePolicy
Run Keyword If ${expectedstatus}==200 Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} ${policyname}
Run Keyword If ${expectedstatus}==200 Should Be Equal As Strings ${resp.json()['topology_template']['policies'][0]['${policyname}']['version']} ${policyversion}
+CreateNodeTemplate
+ [Arguments] ${url} ${expectedstatus} ${postjson} ${nodeTemplateListLength}
+ [Documentation] Create the node templates
+ ${policyadmin}= PolicyAdminAuth
+ ${resp}= PerformPostRequest ${POLICY_API_IP} ${url} ${expectedstatus} ${postjson} \ ${policyadmin}
+ Run Keyword If ${expectedstatus}==200 Length Should Be ${resp.json()['topology_template']['node_templates']} ${nodeTemplateListLength}
+
+
QueryPdpGroups
[Documentation] Verify pdp group query - supports upto 2 groups
[Arguments] ${groupsLength} ${group1Name} ${group1State} ${policiesLengthInGroup1} ${group2Name} ${group2State} ${policiesLengthInGroup2}
@@ -73,13 +81,17 @@ QueryPdpGroups
QueryPolicyAudit
[Arguments] ${url} ${expectedstatus} ${pdpGroup} ${pdpType} ${policyName} ${expectedAction}
${policyadmin}= PolicyAdminAuth
- ${resp}= PerformGetRequest ${POLICY_PAP_IP} ${url} ${expectedstatus} recordCount=1 ${policyadmin}
- Should Be Equal As Strings ${resp.json()[0]['pdpGroup']} ${pdpGroup}
- Should Be Equal As Strings ${resp.json()[0]['pdpType']} ${pdpType}
- Should Be Equal As Strings ${resp.json()[0]['policy']['name']} ${policyName}
- Should Be Equal As Strings ${resp.json()[0]['policy']['version']} 1.0.0
- Should Be Equal As Strings ${resp.json()[0]['action']} ${expectedAction}
- Should Be Equal As Strings ${resp.json()[0]['user']} policyadmin
+ ${resp}= PerformGetRequest ${POLICY_PAP_IP} ${url} ${expectedstatus} recordCount=2 ${policyadmin}
+ Log Received response from queryPolicyAudit ${resp.text}
+ FOR ${responseEntry} IN @{resp.json()}
+ Exit For Loop IF '${responseEntry['policy']['name']}'=='${policyName}'
+ END
+ Should Be Equal As Strings ${responseEntry['pdpGroup']} ${pdpGroup}
+ Should Be Equal As Strings ${responseEntry['pdpType']} ${pdpType}
+ Should Be Equal As Strings ${responseEntry['policy']['name']} ${policyName}
+ Should Be Equal As Strings ${responseEntry['policy']['version']} 1.0.0
+ Should Be Equal As Strings ${responseEntry['action']} ${expectedAction}
+ Should Be Equal As Strings ${responseEntry['user']} policyadmin
QueryPolicyStatus
[Documentation] Verify policy deployment status
diff --git a/csit/compose-grafana.yml b/csit/compose-grafana.yml
index 400593ab..e487a705 100644
--- a/csit/compose-grafana.yml
+++ b/csit/compose-grafana.yml
@@ -25,6 +25,7 @@ services:
env_file: config/db/db.conf
volumes:
- ./config/db:/docker-entrypoint-initdb.d:ro
+ - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
expose:
- 3306
policy-db-migrator:
diff --git a/csit/config/clamp/application-smoke.properties b/csit/config/clamp/application-smoke.properties
new file mode 100644
index 00000000..40578077
--- /dev/null
+++ b/csit/config/clamp/application-smoke.properties
@@ -0,0 +1,197 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP POLICY-DOCKER
+# ================================================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# 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============================================
+# ===================================================================
+#
+###
+
+### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time).
+### (See below for the parameter 'server.http.port' if you want to have both enabled)
+### To have only HTTP, keep the lines server.ssl.* commented
+### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location
+### server.port=8080
+### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port')
+#server.ssl.key-store=file:/tmp/mykey.jks
+#server.ssl.key-store-password=pass
+#server.ssl.key-password=pass
+
+### In order to be user friendly when HTTPS is enabled,
+### you can add another HTTP port that will be automatically redirected to HTTPS
+### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...)
+#server.http-to-https-redirection.port=8090
+
+### HTTP Example:
+###--------------
+### server.port=8080
+
+### HTTPS Example:
+### --------------
+### server.port=8443
+server.ssl.key-store=file:/opt/policy/clamp/policy-keystore
+server.ssl.key-store-password=enc:qWxBtY7w9h5Hl72vQKgI5G1qqyRIuBarQqMkVDHqZmd
+server.ssl.key-password=enc:qWxBtY7w9h5Hl72vQKgI5G1qqyRIuBarQqMkVDHqZmd
+server.ssl.key-store-type=jks
+server.port=8443
+## Config part for Server certificates
+# Can be a classpath parameter instead of file:/
+#server.ssl.key-store=classpath:/clds/aaf/org.onap.clamp.p12
+#server.ssl.key-store-password=enc:YZs7M6IftyPjHniTa6J7G2416hssb8qI-Av8D1b8pPS
+#server.ssl.key-password=enc:YZs7M6IftyPjHniTa6J7G2416hssb8qI-Av8D1b8pPS
+
+## Config part for Client certificates
+server.ssl.client-auth=want
+#server.ssl.trust-store=classpath:/clds/aaf/truststoreONAPall.jks
+#server.ssl.trust-store-password=enc:iDnPBBLq_EMidXlMa1FEuBR8TZzYxrCg66vq_XfLHdJ
+server.ssl.trust-store=file:/opt/policy/clamp/policy-truststore
+server.ssl.trust-store-password=enc:qWxBtY7w9h5Hl72vQKgI5G1qqyRIuBarQqMkVDHqZmd
+
+# The key file used to decode the key store and trust store password
+# If not defined, the key store and trust store password will not be decrypted
+#clamp.config.keyFile=classpath:/clds/aaf/org.onap.clamp.keyfile
+clamp.config.keyFile=file:/opt/policy/clamp/clamp-be-keyfile
+
+#server.http-to-https-redirection.port=8080
+
+server.servlet.context-path=/
+#Modified engine-rest applicationpath
+spring.profiles.active=clamp-default,clamp-default-user,clamp-sdc-controller,clamp-ssl-config,clamp-policy-controller,default-dictionary-elements
+spring.http.converters.preferred-json-mapper=gson
+
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+
+camel.springboot.consumer-template-cache-size=1000
+camel.springboot.producer-template-cache-size=1000
+camel.springboot.jmx-enabled=true
+camel.defaultthreadpool.poolsize=10
+camel.defaultthreadpool.maxpoolsize=20
+camel.defaultthreadpool.maxqueuesize=1000
+camel.defaultthreadpool.keepaliveTime=60
+camel.defaultthreadpool.rejectpolicy=CallerRuns
+camel.springboot.xml-routes=classpath:/clds/camel/routes/*.xml
+camel.springboot.xml-rests=classpath:/clds/camel/rest/*.xml
+camel.springboot.backlog-tracing=true
+camel.springboot.tracing=true
+
+#clds datasource connection details
+spring.datasource.driverClassName=org.mariadb.jdbc.Driver
+spring.datasource.url=jdbc:mariadb:sequential://${MARIADB_HOST}:3306/policyclamp?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3
+spring.datasource.username=policy_user
+spring.datasource.password=policy_user
+spring.datasource.validationQuery=SELECT 1
+spring.datasource.validationQueryTimeout=20000
+spring.datasource.validationInterval=30000
+spring.datasource.testWhileIdle = true
+spring.datasource.minIdle = 0
+spring.datasource.initialSize=0
+# Automatically test whether a connection provided is good or not
+spring.datasource.testOnBorrow=true
+spring.datasource.ignoreExceptionOnPreLoad=true
+# control the sql db initialization (from schema.sql and data.sql)
+spring.datasource..initialize=false
+
+spring.jpa.properties.javax.persistence.schema-generation.database.action=none
+s#pring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
+#spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
+#spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=create.sql
+# disable Hibernate DDL generation because the schema will be generated from a sql script
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
+spring.jpa.properties.hibernate.ddl-auto=validate
+spring.jpa.properties.hibernate.hbm2ddl.delimiter=;
+spring.jpa.properties.hibernate.format_sql=true
+spring.jpa.properties.hibernate.use-new-id-generator-mappings=true
+
+# Whether to enable logging of SQL statements.
+#spring.jpa.show-sql=true
+
+#Async Executor default Parameters
+async.core.pool.size=10
+async.max.pool.size=20
+async.queue.capacity=500
+
+#For logback file
+#clamp.config.logback.path=
+clamp.config.logback.filename=logback-default.xml
+#The log folder that will be used in logback.xml file
+clamp.config.log.path=/var/log/onap/clamp
+clamp.config.files.systemProperties=classpath:/system.properties
+clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+clamp.config.files.globalProperties=classpath:/clds/templates/globalProperties.json
+clamp.config.files.sdcController=classpath:/clds/sdc-controllers-config.json
+
+clamp.config.httpclient.socketTimeout=60000
+clamp.config.httpclient.connectTimeout=10000
+
+#
+# Configuration Settings for Policy Engine Components
+clamp.config.policy.api.url={{PROTOCOL}}${POLICY_API_HOST}:6969
+clamp.config.policy.api.userName=policyadmin
+clamp.config.policy.api.password=zb!XztG34
+clamp.config.policy.pap.url={{PROTOCOL}}${POLICY_PAP_HOST}:6969
+clamp.config.policy.pap.userName=policyadmin
+clamp.config.policy.pap.password=zb!XztG34
+
+#
+# Sdc service properties
+clamp.config.sdc.csarFolder = /tmp/sdc-controllers
+
+#DCAE Inventory Url Properties
+clamp.config.dcae.inventory.url={{PROTOCOL}}localhost:8085
+clamp.config.dcae.intentory.retry.interval=10000
+clamp.config.dcae.intentory.retry.limit=5
+
+#DCAE Deployment Url Properties
+clamp.config.dcae.deployment.url={{PROTOCOL}}localhost:8085
+clamp.config.dcae.deployment.userName=test
+clamp.config.dcae.deployment.password=test
+
+#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
+clamp.config.security.permission.type.cl=org.onap.clamp.clds.cl
+clamp.config.security.permission.type.cl.manage=org.onap.clamp.clds.cl.manage
+clamp.config.security.permission.type.cl.event=org.onap.clamp.clds.cl.event
+clamp.config.security.permission.type.filter.vf=org.onap.clamp.clds.filter.vf
+clamp.config.security.permission.type.template=org.onap.clamp.clds.template
+clamp.config.security.permission.type.tosca=org.onap.clamp.clds.tosca
+clamp.config.security.permission.type.policies=org.onap.clamp.clds.policies
+#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
+clamp.config.security.permission.instance=dev
+clamp.config.security.authentication.class=org.onap.aaf.cadi.principal.X509Principal, org.onap.aaf.cadi.principal.CachedBasicPrincipal
+
+## Tosca converter
+clamp.config.tosca.converter.json.schema.templates=classpath:/clds/tosca-converter/templates.json
+clamp.config.tosca.converter.default.datatypes=classpath:/clds/tosca-converter/default-tosca-types.yaml
+clamp.config.tosca.converter.dictionary.support.enabled=true
+
+# Configuration settings for CDS
+clamp.config.cds.url={{PROTOCOL}}cds-blueprints-processor-http:8080
+clamp.config.cds.userName=ccsdkapps
+clamp.config.cds.password=ccsdkapps
+
+# Configuration settings for ControlLoop Runtime Rest API
+clamp.config.acm.runtime.url={{PROTOCOL}}${RUNTIME_HOST}:6969
+clamp.config.acm.runtime.userName=runtimeUser
+clamp.config.acm.runtime.password=zb!XztG34
diff --git a/csit/config/clamp/gui/application.yaml b/csit/config/clamp/gui/application.yaml
new file mode 100644
index 00000000..a0a6c224
--- /dev/null
+++ b/csit/config/clamp/gui/application.yaml
@@ -0,0 +1,43 @@
+#
+# ===========LICENSE_START====================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ============================================================================
+# 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=====================================================
+#
+server:
+ port: 2443
+ ssl:
+ enabled: {{HTTPS_ENABLED}}
+ enabled-protocols: TLSv1.2
+ client-auth: want
+ key-store: file:${KEYSTORE}
+ key-store-password: ${KEYSTORE_PASSWD}
+ trust-store: file:${TRUSTSTORE}
+ trust-store-password: ${TRUSTSTORE_PASSWD}
+
+clamp:
+ url: https://policy-clamp-be:8443
+ disable-ssl-validation: false
+ disable-ssl-hostname-check: true
+
+apex-editor:
+ upload-url:
+ upload-userid:
+
+management:
+ endpoints:
+ web:
+ exposure:
+ include: health, metrics, prometheus
+
diff --git a/csit/config/clamp/org.onap.clamp.keyfile b/csit/config/clamp/org.onap.clamp.keyfile
new file mode 100644
index 00000000..c2521fc8
--- /dev/null
+++ b/csit/config/clamp/org.onap.clamp.keyfile
@@ -0,0 +1,27 @@
+kzJMxgphAoBxJz1_vYjxx-V87fahDQdYUqBIyWhZp8ojXdNpmB-96T9CvgJScJynbLcqw2Cj2CYx
+wd97vFOYhlyz5zK3tSyIuydOkVGJsJ1S4PviTtjhiJvNourJNDHgtas1Y1y2fQ5_8aVxj-s4W72N
+MNYhkeTinaQx_d_5hkBPABJlgCxKLnmxHo2jAJktnZYa5t5h48m7KiUx_RVEkQVtEvux-7vgXaC4
+ymTXj6zI9XoMTVxM0OAl4y7kBiUoOUaxS4tVKV34RJYNNqBjiUTQa_ag-KeUacRABk1ozfwzpvE5
+Sjz8WCy0L-LtCQnapkhKLt04ndCZtw8LDJ-Zz0ZgR2PVIPpTgs9VnVuOi5jf4LzTrtUatvOWkKB9
+drXKzp6cNXnZ0jkD3vV1BzqzhynKnZR2o_ilZv5CTTdpGUt906N_DwZuX6LfcV_7yvjX42bTfeIR
+ycPtodFPXlqqn9VUyh5nOauJlnOHAQmSDzjMEgjy17nQX3Ad7s4BfvujzUl-d0MqB_HCKbaW32UT
+xcY-0JfI1Y-2IdYfIkUdhVmxop6sSg0jAobWzgCRoRQkP3a2iIlKdfMyskshoWKIDVtlr-3fkDEb
+x_b_o1rRoUfzUzxEdphaUAq80Sc0i77ZLT3KF9vJOhyU_pBnApYFxVk7Hkk3VRxJKS7jyL4H7k1x
+2m5-2G8fB9XbYZT82xmAquNx4oBdpwj3_ncGF9YRF94K6NZgqemT5iWhpXMoelSU1blASgT3qlTm
+B6YgbD5owExNHwRVd8KeRsYrOnBWUiktsIhXFhNZmDUNWMFGQ2KxEcOt1tJwsQDehJFgY_l1JQ0d
+643wJ7rTJkGkYX309cydRQUX4Z0ckSQS9LhMd9stxF5XOHlvHdbW0pXNS7SaLbzKCVldUgncvI6z
+KWkwrWbftrZK2RT1UZKNngQDMGOk9OhbHAs7YzhFNFARZoRNobIv5tZVDomy-YgJb9-mD1UTkRBL
+WXOyoryDlgKrgFsgHclGDI1UFO5N-JfebPKxbP505f4924hxF2r8bspvVW8ZtHQo_SJmhauOX8n_
+eN_LK43LB9k53WAHZ_utvs0s6wGf7I73oj_N7DIFaHTDSm_MhDsFDLVG_wUzCpZ5FP2uL3nnqMkF
+Ob-l1fywfmfOmrz1BY6g4sRPPeWXuclYTnRnDRu5VQyc7_aBEVkyt3zw0JEex0vJNFUJl3pYjS55
+GplAB6p7VbS9ceZEtc5Z3qFIVHEzKWZxT190E23t_LlMuEoQ1zaqdHynNaMs61-q_A2aHRiTqlRm
+7FahVB3RX4AVLl23mu4u3A9ZDXc40nzjs9mwOVsuKlPvQ2rteDUG1njr2R1_V_MyQuoJjdfbIkPG
+4eF0QzlSMdbkeprdQxSfV5YT-yPpkBxSsCMMM43sKm4Hy7_CUdvp4Iayrp3vtK3oYMuCGi6qTadz
+KzxfTf8meKan3eMZW4RLByyniH5nQnX_KGfBly05AmFyVH_j0fyOg-48kDhtEKeqmDnP4C01jOID
+Ip_AKaB6e0GwsHzVTLZOklHwu_qzsaTzchBOG_dJJju7bxY7qv78Pa92wZIP311gSCVbc-gxxbsR
+qI555twmYEoasFm4xz10OYDOkvM1E1Rtxu3ymRLZpe6AoyFBVzEW7Dncdw7O98dKcgrp8ZlQ_8Wg
+5zZH0Cic7xnIZ0bNZyQXw56CSUiXVWuwVY3e0djXP3F-FO5gP8VTxbpW4C0t6McXAOlvSEfFKxN7
+u6OBeOKwjrtHaJk2ghF8MUcpDXanhbAgHez9larGlscCkgvoRLNaRH9GIdSVgY3HtNhJRaJIq01S
+OGeBjC5J4o-nTrqRFkwyDAYcPL373eYX1dBFFVHR-4q50H9m_zMxZHXETafxzV4DT3Qi8Sxh3uaS
+ZX7mRaNaOE0uC1n87_IZ9WhrwIQaZng2lnd9yZ-4rx8fB8WA8KQzifzvHAcMb_HV10JWGaz5A2Rm
+EXDsfexQC6CqYg5rdzzlNWDPNlHy5ubyz7fRXZ99uIwBY9aJcvCXCiEXJkC6utj3NcXQrJmk \ No newline at end of file
diff --git a/csit/config/clamp/policy-clamp-create-tables.sql b/csit/config/clamp/policy-clamp-create-tables.sql
new file mode 100644
index 00000000..5d655ad5
--- /dev/null
+++ b/csit/config/clamp/policy-clamp-create-tables.sql
@@ -0,0 +1,275 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation
+ * ================================================================================
+ * 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=========================================================
+ */
+
+create table if not exists dictionary (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ dictionary_second_level integer,
+ dictionary_type varchar(255),
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists dictionary_elements (
+ short_name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ description varchar(255) not null,
+ name varchar(255) not null,
+ subdictionary_name varchar(255),
+ type varchar(255) not null,
+ primary key (short_name)
+ ) engine=InnoDB;
+
+create table if not exists dictionary_to_dictionaryelements (
+ dictionary_name varchar(255) not null,
+ dictionary_element_short_name varchar(255) not null,
+ primary key (dictionary_name, dictionary_element_short_name)
+ ) engine=InnoDB;
+
+create table if not exists hibernate_sequence (
+ next_val bigint
+) engine=InnoDB;
+
+insert into hibernate_sequence values ( 1 );
+
+create table if not exists loop_element_models (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ blueprint_yaml MEDIUMTEXT,
+ dcae_blueprint_id varchar(255),
+ loop_element_type varchar(255) not null,
+ short_name varchar(255),
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists loop_logs (
+ id bigint not null,
+ log_component varchar(255) not null,
+ log_instant datetime(6) not null,
+ log_type varchar(255) not null,
+ message MEDIUMTEXT not null,
+ loop_id varchar(255) not null,
+ primary key (id)
+ ) engine=InnoDB;
+
+create table if not exists loop_templates (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ allowed_loop_type varchar(255),
+ blueprint_yaml MEDIUMTEXT,
+ dcae_blueprint_id varchar(255),
+ maximum_instances_allowed integer,
+ svg_representation MEDIUMTEXT,
+ unique_blueprint boolean default false,
+ service_uuid varchar(255),
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists loopelementmodels_to_policymodels (
+ loop_element_name varchar(255) not null,
+ policy_model_type varchar(255) not null,
+ policy_model_version varchar(255) not null,
+ primary key (loop_element_name, policy_model_type, policy_model_version)
+ ) engine=InnoDB;
+
+create table if not exists loops (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ dcae_deployment_id varchar(255),
+ dcae_deployment_status_url varchar(255),
+ global_properties_json json,
+ last_computed_state varchar(255) not null,
+ svg_representation MEDIUMTEXT,
+ loop_template_name varchar(255) not null,
+ service_uuid varchar(255),
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists loops_to_microservicepolicies (
+ loop_name varchar(255) not null,
+ microservicepolicy_name varchar(255) not null,
+ primary key (loop_name, microservicepolicy_name)
+ ) engine=InnoDB;
+
+create table if not exists looptemplates_to_loopelementmodels (
+ loop_element_model_name varchar(255) not null,
+ loop_template_name varchar(255) not null,
+ flow_order integer not null,
+ primary key (loop_element_model_name, loop_template_name)
+ ) engine=InnoDB;
+
+create table if not exists micro_service_policies (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ configurations_json json,
+ json_representation json not null,
+ pdp_group varchar(255),
+ pdp_sub_group varchar(255),
+ context varchar(255),
+ dcae_blueprint_id varchar(255),
+ dcae_deployment_id varchar(255),
+ dcae_deployment_status_url varchar(255),
+ device_type_scope varchar(255),
+ shared bit not null,
+ loop_element_model_id varchar(255),
+ policy_model_type varchar(255),
+ policy_model_version varchar(255),
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists operational_policies (
+ name varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ configurations_json json,
+ json_representation json not null,
+ pdp_group varchar(255),
+ pdp_sub_group varchar(255),
+ loop_element_model_id varchar(255),
+ policy_model_type varchar(255),
+ policy_model_version varchar(255),
+ loop_id varchar(255) not null,
+ primary key (name)
+ ) engine=InnoDB;
+
+create table if not exists policy_models (
+ policy_model_type varchar(255) not null,
+ version varchar(255) not null,
+ created_by varchar(255),
+ created_timestamp datetime(6) not null,
+ updated_by varchar(255),
+ updated_timestamp datetime(6) not null,
+ policy_acronym varchar(255),
+ policy_tosca MEDIUMTEXT,
+ policy_pdp_group json,
+ primary key (policy_model_type, version)
+ ) engine=InnoDB;
+
+create table if not exists services (
+ service_uuid varchar(255) not null,
+ name varchar(255) not null,
+ resource_details json,
+ service_details json,
+ version varchar(255),
+ primary key (service_uuid)
+ ) engine=InnoDB;
+
+alter table dictionary_to_dictionaryelements
+ add constraint FK68hjjinnm8nte2owstd0xwp23
+ foreign key (dictionary_element_short_name)
+ references dictionary_elements (short_name);
+
+alter table dictionary_to_dictionaryelements
+ add constraint FKtqfxg46gsxwlm2gkl6ne3cxfe
+ foreign key (dictionary_name)
+ references dictionary (name);
+
+alter table loop_logs
+ add constraint FK1j0cda46aickcaoxqoo34khg2
+ foreign key (loop_id)
+ references loops (name);
+
+alter table loop_templates
+ add constraint FKn692dk6281wvp1o95074uacn6
+ foreign key (service_uuid)
+ references services (service_uuid);
+
+alter table loopelementmodels_to_policymodels
+ add constraint FK23j2q74v6kaexefy0tdabsnda
+ foreign key (policy_model_type, policy_model_version)
+ references policy_models (policy_model_type, version);
+
+alter table loopelementmodels_to_policymodels
+ add constraint FKjag1iu0olojfwryfkvb5o0rk5
+ foreign key (loop_element_name)
+ references loop_element_models (name);
+
+alter table loops
+ add constraint FK844uwy82wt0l66jljkjqembpj
+ foreign key (loop_template_name)
+ references loop_templates (name);
+
+alter table loops
+ add constraint FK4b9wnqopxogwek014i1shqw7w
+ foreign key (service_uuid)
+ references services (service_uuid);
+
+alter table loops_to_microservicepolicies
+ add constraint FKle255jmi7b065fwbvmwbiehtb
+ foreign key (microservicepolicy_name)
+ references micro_service_policies (name);
+
+alter table loops_to_microservicepolicies
+ add constraint FK8avfqaf7xl71l7sn7a5eri68d
+ foreign key (loop_name)
+ references loops (name);
+
+alter table looptemplates_to_loopelementmodels
+ add constraint FK1k7nbrbugvqa0xfxkq3cj1yn9
+ foreign key (loop_element_model_name)
+ references loop_element_models (name);
+
+alter table looptemplates_to_loopelementmodels
+ add constraint FKj29yxyw0x7ue6mwgi6d3qg748
+ foreign key (loop_template_name)
+ references loop_templates (name);
+
+alter table micro_service_policies
+ add constraint FKqvvdypacbww07fuv8xvlvdjgl
+ foreign key (loop_element_model_id)
+ references loop_element_models (name);
+
+alter table micro_service_policies
+ add constraint FKn17j9ufmyhqicb6cvr1dbjvkt
+ foreign key (policy_model_type, policy_model_version)
+ references policy_models (policy_model_type, version);
+
+alter table operational_policies
+ add constraint FKi9kh7my40737xeuaye9xwbnko
+ foreign key (loop_element_model_id)
+ references loop_element_models (name);
+
+alter table operational_policies
+ add constraint FKlsyhfkoqvkwj78ofepxhoctip
+ foreign key (policy_model_type, policy_model_version)
+ references policy_models (policy_model_type, version);
+
+alter table operational_policies
+ add constraint FK1ddoggk9ni2bnqighv6ecmuwu
+ foreign key (loop_id)
+ references loops (name);
diff --git a/csit/config/db/db.sh b/csit/config/db/db.sh
index d1300091..0363ed8a 100755
--- a/csit/config/db/db.sh
+++ b/csit/config/db/db.sh
@@ -1,5 +1,6 @@
#!/bin/bash -xv
# Copyright 2019,2021 AT&T Intellectual Property. All rights reserved
+# Modifications Copyright (c) 2022 Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,10 +14,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-for db in migration pooling policyadmin operationshistory clampacm
+for db in migration pooling policyadmin operationshistory clampacm policyclamp
do
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
done
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
+mysql -u"${MYSQL_USER}" -p"${MYSQL_PASSWORD}" -f policyclamp < /tmp/policy-clamp-create-tables.sql
diff --git a/csit/docker-compose-all.yml b/csit/docker-compose-all.yml
index 071105b3..2ac9b90d 100644
--- a/csit/docker-compose-all.yml
+++ b/csit/docker-compose-all.yml
@@ -27,6 +27,7 @@ services:
env_file: config/db/db.conf
volumes:
- ./config/db:/docker-entrypoint-initdb.d:ro
+ - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
expose:
- 3306
policy-db-migrator:
diff --git a/csit/docker-compose-gui-smoke.yml b/csit/docker-compose-gui-smoke.yml
new file mode 100644
index 00000000..3951cb2f
--- /dev/null
+++ b/csit/docker-compose-gui-smoke.yml
@@ -0,0 +1,361 @@
+#
+# ===========LICENSE_START====================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ============================================================================
+# 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=====================================================
+#
+version: '2'
+services:
+ mariadb:
+ image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
+ container_name: mariadb
+ hostname: mariadb
+ command: ['--lower-case-table-names=1', '--wait_timeout=28800']
+ env_file: ./config/db/db.conf
+ volumes:
+ - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
+ - ./config/db:/docker-entrypoint-initdb.d:ro
+ ports:
+ - "3306:3306"
+ policy-db-migrator:
+ image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
+ container_name: policy-db-migrator
+ hostname: policy-db-migrator
+ depends_on:
+ - mariadb
+ expose:
+ - 6824
+ env_file: ./config/db/db.conf
+ environment:
+ SQL_DB: policyadmin
+ SQL_HOST: mariadb
+ volumes:
+ - ./db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c',
+ '/opt/app/policy/bin/db_migrator_policy_init.sh',
+ 'mariadb', '3306'
+ ]
+ simulator:
+ image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_VERSION}
+ container_name: simulator
+ hostname: simulator
+ networks:
+ default:
+ aliases:
+ - message-router
+ - aai-sim
+ - grpc-sim
+ - sdnc-sim
+ - so-sim
+ - vfc-sim
+ volumes:
+ - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
+ - ./config/ks.jks:/opt/app/policy/simulators/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/simulators/etc/ssl/policy-truststore:ro
+ expose:
+ - 6666
+ - 6668
+ - 6669
+ - 6670
+ - 3905
+ - 6680
+ api:
+ image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION}
+ container_name: policy-api
+ depends_on:
+ - policy-db-migrator
+ hostname: policy-api
+ expose:
+ - 6969
+ volumes:
+ - ./config/ks.jks:/opt/app/policy/api/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/api/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
+ entrypoint: ./wait_for_port.sh
+ command: [
+ '-c', './policy-api.sh',
+ 'mariadb', '3306',
+ 'policy-db-migrator', '6824'
+ ]
+ pap:
+ image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION}
+ container_name: policy-pap
+ depends_on:
+ - mariadb
+ - simulator
+ - api
+ hostname: policy-pap
+ expose:
+ - 6969
+ volumes:
+ - ./config/pap/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
+ - ./config/pap/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
+ - ./config/ks.jks:/opt/app/policy/pap/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/pap/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
+ entrypoint: ./wait_for_port.sh
+ command: [
+ '-c', './policy-pap.sh',
+ 'mariadb', '3306',
+ 'message-router', '3905',
+ 'api', '6969'
+ ]
+ xacml-pdp:
+ image: nexus3.onap.org:10001/onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
+ container_name: policy-xacml-pdp
+ depends_on:
+ - mariadb
+ - simulator
+ - pap
+ hostname: policy-xacml-pdp
+ expose:
+ - 6969
+ volumes:
+ - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
+ - ./config/ks.jks:/opt/app/policy/pdpx/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/pdpx/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
+ entrypoint: ./wait_for_port.sh
+ command: [
+ '-c', './policy-pdpx.sh',
+ 'mariadb', '3306',
+ 'message-router', '3905',
+ 'pap', '6969'
+ ]
+ drools:
+ image: nexus3.onap.org:10001/onap/policy-drools:${POLICY_DROOLS_VERSION}
+ container_name: drools
+ depends_on:
+ - mariadb
+ - simulator
+ - pap
+ hostname: drools
+ expose:
+ - 6969
+ - 9696
+ volumes:
+ - ./config/drools/custom:/tmp/policy-install/config:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ env_file:
+ - ./config/drools/env/base.conf
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
+ 'mariadb', '3306',
+ 'message-router', '3905'
+ ]
+ drools-apps:
+ image: nexus3.onap.org:10001/onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION}
+ container_name: drools-apps
+ depends_on:
+ - mariadb
+ - simulator
+ - pap
+ - xacml-pdp
+ hostname: drools-apps
+ expose:
+ - 6969
+ - 9696
+ volumes:
+ - ./config/drools-apps/custom:/tmp/policy-install/config:ro
+ - ./config/feature-lifecycle.properties:/opt/app/policy/features/lifecycle/config/feature-lifecycle.properties:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ env_file:
+ - ./config/drools-apps/env/base.conf
+ - ./config/drools-apps/env/feature-healthcheck.conf
+ - ./config/drools-apps/env/feature-pooling-dmaap.conf
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
+ 'mariadb', '3306',
+ 'message-router', '3905',
+ 'pap', '6969',
+ 'aai-sim', '6666',
+ 'sdnc-sim', '6668',
+ 'so-sim', '6669',
+ 'vfc-sim', '6670'
+ ]
+ apex-pdp:
+ image: nexus3.onap.org:10001/onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
+ container_name: policy-apex-pdp
+ depends_on:
+ - mariadb
+ - simulator
+ - pap
+ hostname: policy-apex-pdp
+ expose:
+ - 6969
+ - 23324
+ volumes:
+ - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
+ - ./config/ks.jks:/opt/app/policy/apex-pdp/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/apex-pdp/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
+ 'mariadb', '3306',
+ 'message-router', '3905',
+ 'pap', '6969'
+ ]
+ distribution:
+ image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION}
+ container_name: policy-distribution
+ depends_on:
+ - mariadb
+ - api
+ - pap
+ - apex-pdp
+ hostname: policy-distribution
+ volumes:
+ - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
+ - ./config/ks.jks:/opt/app/policy/distribution/etc/ssl/policy-keystore:ro
+ - ./config/policy-truststore:/opt/app/policy/distribution/etc/ssl/policy-truststore:ro
+ - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './policy-dist.sh',
+ 'mariadb', '3306',
+ 'message-router', '3905',
+ 'pap', '6969',
+ 'apex-pdp', '6969'
+ ]
+ policy-clamp-runtime-acm:
+ image: nexus3.onap.org:10001/onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
+ container_name: policy-clamp-runtime-acm
+ depends_on:
+ - mariadb
+ - simulator
+ - policy-clamp-ac-http-ppnt
+ - policy-clamp-ac-k8s-ppnt
+ - policy-clamp-ac-pf-ppnt
+ hostname: policy-clamp-runtime-acm
+ expose:
+ - 6969
+ volumes:
+ - ./config/policy-truststore:/opt/app/policy/clamp/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+ - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/config/AcRuntimeParameters.yaml
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './acm-runtime.sh',
+ 'message-router', '3905'
+ ]
+ policy-clamp-ac-http-ppnt:
+ image: nexus3.onap.org:10001/onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_VERSION}
+ container_name: policy-clamp-ac-http-ppnt
+ depends_on:
+ - simulator
+ hostname: policy-clamp-ac-http-ppnt
+ expose:
+ - 6971
+ volumes:
+ - ./config/policy-truststore:/opt/app/policy/clamp/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './http-participant.sh',
+ 'message-router', '3905'
+ ]
+ policy-clamp-ac-k8s-ppnt:
+ image: nexus3.onap.org:10001/onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_VERSION}
+ container_name: policy-clamp-ac-k8s-ppnt
+ depends_on:
+ - simulator
+ hostname: policy-clamp-ac-k8s-ppnt
+ expose:
+ - 6972
+ volumes:
+ - ./config/policy-truststore:/opt/app/policy/clamp/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './kubernetes-participant.sh',
+ 'message-router', '3905'
+ ]
+ policy-clamp-ac-pf-ppnt:
+ image: nexus3.onap.org:10001/onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_VERSION}
+ container_name: policy-clamp-ac-pf-ppnt
+ depends_on:
+ - simulator
+ - api
+ hostname: policy-clamp-ac-pf-ppnt
+ expose:
+ - 6973
+ volumes:
+ - ./config/policy-truststore:/opt/app/policy/clamp/etc/ssl/policy-truststore:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+ - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/config/PolicyParticipantParameters.yaml:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c', './policy-participant.sh',
+ 'message-router', '3905'
+ ]
+
+ policy-gui:
+ image: nexus3.onap.org:10001/onap/policy-gui:latest
+ container_name: policy-gui
+ depends_on:
+ - policy-clamp-backend
+ hostname: policy-gui
+ environment:
+ CLAMP_URL: https://policy-clamp-backend:8443
+ CLAMP_DISABLE_SSL_VALIDATION: "true"
+ SERVER_SSL_CLIENT_AUTH: want
+ KEYSTORE_PASSWD: Pol1cy_0nap
+ TRUSTSTORE_PASSWD: Pol1cy_0nap
+ ports:
+ - "2443:2443"
+ expose:
+ - 2443
+ volumes:
+ - ./config/clamp/gui/application.yaml:/opt/app/policy/gui/etc/application.yaml
+ - ./config/policy-truststore:/opt/app/policy/gui/etc/mounted/policy-truststore:ro
+ - ./config/ks.jks:/opt/app/policy/gui/etc/mounted/policy-keystore:ro
+ - ./wait_for_port.sh:/opt/app/policy/gui/bin/wait_for_port.sh:ro
+ entrypoint: ./policy-gui.sh
+ working_dir: /opt/app/policy/gui/bin
+ command: ./policy-gui.sh
+
+ policy-clamp-backend:
+ image: nexus3.onap.org:10001/onap/policy-clamp-backend:${POLICY_CLAMP_VERSION}
+ container_name: policy-clamp-backend
+ depends_on:
+ - policy-clamp-runtime-acm
+ - distribution
+ hostname: policy-clamp-backend
+ environment:
+ POLICY_API_HOST: api
+ POLICY_PAP_HOST: pap
+ MARIADB_HOST: mariadb
+ RUNTIME_HOST: policy-clamp-runtime-acm
+ ports:
+ - "8443:8443"
+ expose:
+ - 8443
+ volumes:
+ - ./config/clamp/application-smoke.properties:/opt/policy/clamp/application-smoke.properties:ro
+ - ./config/policy-truststore:/opt/policy/clamp/policy-truststore:ro
+ - ./config/ks.jks:/opt/policy/clamp/policy-keystore:ro
+ - ./config/clamp/org.onap.clamp.keyfile:/opt/policy/clamp/clamp-be-keyfile:ro
+ working_dir: /opt/policy/clamp
+ command: java -Djava.security.egd=file:/dev/./urandom -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=75 -jar ./policy-clamp-backend.jar --spring.config.name=application-smoke --spring.config.location=optional:classpath:/,optional:classpath:/config/,optional:file:./,optional:file:./config/
diff --git a/csit/get-versions.sh b/csit/get-versions.sh
index 5abc747f..d3f6bcda 100644
--- a/csit/get-versions.sh
+++ b/csit/get-versions.sh
@@ -62,3 +62,6 @@ echo POLICY_CLAMP_VERSION="${POLICY_CLAMP_VERSION}"
export POLICY_DOCKER_VERSION=$(getVersion docker)
echo POLICY_DOCKER_VERSION="${POLICY_DOCKER_VERSION}"
+
+export POLICY_GUI_VERSION=$(getVersion gui)
+echo POLICY_GUI_VERSION="${POLICY_GUI_VERSION}"
diff --git a/csit/pap/plans/setup.sh b/csit/pap/plans/setup.sh
index 94a3b31b..8612d2bf 100644
--- a/csit/pap/plans/setup.sh
+++ b/csit/pap/plans/setup.sh
@@ -46,7 +46,10 @@ echo MARIADB IP IS "${MARIADB_IP}"
DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies
+NODETEMPLATES=${WORKSPACE}/models/models-examples/src/main/resources/nodetemplates
+
ROBOT_VARIABLES=""
ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}"
ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}"
ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v NODETEMPLATES:${NODETEMPLATES}"
diff --git a/csit/pap/tests/data/apex.policy.decisionmaker.input.tosca.json b/csit/pap/tests/data/apex.policy.decisionmaker.input.tosca.json
new file mode 100644
index 00000000..5d84c294
--- /dev/null
+++ b/csit/pap/tests/data/apex.policy.decisionmaker.input.tosca.json
@@ -0,0 +1,184 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
+ "topology_template": {
+ "policies": [
+ {
+ "operational.apex.decisionMaker": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "name": "operational.apex.decisionMaker",
+ "version": "1.0.0",
+ "metadata": {
+ "metadataSetName": "apexMetadata_decisionMaker",
+ "metadataSetVersion": "1.0.0"
+ },
+ "properties": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Avro": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+ },
+ "Java": {
+ "parameterClassName": "org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters",
+ "jsonAdapters": {
+ "Instant": {
+ "adaptedClass": "java.time.Instant",
+ "adaptorClass": "org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter"
+ }
+ }
+ }
+ }
+ },
+ "taskParameters": [
+ {
+ "key": "ParameterKey1",
+ "value": "ParameterValue1"
+ },
+ {
+ "taskId": "AAILookupTask:0.0.1",
+ "key": "SomeKeyForThisTask",
+ "value": "Value"
+ }
+ ]
+ }
+ },
+ "eventInputParameters": {
+ "GuardRequestorConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://111.222.333.444:5555/pdp/api/getDecision",
+ "httpMethod": "POST",
+ "restRequestTimeout": 2000,
+ "httpHeader": "Authorization:aaaaaaaaa== ClientAuth:bbbbbbbbb="
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "GuardResponseEvent",
+ "eventNameFilter": "GuardResponseEvent",
+ "requestorMode": true,
+ "requestorPeer": "GuardRequestorProducer",
+ "requestorTimeout": 500
+ },
+ "DCAEConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT/APEX/1?timeout=60000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "nameAlias": "closedLoopControlName",
+ "versionAlias": "version",
+ "sourceAlias": "from",
+ "pojoField": "VirtualControlLoopEvent"
+ }
+ },
+ "eventName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e"
+ },
+ "APPCConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/APPC-LCM-WRITE/APEX/1?timeout=60000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "versionAlias": "version",
+ "pojoField": "APPCLCMResponseEvent"
+ }
+ },
+ "eventName": "APPCRestartVNFResponseEvent",
+ "eventNameFilter": "APPCRestartVNFResponseEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/VCPEEventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "GuardRequestorProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "GuardRequestEvent",
+ "requestorMode": true,
+ "requestorPeer": "GuardRequestorConsumer",
+ "requestorTimeout": 500
+ },
+ "APPCProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/APPC-LCM-READ"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "versionAlias": "version",
+ "sourceAlias": "from",
+ "pojoField": "APPCLCMRequestEvent"
+ }
+ },
+ "eventNameFilter": "APPCRestartVNFRequestEvent"
+ },
+ "PolicyLogProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/POLICY-CL-MGT"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "versionAlias": "version",
+ "sourceAlias": "from",
+ "pojoField": "VirtualControlLoopNotification"
+ }
+ },
+ "eventNameFilter": "ControlLoopLogEvent"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/csit/pap/tests/data/create.group.request.json b/csit/pap/tests/data/create.group.request.json
index e916a94e..1e37583c 100644
--- a/csit/pap/tests/data/create.group.request.json
+++ b/csit/pap/tests/data/create.group.request.json
@@ -30,6 +30,18 @@
}
],
"policies": []
+ },
+ {
+ "pdpType": "pdpTypeC",
+ "desiredInstanceCount": 1,
+ "properties": {},
+ "supportedPolicyTypes": [
+ {
+ "name": "onap.policies.native.Apex",
+ "version": "1.0.0"
+ }
+ ],
+ "policies": []
}
]
}
diff --git a/csit/pap/tests/data/deploy.group.request.json b/csit/pap/tests/data/deploy.group.request.json
index 73eb213f..cfd86d1e 100644
--- a/csit/pap/tests/data/deploy.group.request.json
+++ b/csit/pap/tests/data/deploy.group.request.json
@@ -12,6 +12,16 @@
"version": "1.0.0"
}
]
+ },
+ {
+ "pdpType": "pdpTypeC",
+ "action": "POST",
+ "policies": [
+ {
+ "name": "operational.apex.decisionMaker",
+ "version": "1.0.0"
+ }
+ ]
}
]
}
diff --git a/csit/pap/tests/pap-test.robot b/csit/pap/tests/pap-test.robot
index 9c020ee8..203ddd6c 100644
--- a/csit/pap/tests/pap-test.robot
+++ b/csit/pap/tests/pap-test.robot
@@ -18,6 +18,16 @@ LoadPolicy
${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json
CreatePolicy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies 200 ${postjson} onap.restart.tca 1.0.0
+LoadPolicyWithMetadataSet
+ [Documentation] Create a policy named 'operational.apex.decisionMaker' and version '1.0.0' using specific api
+ ${postjson}= Get file ${CURDIR}/data/apex.policy.decisionmaker.input.tosca.json
+ CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} operational.apex.decisionMaker 1.0.0
+
+LoadNodeTemplates
+ [Documentation] Create node templates in database using specific api
+ ${postjson}= Get file ${NODETEMPLATES}/nodetemplates.metadatasets.input.tosca.json
+ CreateNodeTemplate /policy/api/v1/nodetemplates 200 ${postjson} 3
+
Healthcheck
[Documentation] Verify policy pap health check
${resp}= GetReq /policy/pap/v1/healthcheck
@@ -77,11 +87,20 @@ QueryPolicyAuditAfterDeploy
[Documentation] Verify policy audit record after deploy
QueryPolicyAudit /policy/pap/v1/policies/audit 200 testGroup pdpTypeA onap.restart.tca DEPLOYMENT
+QueryPolicyAuditWithMetadataSetAfterDeploy
+ [Documentation] Verify policy audit record after deploy
+ QueryPolicyAudit /policy/pap/v1/policies/audit 200 testGroup pdpTypeC operational.apex.decisionMaker DEPLOYMENT
+
UndeployPolicy
[Documentation] Undeploy a policy named 'onap.restart.tca' from PdpGroups
${auth}= PolicyAdminAuth
PerformDeleteRequest ${POLICY_PAP_IP} /policy/pap/v1/pdps/policies/onap.restart.tca 202 ${auth}
+UndeployPolicyWithMetadataSet
+ [Documentation] Undeploy a policy named 'operational.apex.decisionMaker' from PdpGroups
+ ${auth}= PolicyAdminAuth
+ PerformDeleteRequest ${POLICY_PAP_IP} /policy/pap/v1/pdps/policies/operational.apex.decisionMaker 202 ${auth}
+
QueryPdpGroupsAfterUndeploy
[Documentation] Verify PdpGroups after undeploy
QueryPdpGroups 2 defaultGroup ACTIVE 0 testGroup ACTIVE 0
@@ -90,6 +109,10 @@ QueryPolicyAuditAfterUnDeploy
[Documentation] Verify policy audit record after undeploy
QueryPolicyAudit /policy/pap/v1/policies/audit 200 testGroup pdpTypeA onap.restart.tca UNDEPLOYMENT
+QueryPolicyAuditWithMetadataSetAfterUnDeploy
+ [Documentation] Verify policy audit record after undeploy
+ QueryPolicyAudit /policy/pap/v1/policies/audit 200 testGroup pdpTypeC operational.apex.decisionMaker UNDEPLOYMENT
+
DeactivatePdpGroup
[Documentation] Change the state of PdpGroup named 'testGroup' to PASSIVE
${auth}= PolicyAdminAuth
diff --git a/csit/prepare-config-files.py b/csit/prepare-config-files.py
index 977df556..4eaa3422 100755
--- a/csit/prepare-config-files.py
+++ b/csit/prepare-config-files.py
@@ -30,6 +30,7 @@ if __name__ == '__main__':
https_enabled = parser.parse_args().https
message_router_port = '3905' if https_enabled == "true" else '3904'
+ protocol = 'https://' if https_enabled == "true" else 'http://'
current_dir = os.getcwd()
config_dir = current_dir + "/config/"
@@ -44,6 +45,7 @@ if __name__ == '__main__':
with open(file, 'r+') as f:
content = f.read()
new_content = content.replace("{{HTTPS_ENABLED}}", https_enabled)
+ new_content = new_content.replace("{{PROTOCOL}}", protocol)
new_content = new_content.replace("{{MESSAGE_ROUTER_PORT}}", message_router_port)
if new_content != content:
diff --git a/csit/start-gui-smoke-components.sh b/csit/start-gui-smoke-components.sh
new file mode 100755
index 00000000..4fe36a01
--- /dev/null
+++ b/csit/start-gui-smoke-components.sh
@@ -0,0 +1,29 @@
+# ============LICENSE_START====================================================
+# Copyright (C) 2022 Nordix Foundation.
+# =============================================================================
+# 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======================================================
+SCRIPTS=$(git rev-parse --show-toplevel)
+export SCRIPTS="${SCRIPTS}"/csit
+
+cd ${SCRIPTS}
+
+python3 ./prepare-config-files.py --https=true
+
+source ./get-versions.sh
+
+docker-compose -f docker-compose-gui-smoke.yml up -d policy-gui
+
+echo "Clamp GUI: https://localhost:2443/clamp"
diff --git a/csit/stop-gui-smoke.sh b/csit/stop-gui-smoke.sh
new file mode 100755
index 00000000..c69069b3
--- /dev/null
+++ b/csit/stop-gui-smoke.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# ============LICENSE_START====================================================
+# Copyright (C) 2022 Nordix Foundation.
+# =============================================================================
+# 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======================================================
+
+SCRIPTS=$(git rev-parse --show-toplevel)
+export SCRIPTS="${SCRIPTS}"/csit
+
+source "${SCRIPTS}"/get-versions.sh
+
+docker-compose -f "${SCRIPTS}"/docker-compose-gui-smoke.yml down
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/0900/upgrade/0150-pdpstatistics.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/0900/upgrade/0150-pdpstatistics.sql
index 5cf66cf2..17c4e6a8 100644
--- a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/0900/upgrade/0150-pdpstatistics.sql
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/0900/upgrade/0150-pdpstatistics.sql
@@ -17,4 +17,4 @@
* ============LICENSE_END=========================================================
*/
-ALTER TABLE pdpstatistics ALTER COLUMN timeStamp TIMESTAMP(6);
+ALTER TABLE pdpstatistics ALTER COLUMN timeStamp TYPE TIMESTAMP(6);
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql
new file mode 100644
index 00000000..3ea7f9ba
--- /dev/null
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql
@@ -0,0 +1,20 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation. 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=========================================================
+ */
+
+ALTER TABLE jpatoscanodetemplate_metadata modify METADATA VARCHAR; \ No newline at end of file
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0160-jpapolicyaudit_pk.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0160-jpapolicyaudit_pk.sql
index 5dc6a940..7cb176e5 100644
--- a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0160-jpapolicyaudit_pk.sql
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0160-jpapolicyaudit_pk.sql
@@ -17,5 +17,5 @@
* ============LICENSE_END=========================================================
*/
-ALTER TABLE jpapolicyaudit DROP CONSTRAINT PRIMARY KEY;
+ALTER TABLE jpapolicyaudit DROP CONSTRAINT pk_jpapolicyaudit;
ALTER TABLE jpapolicyaudit ADD CONSTRAINT PK_JPAPOLICYAUDIT PRIMARY KEY (ID);
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0170-pdpstatistics_pk.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0170-pdpstatistics_pk.sql
index 5616b946..951e3410 100644
--- a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0170-pdpstatistics_pk.sql
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0170-pdpstatistics_pk.sql
@@ -17,5 +17,5 @@
* ============LICENSE_END=========================================================
*/
-ALTER TABLE pdpstatistics DROP CONSTRAINT PRIMARY KEY;
+ALTER TABLE pdpstatistics DROP CONSTRAINT pk_pdpstatistics;
ALTER TABLE pdpstatistics ADD CONSTRAINT PK_PDPSTATISTICS PRIMARY KEY (ID);
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql
new file mode 100644
index 00000000..9c4a118a
--- /dev/null
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql
@@ -0,0 +1,20 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation. 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=========================================================
+ */
+
+ALTER TABLE jpatoscanodetemplate_metadata modify METADATA LONGTEXT; \ No newline at end of file
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql
new file mode 100644
index 00000000..3ea7f9ba
--- /dev/null
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/downgrade/0180-jpatoscanodetemplate_metadata.sql
@@ -0,0 +1,20 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation. 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=========================================================
+ */
+
+ALTER TABLE jpatoscanodetemplate_metadata modify METADATA VARCHAR; \ No newline at end of file
diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql
new file mode 100644
index 00000000..9c4a118a
--- /dev/null
+++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1000/upgrade/0180-jpatoscanodetemplate_metadata.sql
@@ -0,0 +1,20 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation. 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=========================================================
+ */
+
+ALTER TABLE jpatoscanodetemplate_metadata modify METADATA LONGTEXT; \ No newline at end of file