diff options
author | adheli.tavares <adheli.tavares@est.tech> | 2024-10-31 16:01:59 +0000 |
---|---|---|
committer | adheli.tavares <adheli.tavares@est.tech> | 2024-11-13 13:50:32 +0000 |
commit | 21c3a2bfe23cbcf007def49e51191c40b98fa978 (patch) | |
tree | 4a493e6438cc7831cb692b68dd78ecb0c664b7c4 /csit | |
parent | 79ccac3162d05b4797450836c669e81465d3fa2d (diff) |
Fix issues with grafana dashboards after multiple micrometer
and spring actuator uplifts.
- changed the metrics that have been renamed automatically
- changed the irate functions range to the same used on each
dashboard instead of fixed
- apex_healthcheck function wasn't being called when running
csit script because it was declared after usage
Issue-ID: POLICY-5155
Change-Id: I993f022937f6e2041a6c50dc5037c559da087849
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
Diffstat (limited to 'csit')
-rwxr-xr-x | csit/resources/scripts/build-csit-docker-image.sh | 2 | ||||
-rwxr-xr-x | csit/resources/scripts/wait_for_rest.sh | 5 | ||||
-rw-r--r-- | csit/resources/tests/policy-clamp-test.robot | 816 | ||||
-rwxr-xr-x | csit/run-project-csit.sh | 121 |
4 files changed, 478 insertions, 466 deletions
diff --git a/csit/resources/scripts/build-csit-docker-image.sh b/csit/resources/scripts/build-csit-docker-image.sh index 8fd300f4..c80afc4f 100755 --- a/csit/resources/scripts/build-csit-docker-image.sh +++ b/csit/resources/scripts/build-csit-docker-image.sh @@ -46,7 +46,7 @@ docker image rm -f ${ROBOT_DOCKER_IMAGE} clone_models echo "Build robot framework docker image" -docker build . --file Dockerfile --tag "${ROBOT_DOCKER_IMAGE}" --quiet +docker build . --file Dockerfile --tag "onap/${ROBOT_DOCKER_IMAGE}" --quiet docker save -o policy-csit-robot.tar ${ROBOT_DOCKER_IMAGE}:latest rm -rf ${WORKSPACE}/csit/resources/policy-csit-robot.tar diff --git a/csit/resources/scripts/wait_for_rest.sh b/csit/resources/scripts/wait_for_rest.sh index ce47d600..9732bc54 100755 --- a/csit/resources/scripts/wait_for_rest.sh +++ b/csit/resources/scripts/wait_for_rest.sh @@ -1,6 +1,6 @@ #!/bin/sh # ============LICENSE_START==================================================== -# Copyright (C) 2023 Nordix Foundation. +# Copyright (C) 2023-2024 Nordix Foundation. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -66,8 +66,7 @@ do sleep 5 fi done - if [ $rc -ne 0 ] - then + if [ $rc -ne 0 ]; then echo "$host port $port REST cannot be detected" exit $rc fi diff --git a/csit/resources/tests/policy-clamp-test.robot b/csit/resources/tests/policy-clamp-test.robot index e765dd4f..1c2ea031 100644 --- a/csit/resources/tests/policy-clamp-test.robot +++ b/csit/resources/tests/policy-clamp-test.robot @@ -9,419 +9,419 @@ Resource common-library.robot *** Test Cases *** HealthcheckAcm - [Documentation] Healthcheck on Clamp Acm - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} onap/policy/clamp/acm/health ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Healthcheck on Clamp Acm + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} onap/policy/clamp/acm/health ${auth} + Should Be Equal As Strings ${resp.status_code} 200 HealthcheckParticipantSim - [Documentation] Healthcheck on Participant Simulator - ${auth}= ParticipantAuth - ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/health ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Healthcheck on Participant Simulator + ${auth}= ParticipantAuth + ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/health ${auth} + Should Be Equal As Strings ${resp.status_code} 200 HealthcheckApi - [Documentation] Healthcheck on policy-api - Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckApi + [Documentation] Healthcheck on policy-api + Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckApi HealthcheckPap - [Documentation] Healthcheck on policy-pap - Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckPap + [Documentation] Healthcheck on policy-pap + Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckPap RegisterParticipants - [Documentation] Register Participants. - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/participants - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 + [Documentation] Register Participants. + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/participants + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 CommissionAutomationComposition - [Documentation] Commission automation composition definition. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/acelement-usecase.yaml - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} - ${respyaml}= yaml.Safe Load ${resp.text} - set Suite variable ${compositionId} ${respyaml["compositionId"]} - Should Be Equal As Strings ${resp.status_code} 201 + [Documentation] Commission automation composition definition. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/acelement-usecase.yaml + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${compositionId} ${respyaml["compositionId"]} + Should Be Equal As Strings ${resp.status_code} 201 CommissionAcDefinitionMigrationFrom - [Documentation] Commission automation composition definition From. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-from.yaml - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} - ${respyaml}= yaml.Safe Load ${resp.text} - set Suite variable ${compositionFromId} ${respyaml["compositionId"]} - Should Be Equal As Strings ${resp.status_code} 201 + [Documentation] Commission automation composition definition From. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-from.yaml + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${compositionFromId} ${respyaml["compositionId"]} + Should Be Equal As Strings ${resp.status_code} 201 CommissionAcDefinitionMigrationTo - [Documentation] Commission automation composition definition To. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-to.yaml - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} - ${respyaml}= yaml.Safe Load ${resp.text} - set Suite variable ${compositionToId} ${respyaml["compositionId"]} - Should Be Equal As Strings ${resp.status_code} 201 + [Documentation] Commission automation composition definition To. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-to.yaml + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions ${postyaml} ${auth} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${compositionToId} ${respyaml["compositionId"]} + Should Be Equal As Strings ${resp.status_code} 201 PrimeACDefinitions - [Documentation] Prime automation composition definition - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACPriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionId} PRIMED + [Documentation] Prime automation composition definition + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACPriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionId} PRIMED FailPrimeACDefinitionFrom - [Documentation] Prime automation composition definition Migration From. - SetParticipantSimFail - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACPriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId} + [Documentation] Prime automation composition definition Migration From. + SetParticipantSimFail + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACPriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId} PrimeACDefinitionFrom - [Documentation] Prime automation composition definition Migration From. - SetParticipantSimSuccess - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACPriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} PRIMED + [Documentation] Prime automation composition definition Migration From. + SetParticipantSimSuccess + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACPriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} PRIMED PrimeACDefinitionTo - [Documentation] Prime automation composition definition Migration To. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACPriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} PRIMED + [Documentation] Prime automation composition definition Migration To. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACPriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} PRIMED InstantiateAutomationComposition - [Documentation] Instantiate automation composition. - ${auth}= ClampAuth - Run Keyword If '${TEST_ENV}'=='k8s' set Suite variable ${instantiationfile} AcK8s.json - - ... ELSE set Suite variable ${instantiationfile} AcDocker.json - ${postjson}= Get file ${CURDIR}/data/${instantiationfile} - ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId} - ${resp}= MakeJsonPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances ${updatedpostjson} ${auth} - ${respyaml}= yaml.Safe Load ${resp.text} - set Suite variable ${instanceId} ${respyaml["instanceId"]} - Should Be Equal As Strings ${resp.status_code} 201 + [Documentation] Instantiate automation composition. + ${auth}= ClampAuth + Run Keyword If '${TEST_ENV}'=='k8s' set Suite variable ${instantiationfile} AcK8s.json + + ... ELSE set Suite variable ${instantiationfile} AcDocker.json + ${postjson}= Get file ${CURDIR}/data/${instantiationfile} + ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId} + ${resp}= MakeJsonPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances ${updatedpostjson} ${auth} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${instanceId} ${respyaml["instanceId"]} + Should Be Equal As Strings ${resp.status_code} 201 InstantiateAutomationCompositionMigrationFrom - [Documentation] Instantiate automation composition migration. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-from.yaml - ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} - ${respyaml}= yaml.Safe Load ${resp.text} - set Suite variable ${instanceMigrationId} ${respyaml["instanceId"]} - Should Be Equal As Strings ${resp.status_code} 201 + [Documentation] Instantiate automation composition migration. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-from.yaml + ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${instanceMigrationId} ${respyaml["instanceId"]} + Should Be Equal As Strings ${resp.status_code} 201 FailDeployAutomationCompositionMigration - [Documentation] Fail Deploy automation composition. - SetParticipantSimFail - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/DeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionFromId} ${instanceMigrationId} FAILED + [Documentation] Fail Deploy automation composition. + SetParticipantSimFail + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionFromId} ${instanceMigrationId} FAILED TimeoutDeployAutomationCompositionMigration - [Documentation] Timeout Deploy automation composition. - SetParticipantSimTimeout - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/DeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 + [Documentation] Timeout Deploy automation composition. + SetParticipantSimTimeout + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 PrepareAutomationComposition - [Documentation] Prepare automation composition. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/PrepareAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 10 min 5 sec VerifySubStatus ${compositionId} ${instanceId} + [Documentation] Prepare automation composition. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/PrepareAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifySubStatus ${compositionId} ${instanceId} DeployAutomationComposition - [Documentation] Deploy automation composition. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/DeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus ${compositionId} ${instanceId} DEPLOYED + [Documentation] Deploy automation composition. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus ${compositionId} ${instanceId} DEPLOYED CheckTraces - [Documentation] Verify that traces are being recorded in jaeger - Log Verifying Jaeger traces - ${acmResp}= VerifyTracingWorks ${JAEGER_IP} acm-r - ${httpResp}= VerifyTracingWorks ${JAEGER_IP} http-ppnt - ${policyResp}= VerifyTracingWorks ${JAEGER_IP} policy-ppnt - ${k8sResp}= VerifyTracingWorks ${JAEGER_IP} k8s-ppnt - Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} - Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]} + [Documentation] Verify that traces are being recorded in jaeger + Log Verifying Jaeger traces + ${acmResp}= VerifyTracingWorks ${JAEGER_IP} acm-r + ${httpResp}= VerifyTracingWorks ${JAEGER_IP} http-ppnt + ${policyResp}= VerifyTracingWorks ${JAEGER_IP} policy-ppnt + ${k8sResp}= VerifyTracingWorks ${JAEGER_IP} k8s-ppnt + Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]} CheckKafkaPresentInTraces - [Documentation] Verify that kafka traces are being recorded in jaeger - Log Verifying Kafka Jaeger traces - ${acmResp}= VerifyKafkaInTraces ${JAEGER_IP} acm-r - ${httpResp}= VerifyKafkaInTraces ${JAEGER_IP} http-ppnt - ${policyResp}= VerifyKafkaInTraces ${JAEGER_IP} policy-ppnt - ${k8sResp}= VerifyKafkaInTraces ${JAEGER_IP} k8s-ppnt - Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} - Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]} - Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]} + [Documentation] Verify that kafka traces are being recorded in jaeger + Log Verifying Kafka Jaeger traces + ${acmResp}= VerifyKafkaInTraces ${JAEGER_IP} acm-r + ${httpResp}= VerifyKafkaInTraces ${JAEGER_IP} http-ppnt + ${policyResp}= VerifyKafkaInTraces ${JAEGER_IP} policy-ppnt + ${k8sResp}= VerifyKafkaInTraces ${JAEGER_IP} k8s-ppnt + Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]} + Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]} CheckHttpPresentInAcmTraces - [Documentation] Verify that http traces are being recorded in jaeger - Log Verifying Http Jaeger traces - ${acmResp}= VerifyHttpInTraces ${JAEGER_IP} acm-r - Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} - Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + [Documentation] Verify that http traces are being recorded in jaeger + Log Verifying Http Jaeger traces + ${acmResp}= VerifyHttpInTraces ${JAEGER_IP} acm-r + Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]} + Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]} QueryPolicies - [Documentation] Verify the new policies deployed - ${auth}= PolicyAdminAuth - Sleep 10s - Log Creating session http://${POLICY_PAP_IP} - ${session}= Create Session policy http://${POLICY_PAP_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= GET On Session policy /policy/pap/v1/policies/deployed headers=${headers} - Log Received response from policy-pap {resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Value ${resp.json()[0]} onap.policies.native.apex.ac.element + [Documentation] Verify the new policies deployed + ${auth}= PolicyAdminAuth + Sleep 10s + Log Creating session http://${POLICY_PAP_IP} + ${session}= Create Session policy http://${POLICY_PAP_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/pap/v1/policies/deployed headers=${headers} + Log Received response from policy-pap {resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + Dictionary Should Contain Value ${resp.json()[0]} onap.policies.native.apex.ac.element QueryPolicyTypes - [Documentation] Verify the new policy types created - ${auth}= PolicyAdminAuth - Sleep 10s - Log Creating session http://${POLICY_API_IP}:6969 - ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers} - Log Received response from policy-api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - List Should Contain Value ${resp.json()['policy_types']} onap.policies.native.Apex + [Documentation] Verify the new policy types created + ${auth}= PolicyAdminAuth + Sleep 10s + Log Creating session http://${POLICY_API_IP}:6969 + ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers} + Log Received response from policy-api ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + List Should Contain Value ${resp.json()['policy_types']} onap.policies.native.Apex ReviewAutomationComposition - [Documentation] Review automation composition. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ReviewAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 10 min 5 sec VerifySubStatus ${compositionId} ${instanceId} + [Documentation] Review automation composition. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ReviewAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifySubStatus ${compositionId} ${instanceId} CheckTimeoutAutomationComposition - [Documentation] Timeout Deploy automation composition. - Wait Until Keyword Succeeds 5 min 5 sec VerifyStateChangeResult ${compositionFromId} ${instanceMigrationId} TIMEOUT + [Documentation] Timeout Deploy automation composition. + Wait Until Keyword Succeeds 5 min 5 sec VerifyStateChangeResult ${compositionFromId} ${instanceMigrationId} TIMEOUT DeployAutomationCompositionMigration - [Documentation] Deploy automation composition. - SetParticipantSimSuccess - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/DeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED + [Documentation] Deploy automation composition. + SetParticipantSimSuccess + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances/${instanceMigrationId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED SendOutPropertiesToRuntime - [Documentation] Send Out Properties To Runtime - ${auth}= ParticipantAuth - ${postjson}= Get file ${CURDIR}/data/OutProperties.json - ${updatedpostjson}= Replace String ${postjson} INSTACEIDPLACEHOLDER ${instanceMigrationId} - ${updatedpostjson}= Replace String ${updatedpostjson} TEXTPLACEHOLDER MyTextToSend - ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/datas ${updatedpostjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextToSend + [Documentation] Send Out Properties To Runtime + ${auth}= ParticipantAuth + ${postjson}= Get file ${CURDIR}/data/OutProperties.json + ${updatedpostjson}= Replace String ${postjson} INSTACEIDPLACEHOLDER ${instanceMigrationId} + ${updatedpostjson}= Replace String ${updatedpostjson} TEXTPLACEHOLDER MyTextToSend + ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/datas ${updatedpostjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextToSend AutomationCompositionUpdate - [Documentation] Update of an automation composition. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-instance-update.yaml - ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER MyTextUpdated - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED - VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextUpdated - VerifyParticipantSim ${instanceMigrationId} MyTextUpdated + [Documentation] Update of an automation composition. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-instance-update.yaml + ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER MyTextUpdated + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED + VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextUpdated + VerifyParticipantSim ${instanceMigrationId} MyTextUpdated PrecheckAutomationCompositionMigration - [Documentation] Precheck Migration of an automation composition. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-instance-precheck-migration.yaml - ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Wait Until Keyword Succeeds 2 min 5 sec VerifySubStatus ${compositionFromId} ${instanceMigrationId} + [Documentation] Precheck Migration of an automation composition. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-instance-precheck-migration.yaml + ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Wait Until Keyword Succeeds 2 min 5 sec VerifySubStatus ${compositionFromId} ${instanceMigrationId} AutomationCompositionMigrationTo - [Documentation] Migration of an automation composition. - ${auth}= ClampAuth - ${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-to.yaml - ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} - ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration - ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} DEPLOYED - VerifyPropertiesUpdated ${compositionToId} ${instanceMigrationId} TextForMigration - VerifyParticipantSim ${instanceMigrationId} TextForMigration - VerifyMigratedElementsRuntime ${compositionToId} ${instanceMigrationId} - VerifyMigratedElementsSim ${instanceMigrationId} + [Documentation] Migration of an automation composition. + ${auth}= ClampAuth + ${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-to.yaml + ${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId} + ${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration + ${resp}= MakeYamlPostRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId}/instances ${updatedpostyaml} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} DEPLOYED + VerifyPropertiesUpdated ${compositionToId} ${instanceMigrationId} TextForMigration + VerifyParticipantSim ${instanceMigrationId} TextForMigration + VerifyMigratedElementsRuntime ${compositionToId} ${instanceMigrationId} + VerifyMigratedElementsSim ${instanceMigrationId} UnDeployAutomationComposition - [Documentation] UnDeploy automation composition. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/UndeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus ${compositionId} ${instanceId} UNDEPLOYED + [Documentation] UnDeploy automation composition. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/UndeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus ${compositionId} ${instanceId} UNDEPLOYED FailUnDeployAutomationCompositionMigrationTo - [Documentation] Fail UnDeploy automation composition migrated. - SetParticipantSimFail - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/UndeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionToId} ${instanceMigrationId} FAILED + [Documentation] Fail UnDeploy automation composition migrated. + SetParticipantSimFail + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/UndeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionToId} ${instanceMigrationId} FAILED UnDeployAutomationCompositionMigrationTo - [Documentation] UnDeploy automation composition migrated. - SetParticipantSimSuccess - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/UndeployAC.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} UNDEPLOYED + [Documentation] UnDeploy automation composition migrated. + SetParticipantSimSuccess + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/UndeployAC.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} UNDEPLOYED UnInstantiateAutomationComposition - [Documentation] Delete automation composition instance. - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionId} + [Documentation] Delete automation composition instance. + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionId} FailUnInstantiateAutomationCompositionMigrationTo - [Documentation] Fail Delete automation composition instance migrated. - SetParticipantSimFail - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionToId} ${instanceMigrationId} FAILED + [Documentation] Fail Delete automation composition instance migrated. + SetParticipantSimFail + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyStateChangeResult ${compositionToId} ${instanceMigrationId} FAILED UnInstantiateAutomationCompositionMigrationTo - [Documentation] Delete automation composition instance migrated. - SetParticipantSimSuccess - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionToId} + [Documentation] Delete automation composition instance migrated. + SetParticipantSimSuccess + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId}/instances/${instanceMigrationId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionToId} DePrimeACDefinitions - [Documentation] DePrime automation composition definition - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACDepriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionId} COMMISSIONED + [Documentation] DePrime automation composition definition + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACDepriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionId} COMMISSIONED FailDePrimeACDefinitionsFrom - [Documentation] Fail DePrime automation composition definition migration From. - SetParticipantSimFail - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACDepriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId} + [Documentation] Fail DePrime automation composition definition migration From. + SetParticipantSimFail + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACDepriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId} DePrimeACDefinitionsFrom - [Documentation] DePrime automation composition definition migration From. - SetParticipantSimSuccess - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACDepriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} COMMISSIONED + [Documentation] DePrime automation composition definition migration From. + SetParticipantSimSuccess + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACDepriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionFromId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} COMMISSIONED DePrimeACDefinitionsTo - [Documentation] DePrime automation composition definition migration To. - ${auth}= ClampAuth - ${postjson}= Get file ${CURDIR}/data/ACDepriming.json - ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId} ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 202 - Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} COMMISSIONED + [Documentation] DePrime automation composition definition migration To. + ${auth}= ClampAuth + ${postjson}= Get file ${CURDIR}/data/ACDepriming.json + ${resp}= MakeJsonPutRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${compositionToId} ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} COMMISSIONED DeleteACDefinition - [Documentation] Delete automation composition definition. - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Delete automation composition definition. + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 DeleteACDefinitionFrom - [Documentation] Delete automation composition definition migration From. - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionFromId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Delete automation composition definition migration From. + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionFromId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 DeleteACDefinitionTo - [Documentation] Delete automation composition definition migration To. - ${auth}= ClampAuth - Log Creating session http://${POLICY_RUNTIME_ACM_IP} - ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId} headers=${headers} - Log Received response from runtime acm ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Delete automation composition definition migration To. + ${auth}= ClampAuth + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionToId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 *** Keywords *** VerifyHealthcheckApi - [Documentation] Verify Healthcheck on policy-api - ${auth}= PolicyAdminAuth - ${resp}= MakeGetRequest policy ${POLICY_API_IP} /policy/api/v1/health ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Verify Healthcheck on policy-api + ${auth}= PolicyAdminAuth + ${resp}= MakeGetRequest policy ${POLICY_API_IP} /policy/api/v1/health ${auth} + Should Be Equal As Strings ${resp.status_code} 200 VerifyHealthcheckPap - [Documentation] Verify Healthcheck on policy-pap - ${auth}= PolicyAdminAuth - ${resp}= MakeGetRequest policy ${POLICY_PAP_IP} /policy/pap/v1/health ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Verify Healthcheck on policy-pap + ${auth}= PolicyAdminAuth + ${resp}= MakeGetRequest policy ${POLICY_PAP_IP} /policy/pap/v1/health ${auth} + Should Be Equal As Strings ${resp.status_code} 200 VerifyPriming [Arguments] ${theCompositionId} ${primestate} @@ -441,110 +441,110 @@ VerifyFailedPriming Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['stateChangeResult']} FAILED VerifyDeployStatus - [Arguments] ${theCompositionId} ${theInstanceId} ${deploystate} - [Documentation] Verify the Deploy status of automation composition. - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR - Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['deployState']} ${deploystate} + [Arguments] ${theCompositionId} ${theInstanceId} ${deploystate} + [Documentation] Verify the Deploy status of automation composition. + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR + Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['deployState']} ${deploystate} VerifySubStatus - [Arguments] ${theCompositionId} ${theInstanceId} - [Documentation] Verify the Sub status of automation composition. - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR - Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['subState']} NONE + [Arguments] ${theCompositionId} ${theInstanceId} + [Documentation] Verify the Sub status of automation composition. + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR + Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['subState']} NONE VerifyStateChangeResult - [Arguments] ${theCompositionId} ${theInstanceId} ${stateChangeResult} - [Documentation] Verify the Deploy status of automation composition. - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['stateChangeResult']} ${stateChangeResult} + [Arguments] ${theCompositionId} ${theInstanceId} ${stateChangeResult} + [Documentation] Verify the Deploy status of automation composition. + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['stateChangeResult']} ${stateChangeResult} VerifyPropertiesUpdated - [Arguments] ${theCompositionId} ${theInstanceId} ${textToFind} - [Documentation] Verify the Deploy status of automation composition. - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - ${respstring} Convert To String ${resp.json()} - Run Keyword If ${resp.status_code}==200 Should Match Regexp ${respstring} ${textToFind} + [Arguments] ${theCompositionId} ${theInstanceId} ${textToFind} + [Documentation] Verify the Deploy status of automation composition. + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + ${respstring} Convert To String ${resp.json()} + Run Keyword If ${resp.status_code}==200 Should Match Regexp ${respstring} ${textToFind} VerifyMigratedElementsRuntime - [Arguments] ${theCompositionId} ${theInstanceId} - [Documentation] Verify the Instance elements after Migration - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - ${respstring} Convert To String ${resp.json()} - Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement - Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement - ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c34']['outProperties']['stage']} - Should Be Equal As Strings ${respstring} [1, 2] - ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c35']['outProperties']['stage']} - Should Be Equal As Strings ${respstring} [0, 1] - ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c37']['outProperties']['stage']} - Should Be Equal As Strings ${respstring} [0, 2] + [Arguments] ${theCompositionId} ${theInstanceId} + [Documentation] Verify the Instance elements after Migration + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + ${respstring} Convert To String ${resp.json()} + Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement + Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement + ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c34']['outProperties']['stage']} + Should Be Equal As Strings ${respstring} [1, 2] + ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c35']['outProperties']['stage']} + Should Be Equal As Strings ${respstring} [0, 1] + ${respstring} Convert To String ${resp.json()['elements']['709c62b3-8918-41b9-a747-d21eb79c6c37']['outProperties']['stage']} + Should Be Equal As Strings ${respstring} [0, 2] VerifyMigratedElementsSim - [Arguments] ${theInstanceId} - [Documentation] Query on Participant Simulator - ${auth}= ParticipantAuth - ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - ${respstring} Convert To String ${resp.json()} - Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement - Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement + [Arguments] ${theInstanceId} + [Documentation] Query on Participant Simulator + ${auth}= ParticipantAuth + ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + ${respstring} Convert To String ${resp.json()} + Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement + Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement VerifyParticipantSim - [Arguments] ${theInstanceId} ${textToFind} - [Documentation] Query on Participant Simulator - ${auth}= ParticipantAuth - ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/instances/${theInstanceId} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - ${respstring} Convert To String ${resp.json()} - Should Match Regexp ${respstring} ${textToFind} + [Arguments] ${theInstanceId} ${textToFind} + [Documentation] Query on Participant Simulator + ${auth}= ParticipantAuth + ${resp}= MakeGetRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/instances/${theInstanceId} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + ${respstring} Convert To String ${resp.json()} + Should Match Regexp ${respstring} ${textToFind} VerifyUninstantiated - [Arguments] ${theCompositionId} - [Documentation] Verify the Uninstantiation of automation composition. - ${auth}= ClampAuth - ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances ${auth} - Should Be Equal As Strings ${resp.status_code} 200 - Run Keyword If ${resp.status_code}==200 Length Should Be ${resp.json()['automationCompositionList']} 0 + [Arguments] ${theCompositionId} + [Documentation] Verify the Uninstantiation of automation composition. + ${auth}= ClampAuth + ${resp}= MakeGetRequest ACM ${POLICY_RUNTIME_ACM_IP} /onap/policy/clamp/acm/v2/compositions/${theCompositionId}/instances ${auth} + Should Be Equal As Strings ${resp.status_code} 200 + Run Keyword If ${resp.status_code}==200 Length Should Be ${resp.json()['automationCompositionList']} 0 SetParticipantSimFail - [Documentation] Set Participant Simulator Fail. - ${auth}= ParticipantAuth - ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesFail.json - ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Set Participant Simulator Fail. + ${auth}= ParticipantAuth + ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesFail.json + ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 SetParticipantSimSuccess - [Documentation] Set Participant Simulator Success. - ${auth}= ParticipantAuth - ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesSuccess.json - ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Set Participant Simulator Success. + ${auth}= ParticipantAuth + ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesSuccess.json + ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 SetParticipantSimTimeout - [Documentation] Set Participant Simulator Timeout. - ${auth}= ParticipantAuth - ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesTimeout.json - ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Set Participant Simulator Timeout. + ${auth}= ParticipantAuth + ${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesTimeout.json + ${resp}= MakeJsonPutRequest participant ${POLICY_PARTICIPANT_SIM_IP} /onap/policy/simparticipant/v2/parameters ${postjson} ${auth} + Should Be Equal As Strings ${resp.status_code} 200 ClampAuth ${auth}= Create List runtimeUser zb!XztG34 RETURN ${auth} ParticipantAuth - ${auth}= Create List participantUser zb!XztG34 + ${auth}= Create List participantUser zb!XztG34 RETURN ${auth} MakeYamlPostRequest @@ -560,7 +560,7 @@ MakeJsonPostRequest [Arguments] ${name} ${domain} ${url} ${postjson} ${auth} Log Creating session http://${domain} ${session}= Create Session ${name} http://${domain} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json ${resp}= POST On Session ${name} ${url} data=${postjson} headers=${headers} Log Received response from ${name} ${resp.text} RETURN ${resp} @@ -569,19 +569,19 @@ MakeJsonPutRequest [Arguments] ${name} ${domain} ${url} ${postjson} ${auth} Log Creating session http://${domain} ${session}= Create Session ${name} http://${domain} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json ${resp}= PUT On Session ${name} ${url} data=${postjson} headers=${headers} Log Received response from ${name} ${resp.text} RETURN ${resp} MakeGetRequest [Arguments] ${name} ${domain} ${url} ${auth} - Log Creating session http://${domain} - ${session}= Create Session ${name} http://${domain} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= GET On Session ${name} ${url} headers=${headers} - Log Received response from ${name} {resp.text} - RETURN ${resp} + Log Creating session http://${domain} + ${session}= Create Session ${name} http://${domain} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session ${name} ${url} headers=${headers} + Log Received response from ${name} {resp.text} + RETURN ${resp} VerifyKafkaInTraces [Arguments] ${domain} ${service} diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh index 8183cdee..e355d5ff 100755 --- a/csit/run-project-csit.sh +++ b/csit/run-project-csit.sh @@ -18,6 +18,23 @@ # limitations under the License. # +# even with forced finish, clean up docker containers +function on_exit(){ + rm -rf ${CSAR_DIR}/csar_temp.csar + + # teardown of compose containers for acm-replicas doesn't work with normal stop-compose script + if [ "${ACM_REPLICA_TEARDOWN}" = true ]; then + source ${DOCKER_COMPOSE_DIR}/start-acm-replica.sh --stop --replicas=2 + elif [ "${APEX_REPLICA_TEARDOWN}" = true ]; then + source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --stop --replicas=2 + else + source ${DOCKER_COMPOSE_DIR}/stop-compose.sh ${PROJECT} + fi + + mv ${DOCKER_COMPOSE_DIR}/*.log ${ROBOT_LOG_DIR} + exit $RC +} + function docker_stats(){ # General memory details if [ "$(uname -s)" == "Darwin" ] @@ -40,11 +57,41 @@ function docker_stats(){ echo } +function apex_healthcheck() { + sleep 20 + + healthy=false + + while [ $healthy = false ] + do + msg=`curl -s -k --user 'policyadmin:zb!XztG34' http://localhost:${APEX_PORT}/policy/apex-pdp/v1/healthcheck` + echo "${msg}" | grep -q true + if [ "${?}" -eq 0 ] + then + healthy=true + break + fi + sleep 10s + done + + if [ $healthy = false ]; then + exit 2 + fi +} + +function check_rest_endpoint() { + bash ${SCRIPTS}/wait_for_rest.sh localhost "${1}" + rc=$? + if [ $rc -ne 0 ]; then + on_exit + fi +} + function setup_clamp() { export ROBOT_FILES="policy-clamp-test.robot clamp-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh policy-clamp-runtime-acm --grafana sleep 30 - bash ${SCRIPTS}/wait_for_rest.sh localhost "${ACM_PORT}" + check_rest_endpoint "${ACM_PORT}" } function setup_clamp_replica() { @@ -56,31 +103,32 @@ function setup_clamp_replica() { echo "Waiting a minute for the replicas to be started..." sleep 60 # checking on apex-pdp status because acm-r replicas only start after apex-pdp is running - bash ${SCRIPTS}/wait_for_rest.sh localhost ${APEX_PORT} + check_rest_endpoint ${PAP_PORT} + check_rest_endpoint ${APEX_PORT} apex_healthcheck - bash ${SCRIPTS}/wait_for_rest.sh localhost ${ACM_PORT} + check_rest_endpoint ${ACM_PORT} } function setup_api() { export ROBOT_FILES="api-test.robot api-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh api --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${API_PORT} + check_rest_endpoint ${API_PORT} } function setup_pap() { export ROBOT_FILES="pap-test.robot pap-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh apex-pdp --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${PAP_PORT} + check_rest_endpoint ${PAP_PORT} } function setup_apex() { export ROBOT_FILES="apex-pdp-test.robot apex-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh apex-pdp --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${PAP_PORT} - bash ${SCRIPTS}/wait_for_rest.sh localhost ${APEX_PORT} + check_rest_endpoint ${PAP_PORT} + check_rest_endpoint ${APEX_PORT} apex_healthcheck } @@ -89,8 +137,8 @@ function setup_apex_medium() { export APEX_REPLICA_TEARDOWN=true source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --start --replicas=3 sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${PAP_PORT} - bash ${SCRIPTS}/wait_for_rest.sh localhost ${APEX_PORT} + check_rest_endpoint ${PAP_PORT} + check_rest_endpoint ${APEX_PORT} apex_healthcheck } @@ -99,52 +147,34 @@ function setup_apex_large() { export APEX_REPLICA_TEARDOWN=true source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --start --replicas=10 sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${PAP_PORT} - bash ${SCRIPTS}/wait_for_rest.sh localhost ${APEX_PORT} + check_rest_endpoint ${PAP_PORT} + check_rest_endpoint ${APEX_PORT} apex_healthcheck } -function apex_healthcheck() { - sleep 20 - - healthy=false - - while [ $healthy = false ] - do - msg=`curl -s -k --user 'policyadmin:zb!XztG34' http://localhost:${APEX_PORT}/policy/apex-pdp/v1/healthcheck` - echo "${msg}" | grep -q true - if [ "${?}" -eq 0 ] - then - healthy=true - break - fi - sleep 10s - done -} - function setup_drools_apps() { export ROBOT_FILES="drools-applications-test.robot drools-applications-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-applications --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${PAP_PORT} + check_rest_endpoint ${PAP_PORT} sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${DROOLS_APPS_PORT} + check_rest_endpoint ${DROOLS_APPS_PORT} sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${DROOLS_APPS_TELEMETRY_PORT} + check_rest_endpoint ${DROOLS_APPS_TELEMETRY_PORT} } function setup_xacml_pdp() { export ROBOT_FILES="xacml-pdp-test.robot xacml-pdp-slas.robot" source ${DOCKER_COMPOSE_DIR}/start-compose.sh xacml-pdp --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost "${XACML_PORT}" + check_rest_endpoint "${XACML_PORT}" } function setup_drools_pdp() { export ROBOT_FILES="drools-pdp-test.robot" - source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-pdp + source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-pdp --grafana sleep 30 - bash ${SCRIPTS}/wait_for_rest.sh localhost ${DROOLS_TELEMETRY_PORT} + check_rest_endpoint ${DROOLS_TELEMETRY_PORT} } function setup_distribution() { @@ -155,9 +185,9 @@ function setup_distribution() { sudo mkdir /tmp/distribution export ROBOT_FILES="distribution-test.robot" - source ${DOCKER_COMPOSE_DIR}/start-compose.sh distribution + source ${DOCKER_COMPOSE_DIR}/start-compose.sh distribution --grafana sleep 10 - bash ${SCRIPTS}/wait_for_rest.sh localhost "${DIST_PORT}" + check_rest_endpoint "${DIST_PORT}" } function build_robot_image() { @@ -229,23 +259,6 @@ function set_project_config() { esac } -# even with forced finish, clean up docker containers -function on_exit(){ - rm -rf ${CSAR_DIR}/csar_temp.csar - - # teardown of compose containers for acm-replicas doesn't work with normal stop-compose script - if [ "${ACM_REPLICA_TEARDOWN}" = true ]; then - source ${DOCKER_COMPOSE_DIR}/start-acm-replica.sh --stop --replicas=2 - elif [ "${APEX_REPLICA_TEARDOWN}" = true ]; then - source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --stop --replicas=2 - else - source ${DOCKER_COMPOSE_DIR}/stop-compose.sh ${PROJECT} - fi - - mv ${DOCKER_COMPOSE_DIR}/*.log ${ROBOT_LOG_DIR} - exit $RC -} - # ensure that teardown and other finalizing steps are always executed trap on_exit EXIT |