echo "---------------------------------------------"
echo "Installing Robot framework pod for running CSIT"
microk8s helm install csit-robot robot --set robot=$ROBOT_FILE --set "readiness={${READINESS_CONTAINERS[*]}}";
- echo "Please check the logs of policy-csit-robot pod for the test execution results"
+ print_robot_log
fi
}
+function print_robot_log () {
+ robotpod=$(microk8s kubectl get po | grep policy-csit)
+ podName=$(echo $robotpod | awk '{print $1}')
+ echo "The robot tests will begin once the policy components {${READINESS_CONTAINERS[*]}} are up and running..."
+ microk8s kubectl wait --for=condition=ready --timeout=180s pod/$podName
+ microk8s kubectl logs -f $podName
+ echo "Please check the logs of policy-csit-robot pod for the test execution results"
+}
+
function clone_models () {
GIT_TOP=$(git rev-parse --show-toplevel)
GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' \
--- /dev/null
+{
+ "groups": [
+ {
+ "name": "defaultGroup",
+ "version": "1.0.0",
+ "description": "The default group that registers all supported policy types and pdps.",
+ "pdpGroupState": "ACTIVE",
+ "pdpSubgroups": [
+ {
+ "pdpType": "apex",
+ "supportedPolicyTypes": [
+ {
+ "name": "onap.policies.controlloop.operational.common.Apex",
+ "version": "1.0.0"
+ },
+ {
+ "name": "onap.policies.native.Apex",
+ "version": "1.0.0"
+ }
+ ],
+ "currentInstanceCount": 0,
+ "desiredInstanceCount": 1,
+ "policies": []
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "vnf-id": "37b008b9-b367-4359-93fd-74d3ce0ee1a0",
+ "vnf-name": "vfw-cnf-cds-test-1-vnf",
+ "vnf-type": "vfw_cnf_cds/null",
+ "service-id": "37b008b9-b367-4359-93fd-74d3ce0ee1a0",
+ "prov-status": "ACTIVE",
+ "orchestration-status": "Assigned",
+ "in-maint": false,
+ "is-closed-loop-disabled": false,
+ "resource-version": "1607506390862",
+ "model-invariant-id": "vTEST_XYZ",
+ "model-version-id": "vTEST",
+ "model-customization-id": "37b008b9-b367-4359-93fd-74d3ce0ee1a0",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "service-instance",
+ "relationship-label": "org.onap.relationships.inventory.ComposedOf",
+ "related-link": "/aai/v14/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT/service-instances/service-instance/55322ada-145a-492e-b196-0d171539a4b2",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "vFWDT"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "55322ada-145a-492e-b196-0d171539a4b2"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "service-instance.service-instance-name",
+ "property-value": "Service_Ete_Namea337dd5b-4620-4ea6-bc3f-6edf1124d659"
+ }
+ ]
+ }
+ ]
+ }
+}
+
--- /dev/null
+{
+ "correlationUUID": null,
+ "commonHeader": {
+ "timestamp": "2020-12-16T10:29:00.450Z",
+ "originatorId": "POLICY",
+ "requestId": "f392e439-c176-411b-b972-8acadac0f8df",
+ "subRequestId": "8c7935a4-79d8-4ec0-b661-dcca3cd68006",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "apex-example-cba",
+ "blueprintVersion": "1.0.0",
+ "actionName": "modify-config",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-12-16T10:29:01.737Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "modify-config-response": {
+ "execute-command-logs": [
+ "INFO:root:Arguments : Active,,"
+ ],
+ "prepare-environment-logs": [
+ "Installed pip packages:\n requirements.txt\n\n"
+ ]
+ }
+ }
+}
--- /dev/null
+{
+ "correlationUUID": null,
+ "commonHeader": {
+ "timestamp": "2020-12-16T10:30:46.213Z",
+ "originatorId": "POLICY",
+ "requestId": "f392e439-c176-411b-b972-8acadac0f8df",
+ "subRequestId": "8c7935a4-79d8-4ec0-b661-dcca3cd68006",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "apex-example-cba",
+ "blueprintVersion": "1.0.0",
+ "actionName": "restart",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-12-16T10:30:46.828Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "restart-response": {
+ "execute-command-logs": [
+ "INFO:root:Arguments : Active,,"
+ ],
+ "prepare-environment-logs": [
+ "Installed pip packages:\n requirements.txt\n\n"
+ ]
+ }
+ }
+}
--- /dev/null
+{
+ "commonHeader": {
+ "timestamp": "2020-08-24T14:45:07.491Z",
+ "originatorId": "CDS",
+ "requestId": "123456",
+ "subRequestId": "123-123",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "controlloop-hostname-update",
+ "blueprintVersion": "1.0.4",
+ "actionName": "update-config",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-08-24T14:45:12.863Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "update-config-response": {
+ "execute-command-logs": [
+ "INFO:root:<data xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\"/>",
+ "INFO:root:configuring Device....",
+ "INFO:root:Done Device Configuration Successfully",
+ "INFO:root:Device Configuration After modification",
+ "INFO:root:http://10.101.200.10:32777/restconf/config/network-topology:network-topology/topology/topology-netconf/node/927b2580-36d9-4f13-8421-3c9d43b7a57e/yang-ext:mount",
+ "INFO:root:<data xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\"><system xmlns=\"urn:opendaylight:hostname\"><hostname>testhost-1212332324343</hostname></system></data>"
+ ],
+ "prepare-environment-logs": ["Installed pip packages:\n requirements.txt\n\n"]
+ }
+ }
+}
data:
{{ tpl (.Files.Glob "resources/config/*.{json,xml}").AsConfig . | indent 2 }}
{{ tpl (.Files.Glob "resources/cds/*.{json,xml}").AsConfig . | indent 2 }}
+
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "policy-models-simulator.fullname" . }}-cds-configmap
+ labels:
+ app: {{ include "policy-models-simulator.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/cdsresponse/*.{json,xml}").AsConfig . | indent 2 }}
+
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "policy-models-simulator.fullname" . }}-aai-configmap
+ labels:
+ app: {{ include "policy-models-simulator.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/aairesponse/*.{json,xml}").AsConfig . | indent 2 }}
\ No newline at end of file
- mountPath: /opt/app/policy/simulators/etc/mounted/
name: simconfig
readOnly: true
+ - mountPath: /opt/app/policy/simulators/etc/mounted/cdsresponse/
+ name: cdsconfig
+ readOnly: true
+ - mountPath: /opt/app/policy/simulators/etc/mounted/aairesponse
+ name: aaiconfig
+ readOnly: true
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
configMap:
name: {{ include "policy-models-simulator.fullname" . }}-configmap
defaultMode: 0755
+ - name: cdsconfig
+ configMap:
+ name: {{ include "policy-models-simulator.fullname" . }}-cds-configmap
+ defaultMode: 0755
+ - name: aaiconfig
+ configMap:
+ name: {{ include "policy-models-simulator.fullname" . }}-aai-configmap
+ defaultMode: 0755
type: ClusterIP
name: message-router
portName: message-router
- externalPort2: 6667
- internalPort2: 6667
+ externalPort2: 6666
+ internalPort2: 6666
externalPort3: 6668
internalPort3: 6668
externalPort4: 6669
internalPort4: 6669
externalPort5: 6670
- internalPort5: 6670
+ internalPort5: 6670
externalPort6: 6680
internalPort6: 6680
externalPort7: 3904
export POLICY_PAP_IP=policy-pap
export APEX_IP=policy-apex-pdp
export DMAAP_IP=message-router
-
+export SIM_IP=message-router
export ROBOT_VARIABLES=
ROBOT_VARIABLES="-v DATA:$DATA -v NODETEMPLATES:$NODETEMPLATES -v POLICY_RUNTIME_ACM_IP:$POLICY_RUNTIME_ACM_IP -v POLICY_API_IP:$POLICY_API_IP
--v POLICY_PAP_IP:$POLICY_PAP_IP -v APEX_IP:$APEX_IP -v DMAAP_IP:$DMAAP_IP"
+-v POLICY_PAP_IP:$POLICY_PAP_IP -v APEX_IP:$APEX_IP -v DMAAP_IP:$DMAAP_IP -v SIM_IP:$SIM_IP"
echo "Run Robot test"
echo ROBOT_VARIABLES="${ROBOT_VARIABLES}"
[Documentation] Verify policy-api is exporting prometheus metrics
${auth}= PolicyAdminAuth
${resp}= GetMetrics ${POLICY_API_IP} ${auth} /policy/api/v1/
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/healthcheck",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/statistics",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/policies",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/policies/{policyId}/versions/{policyVersion}",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="POST",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="POST",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policy/api/v1/policies/{policyId}/versions/{policyVersion}",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes/{policyTypeId}/versions/{versionId}",} 3.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/healthcheck",}
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/statistics",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policytypes",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policies",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policies/{policyId}/versions/{policyVersion}",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="POST",outcome="SUCCESS",status="200",uri="/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="POST",outcome="SUCCESS",status="200",uri="/policytypes",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policies/{policyId}/versions/{policyVersion}",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policytypes/{policyTypeId}/versions/{versionId}",} 3.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="DELETE",outcome="SUCCESS",status="200",uri="/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}",} 1.0
Should Contain ${resp.text} http_server_requests_seconds_sum
Should Contain ${resp.text} http_server_requests_seconds_max
Should Contain ${resp.text} spring_data_repository_invocations_seconds_count
"carrierTechnology": "RESTREQUESTOR",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters",
"parameters": {
- "url": "http://aai-sim:6666/aai/v16/network/pnfs/pnf/{pnfName}",
+ "url": "http://message-router:6666/aai/v16/network/pnfs/pnf/{pnfName}",
"httpMethod": "GET",
"httpCodeFilter": "[2-5][0-1][0-9]",
"httpHeaders": [
"carrierTechnology": "GRPC",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
"parameters": {
- "host": "grpc-sim",
+ "host": "message-router",
"port": 6680,
"username": "ccsdkapps",
"password": "ccsdkapps",
"carrierTechnology": "RESTREQUESTOR",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters",
"parameters": {
- "url": "http://aai-sim:6666/aai/v16/network/pnfs/pnf/{pnfName}",
+ "url": "http://message-router:6666/aai/v16/network/pnfs/pnf/{pnfName}",
"httpMethod": "GET",
"httpCodeFilter": "[2-5][0-1][0-9]",
"httpHeaders": [
"carrierTechnology": "GRPC",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
"parameters": {
- "host": "grpc-sim",
+ "host": "message-router",
"port": 6680,
"username": "ccsdkapps",
"password": "ccsdkapps",
"carrierTechnology": "RESTREQUESTOR",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters",
"parameters": {
- "url": "http://aai-sim:6666/aai/v16/network/generic-vnfs/generic-vnf?vnf-name={vnf-name}",
+ "url": "http://message-router:6666/aai/v16/network/generic-vnfs/generic-vnf?vnf-name={vnf-name}",
"httpMethod": "GET",
"httpCodeFilter": "[245][0-9][0-9]",
"httpHeaders": [
"carrierTechnology": "GRPC",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
"parameters": {
- "host": "grpc-sim",
+ "host": "message-router",
"port": 6680,
"username": "ccsdkapps",
"password": "ccsdkapps",
"carrierTechnology": "GRPC",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
"parameters": {
- "host": "grpc-sim",
+ "host": "message-router",
"port": 6680,
"username": "ccsdkapps",
"password": "ccsdkapps",
"parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RestServerCarrierTechnologyParameters",
"parameters": {
"standalone": true,
- "host": "0.0.0.0",
- "port": 23324
+ "host": "policy-apex-pdp",
+ "port": 6969
}
},
"eventProtocolParameters": {
[Documentation] Verify policy pap is exporting prometheus metrics
${auth}= PolicyAdminAuth
${resp}= GetMetrics ${POLICY_PAP_IP} ${auth} /policy/pap/v1/
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/pap/v1/healthcheck",} 1.0
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/pap/v1/components/healthcheck",} 1.0
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/healthcheck",}
+ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/components/healthcheck",} 1.0
Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="save",repository="PdpGroupRepository",state="SUCCESS",} 1.0
Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="findByKeyName",repository="PdpGroupRepository",state="SUCCESS",} 1.0
- Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="findAll",repository="PolicyStatusRepository",state="SUCCESS",} 1.0
+ Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="findAll",repository="PolicyStatusRepository",state="SUCCESS",}
Statistics
[Documentation] Verify policy pap statistics