Use policy yaml and encode it 38/88038/1
authorBrian Freeman <bf1936@att.com>
Fri, 17 May 2019 22:46:56 +0000 (17:46 -0500)
committerBrian Freeman <bf1936@att.com>
Fri, 17 May 2019 22:58:58 +0000 (22:58 +0000)
Leaving old urlencoded tempalte in case we need to revert

Issue-ID: POLICY-1685
Change-Id: I25bbf86193863ff0787b0b6e9987227360ed6a88
Signed-off-by: Brian Freeman <bf1936@att.com>
robot/assets/templates/policy/vFirewall_policy_monitoring_input_tosca.template
robot/assets/templates/policy/vFirewall_policy_operational_content.yaml [new file with mode: 0644]
robot/assets/templates/policy/vFirewall_policy_operational_input.template
robot/assets/templates/policy/vFirewall_policy_operational_url_enc_content_input.template [new file with mode: 0644]
robot/resources/policy_interface.robot

index 8ac5a9e..470195f 100644 (file)
@@ -15,7 +15,7 @@
                             "metricsPerEventName": [
                                 {
                                     "eventName": "vFirewallBroadcastPackets",
-                                    "controlLoopSchemaType": "VNF",
+                                    "controlLoopSchemaType": "VM",
                                     "policyScope": "DCAE",
                                     "policyName": "DCAE.Config_tca-hi-lo",
                                     "policyVersion": "v0.0.1",
diff --git a/robot/assets/templates/policy/vFirewall_policy_operational_content.yaml b/robot/assets/templates/policy/vFirewall_policy_operational_content.yaml
new file mode 100644 (file)
index 0000000..f5ae3bc
--- /dev/null
@@ -0,0 +1,25 @@
+controlLoop:
+    version: 2.0.0
+    controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
+    trigger_policy: unique-policy-id-1-modifyConfig
+    timeout: 1200
+    abatement: false
+policies:
+    - id: unique-policy-id-1-modifyConfig
+      name: modify_packet_gen_config
+      description:
+      actor: APPC
+      recipe: ModifyConfig
+      target:
+          resourceID: __RESOURCE_ID__
+          type: VNF
+      payload:
+          streams: '{"active-streams":5}'
+      retry: 0
+      timeout: 300
+      success: final_success
+      failure: final_failure
+      failure_timeout: final_failure_timeout
+      failure_retries: final_failure_retries
+      failure_exception: final_failure_exception
+      failure_guard: final_failure_guard
index 948a589..5020b09 100644 (file)
@@ -1,4 +1,4 @@
 {
   "policy-id" : "operational.modifyconfig",
-  "content" : "controlLoop%3A%0A%20%20%20%20version%3A%202.0.0%0A%20%20%20%20controlLoopName%3A%20ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0A%20%20%20%20trigger_policy%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20abatement%3A%20false%0Apolicies%3A%0A%20%20%20%20-%20id%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20%20%20name%3A%20modify_packet_gen_config%0A%20%20%20%20%20%20description%3A%0A%20%20%20%20%20%20actor%3A%20APPC%0A%20%20%20%20%20%20recipe%3A%20ModifyConfig%0A%20%20%20%20%20%20target%3A%0A%20%20%20%20%20%20%20%20%20%20resourceID%3A%20${RESOURCE_ID}%0A%20%20%20%20%20%20%20%20%20%20type%3A%20VNF%0A%20%20%20%20%20%20retry%3A%200%0A%20%20%20%20%20%20timeout%3A%20300%0A%20%20%20%20%20%20success%3A%20final_success%0A%20%20%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20%20%20failure_guard%3A%20final_failure_guard"
+  "content" : "controlLoop%3A%0A%20%20%20%20version%3A%202.0.0%0A%20%20%20%20controlLoopName%3A%20ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0A%20%20%20%20trigger_policy%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20abatement%3A%20false%0Apolicies%3A%0A%20%20%20%20-%20id%3A%20unique-policy-id-1-modifyConfig%0A%20%20%20%20%20%20name%3A%20modify_packet_gen_config%0A%20%20%20%20%20%20description%3A%0A%20%20%20%20%20%20actor%3A%20APPC%0A%20%20%20%20%20%20recipe%3A%20ModifyConfig%0A%20%20%20%20%20%20target%3A%0A%20%20%20%20%20%20%20%20%20%20resourceID%3A%20${RESOURCE_ID}%0A%20%20%20%20%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20%20%20retry%3A%200%0A%20%20%20%20%20%20timeout%3A%20300%0A%20%20%20%20%20%20success%3A%20final_success%0A%20%20%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20%20%20failure_guard%3A%20final_failure_guard"
 }
diff --git a/robot/assets/templates/policy/vFirewall_policy_operational_url_enc_content_input.template b/robot/assets/templates/policy/vFirewall_policy_operational_url_enc_content_input.template
new file mode 100644 (file)
index 0000000..b971a89
--- /dev/null
@@ -0,0 +1,4 @@
+{
+  "policy-id" : "operational.modifyconfig",
+  "content" : "${URL_ENCODED_CONTENT}"
+}
index 9922638..fc2a205 100644 (file)
@@ -26,6 +26,7 @@ ${POLICY_APEX_PDP_IP}       ${GLOBAL_INJECTED_POLICY_APEX_PDP_IP_ADDR}
 ${POLICY_HEALTHCHECK_USERNAME}         ${GLOBAL_POLICY_HEALTHCHECK_USERNAME}
 ${POLICY_HEALTHCHECK_PASSWORD}         ${GLOBAL_POLICY_HEALTHCHECK_PASSWORD}
 
+
 *** Keywords ***
 
 Run Policy Health Check
@@ -227,11 +228,40 @@ Create vFirewall Monitoring Policy
 Create vFirewall Operational Policy
      [Arguments]   ${resource_id}
      ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
+     #vFirewall_policy_operational_content.yaml
+     #vFirewall_policy_operational_url_enc_content_input.template
+     ${content_data}    OperatingSystem.Get File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_content.yaml
+     ${content_data}=    Replace String Using Regexp   ${content_data}           ${RESOURCE_ID}     ${resource_id}
+     ${encoded_content_data}=    Evaluate    urllib.urlencode('''${content_data}''')   urllib
+     ${content_dictionary}=   Create Dictionary    URL_ENCODED_CONTENT    {$encoded_content_data}
+     ${data_2}=   Fill JSON Template File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_url_enc_content_input.template   ${dict_2}
+     Log To Console    ${data_2}
      ${data}=   Fill JSON Template File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_input.template    ${dict}
      ${resp}=   Run Policy Api 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
      [Return]    ${resp.json()['policy-version']}
 
+Create vFirewall Operational Policy
+     [Arguments]   ${resource_id}
+     ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
+     ${content_data}    OperatingSystem.Get File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_content.yaml
+     ${content_data}=    Replace String Using Regexp   ${content_data}    __RESOURCE_ID__     ${resource_id}
+     ${encoded_content_data}=    Evaluate    urllib.quote_plus('''${content_data}''')   urllib
+     ${content_dictionary}=   Create Dictionary    URL_ENCODED_CONTENT    ${encoded_content_data}
+     ${data_2}=   Fill JSON Template File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_url_enc_content_input.template   ${content_dictionary}
+     Log To Console    ${data_2}
+     ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies    ${data_2}
+     #
+     # pre-encoded content version
+     #${data}=   Fill JSON Template File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_input.template    ${dict}
+     #${resp}=   Run Policy Api 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
+     [Return]    ${resp.json()['policy-version']}
+
+
+
+
 
 Push vFirewall Policies To PDP Group
      [Arguments]    ${op_policy_version}