From e14d257db3c028af381ca277e6559d01262524af Mon Sep 17 00:00:00 2001 From: Brian Freeman Date: Mon, 29 Apr 2019 16:20:21 -0500 Subject: Update for Dublin Policy API Add newline for downloaded CSAR Log in sdc interface Add templates and Keywords for new Policy API for testing Issue-ID: POLICY-1685 Change-Id: Ib85d3be4004dda04ae6c8d95d48763222547528e Signed-off-by: Brian Freeman --- ...Firewall_policy_monitoring_input_tosca.template | 50 ++++++++++++++++++++++ .../vFirewall_policy_operational_input.template | 4 ++ .../templates/policy/vFirewall_push.template | 12 ++++++ robot/resources/asdc_interface.robot | 2 +- robot/resources/policy_interface.robot | 33 ++++++++++++++ 5 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 robot/assets/templates/policy/vFirewall_policy_monitoring_input_tosca.template create mode 100644 robot/assets/templates/policy/vFirewall_policy_operational_input.template create mode 100644 robot/assets/templates/policy/vFirewall_push.template diff --git a/robot/assets/templates/policy/vFirewall_policy_monitoring_input_tosca.template b/robot/assets/templates/policy/vFirewall_policy_monitoring_input_tosca.template new file mode 100644 index 00000000..ff95f481 --- /dev/null +++ b/robot/assets/templates/policy/vFirewall_policy_monitoring_input_tosca.template @@ -0,0 +1,50 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "topology_template": { + "policies": [ + { + "onap.vfirewall.tca": { + "type": "onap.policies.monitoring.cdap.tca.hi.lo.app", + "version": "1.0.0", + "metadata": { + "policy-id": "onap.vfirewall.tca" + }, + "properties": { + "tca_policy": { + "domain": "measurementsForVfScaling", + "metricsPerEventName": [ + { + "eventName": "vLoadBalancer", + "controlLoopSchemaType": "VNF", + "policyScope": "resource=vLoadBalancer;type=configuration", + "policyName": "onap.vfirewall.tca", + "policyVersion": "v0.0.1", + "thresholds": [ + { + "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", + "closedLoopEventStatus": "ONSET", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", + "thresholdValue": 500, + "direction": "LESS_OR_EQUAL", + "severity": "MAJOR" + }, + { + "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", + "closedLoopEventStatus": "ONSET", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", + "thresholdValue": 5000, + "direction": "GREATER_OR_EQUAL", + "severity": "CRITICAL" + } + ] + } + ] + } + } + } + } + ] + } +} diff --git a/robot/assets/templates/policy/vFirewall_policy_operational_input.template b/robot/assets/templates/policy/vFirewall_policy_operational_input.template new file mode 100644 index 00000000..caa8734b --- /dev/null +++ b/robot/assets/templates/policy/vFirewall_policy_operational_input.template @@ -0,0 +1,4 @@ +{ + "policy-id" : "operational.modifyconfig", + "content" : "controlLoop%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20version%3A%202.0.0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20controlLoopName%3A%20ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0A%20%20%20%20%20%20%20%20%20%20%20%20%20trigger_policy%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20%20%20%20%20%20%20%20%20%20timeout%3A%201200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20abatement%3A%20false%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20policies%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20-%20id%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%3A%20modify%20packet%20gen%20config%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20description%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20actor%3A%20APPC%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20recipe%3A%20ModifyConfig%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20TBD%20-%20Cannot%20be%20known%20until%20instantiation%20is%20done%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20resourceID%3A%20${RESOURCE_ID}%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20VNF%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20retry%3A%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20timeout%3A%20300%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20success%3A%20final_success%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20failure_guard%3A%20final_failure_guard" +} diff --git a/robot/assets/templates/policy/vFirewall_push.template b/robot/assets/templates/policy/vFirewall_push.template new file mode 100644 index 00000000..aad32220 --- /dev/null +++ b/robot/assets/templates/policy/vFirewall_push.template @@ -0,0 +1,12 @@ +{ + "policies": [ + { + "policy-id": "onap.vfirewall.tca", + "policy-version": 1 + }, + { + "policy-id": "operational.modifyconfig", + "policy-version": 1 + } + ] +} diff --git a/robot/resources/asdc_interface.robot b/robot/resources/asdc_interface.robot index cbaba4ac..1160c316 100644 --- a/robot/resources/asdc_interface.robot +++ b/robot/resources/asdc_interface.robot @@ -260,7 +260,7 @@ Download CSAR ${base64Obj}= Set Variable ${resp.json()['base64Contents']} ${binObj}= Evaluate base64.b64decode("${base64Obj}") modules=base64 Create Binary File ${save_directory}/${csar_file_name} ${binObj} - Log To Console Downloaded:${csar_file_name} + Log To Console ${\n}Downloaded:${csar_file_name} [Return] diff --git a/robot/resources/policy_interface.robot b/robot/resources/policy_interface.robot index 6f48e4fc..8bbbb62a 100644 --- a/robot/resources/policy_interface.robot +++ b/robot/resources/policy_interface.robot @@ -52,6 +52,16 @@ Run Policy Put Request ${resp}= Put Request policy ${data_path} data=${data} headers=${headers} Log Received response from policy ${resp.text} [Return] ${resp} + +Run Policy Post Request + [Documentation] Runs Policy Post request + [Arguments] ${data_path} ${data} + Log Creating session ${POLICY_ENDPOINT} + ${session}= Create Session policy ${POLICY_ENDPOINT} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} Environment=TEST + ${resp}= Post Request policy ${data_path} data=${data} headers=${headers} + Log Received response from policy ${resp.text} + [Return] ${resp} Run Policy Delete Request [Documentation] Runs Policy Delete request @@ -129,3 +139,26 @@ Validate the vFWCL Policy Should Be Equal As Strings ${resp.status_code} 200 ${resp}= Run Drools Get Request /policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params Should Be Equal As Strings ${resp.status_code} 200 + + +Create vFirewall Monitoring Policy + ${dict}= Create Dictionary + ${data}= Fill JSON Template File ${POLICY_TEMPLATES}/vFirewall_policy_monitoring_input_tosca.template ${dict} + ${resp}= Run Policy Post Request /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies ${data} + Should Be Equal As Strings ${resp.status_code} 200 + + +Create vFirewall Operational Policy + [Arguments] ${resource_id} + ${dict}= Create Dictionary RESOURCE_ID=${resource_id} + ${data}= Fill JSON Template File ${POLICY_TEMPLATES}/vFirewall_policy_operational_input.template ${dict} + ${resp}= Run Policy Post Request /policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies ${data} + Should Be Equal As Strings ${resp.status_code} 200 + + +Push vFirewall Policies To PDP Group + ${dict}= Create Dictionary + ${data}= Fill JSON Template File ${POLICY_TEMPLATES}/vFirewall_push.template ${dict} + ${resp}= Run Policy Post Request /policy/pap/v1/pdps/policies ${data} + Should Be Equal As Strings ${resp.status_code} 200 + -- cgit 1.2.3-korg