Restructure of CSIT scripts 88/137888/2
authoradheli.tavares <adheli.tavares@est.tech>
Wed, 1 May 2024 13:08:35 +0000 (14:08 +0100)
committeradheli.tavares <adheli.tavares@est.tech>
Tue, 14 May 2024 10:33:11 +0000 (11:33 +0100)
- CSIT robot test suits are now compiled into a docker image
- dependencies are now installed as part of Dockerfile build

Issue-ID: POLICY-4987
Change-Id: I5ae4e9f58471a6038c25548d9392ece78b20e67a
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
32 files changed:
compose/config/drools-applications/custom/feature-lifecycle.properties
compose/config/drools-applications/env/base.conf
compose/config/drools-applications/env/feature-pooling-messages.conf
compose/config/drools-pdp/env/base.conf
compose/docker-compose.gui.yml
compose/docker-compose.pdp.scale.yml
compose/docker-compose.postgres.yml
compose/docker-compose.yml
compose/start-compose.sh
compose/stop-compose.sh
csit/resources/Dockerfile
csit/resources/scripts/build-csit-docker-image.sh [new file with mode: 0755]
csit/resources/scripts/prepare-robot-env.sh [deleted file]
csit/resources/scripts/pylibs.txt [deleted file]
csit/resources/scripts/run-test.sh
csit/resources/scripts/setup-apex-pdp-large.sh [deleted file]
csit/resources/scripts/setup-apex-pdp-medium.sh [deleted file]
csit/resources/scripts/setup-apex-pdp-postgres.sh [deleted file]
csit/resources/scripts/setup-apex-pdp.sh [deleted file]
csit/resources/scripts/setup-api.sh [deleted file]
csit/resources/scripts/setup-clamp.sh [deleted file]
csit/resources/scripts/setup-distribution.sh [deleted file]
csit/resources/scripts/setup-drools-applications.sh [deleted file]
csit/resources/scripts/setup-drools-pdp.sh [deleted file]
csit/resources/scripts/setup-pap.sh [deleted file]
csit/resources/scripts/setup-xacml-pdp.sh [deleted file]
csit/resources/tests/distribution-test.robot
csit/resources/tests/drools-applications-test.robot
csit/resources/tests/pap-test.robot
csit/run-project-csit.sh
helm/policy/components/policy-drools-pdp/resources/configmaps/feature-pooling-messages.conf [moved from helm/policy/components/policy-drools-pdp/resources/configmaps/feature-pooling-kafka.conf with 100% similarity]
helm/robot/templates/test-job.yaml

index 053cd06..a68fb5c 100644 (file)
@@ -23,17 +23,18 @@ lifecycle.pdp.type=${envd:POLICY_PDP_PAP_TYPE:drools}
 # Mandatory policy types that this PDP-D must support at a minimum
 lifecycle.pdp.policytypes=${envd:POLICY_PDP_PAP_POLICYTYPES}
 
-kafka.source.topics=policy-pdp-pap
-kafka.sink.topics=policy-pdp-pap
-kafka.source.topics.fetchTimeout=15000
+kafka.source.topics=${envd:POLICY_PDP_PAP_TOPIC}
+kafka.sink.topics=${envd:POLICY_PDP_PAP_TOPIC}
 kafka.source.topics.policy-pdp-pap.fetchTimeout=15000
 
-kafka.source.topics.policy-pdp-pap.servers=kafka:9092
+kafka.source.topics.policy-pdp-pap.servers=${envd:KAFKA_SERVERS}
 kafka.source.topics.policy-pdp-pap.effectiveTopic=${envd:POLICY_PDP_PAP_TOPIC}
 kafka.source.topics.policy-pdp-pap.apiKey=${envd:POLICY_PDP_PAP_API_KEY}
 kafka.source.topics.policy-pdp-pap.apiSecret=${envd:POLICY_PDP_PAP_API_SECRET}
+kafka.source.topics.policy-pdp-pap.https=${envd:KAFKA_HTTPS:false}
 
-kafka.sink.topics.policy-pdp-pap.servers=kafka:9092
+kafka.sink.topics.policy-pdp-pap.servers=${envd:KAFKA_SERVERS}
 kafka.sink.topics.policy-pdp-pap.effectiveTopic=${envd:POLICY_PDP_PAP_TOPIC}
 kafka.sink.topics.policy-pdp-pap.apiKey=${envd:POLICY_PDP_PAP_API_KEY}
 kafka.sink.topics.policy-pdp-pap.apiSecret=${envd:POLICY_PDP_PAP_API_SECRET}
+kafka.sink.topics.policy-pdp-pap.https=${envd:KAFKA_HTTPS:false}
index 7f213ea..0f67723 100644 (file)
@@ -60,6 +60,11 @@ MYSQL_CMD=
 HTTP_SERVER_HTTPS=false
 PROMETHEUS=true
 
+# kafka server
+
+KAFKA_SERVERS=kafka:9092
+KAFKA_HTTPS=false
+
 # LIVENESS Checks
 
 LIVENESS_CONTROLLERS=*
@@ -67,6 +72,7 @@ LIVENESS_CONTROLLERS=*
 # PDP-D Kafka configuration channel
 
 PDPD_CONFIGURATION_TOPIC=pdpd-configuration
+PDPD_CONFIGURATION_SERVERS=kafka:9092
 PDPD_CONFIGURATION_API_KEY=
 PDPD_CONFIGURATION_API_SECRET=
 PDPD_CONFIGURATION_CONSUMER_GROUP=
@@ -78,6 +84,7 @@ PDPD_CONFIGURATION_PARTITION_KEY=
 POLICY_PDP_PAP_TOPIC=policy-pdp-pap
 POLICY_PDP_PAP_API_KEY=
 POLICY_PDP_PAP_API_SECRET=
+POLICY_PDP_PAP_POLICYTYPES=onap.policies.controlloop.operational.common.Drools
 
 # PAP
 
@@ -101,7 +108,6 @@ DCAE_TOPIC=unauthenticated.dcae_cl_output
 DCAE_SERVERS=kafka:9092
 DCAE_CONSUMER_GROUP=dcae.policy.shared
 
-
 # AAI
 
 AAI_HOST=aai-sim
index f90a9f0..967ae7b 100644 (file)
@@ -15,4 +15,4 @@
 # limitations under the License.
 # ============LICENSE_END=========================================================
 
-POOLING_TOPIC=pooling
+POOLING_TOPIC=policy-pdp-pooling
index a0b2a92..0e0156b 100644 (file)
@@ -102,6 +102,7 @@ DCAE_CONSUMER_GROUP=dcae.policy.shared
 # kafka server
 
 KAFKA_SERVERS=kafka:9092
+KAFKA_HTTPS=false
 
 # AAI
 
index 326ce21..e2e98b5 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ===========LICENSE_START====================================================
-#  Copyright 2023 Nordix Foundation.
+#  Copyright 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.
 # limitations under the License.
 # ============LICENSE_END=====================================================
 #
-version: '2'
+
 services:
-   policy-gui:
-     image: ${CONTAINER_LOCATION}onap/policy-gui:latest
-     container_name: policy-gui
-     depends_on:
+  policy-gui:
+    image: ${CONTAINER_LOCATION}onap/policy-gui:latest
+    container_name: policy-gui
+    depends_on:
       - policy-clamp-backend
-     hostname: policy-gui
-     environment:
-       CLAMP_URL: http://policy-clamp-backend:8445
-       CLAMP_DISABLE_SSL_VALIDATION: "true"
-     ports:
+    hostname: policy-gui
+    environment:
+      CLAMP_URL: http://policy-clamp-backend:8445
+      CLAMP_DISABLE_SSL_VALIDATION: "true"
+    ports:
       - "2445:2445"
-     volumes:
+    volumes:
       - ./config/policy-gui/application.yaml:/opt/app/policy/gui/etc/application.yml
       - ./config/policy-gui/logback.xml:/opt/app/policy/gui/etc/logback.xml:ro
       - ./wait_for_port.sh:/opt/app/policy/gui/bin/wait_for_port.sh:ro
-     entrypoint: ./policy-gui.sh
-     working_dir: /opt/app/policy/gui/bin
-     command: ./policy-gui.sh
-   policy-clamp-backend:
-     image: ${CONTAINER_LOCATION}onap/policy-clamp-backend:latest
-     container_name: policy-clamp-backend
-     depends_on:
+    entrypoint: ./policy-gui.sh
+    working_dir: /opt/app/policy/gui/bin
+    command: ./policy-gui.sh
+  policy-clamp-backend:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-backend:latest
+    container_name: policy-clamp-backend
+    depends_on:
       - policy-clamp-runtime-acm
       - distribution
-     hostname: policy-clamp-backend
-     environment:
-        POLICY_API_HOST: api
-        POLICY_PAP_HOST: pap
-        MARIADB_HOST: mariadb
-        RUNTIME_HOST: policy-clamp-runtime-acm
-     ports:
+    hostname: policy-clamp-backend
+    environment:
+      POLICY_API_HOST: api
+      POLICY_PAP_HOST: pap
+      MARIADB_HOST: mariadb
+      RUNTIME_HOST: policy-clamp-runtime-acm
+    ports:
       - "8445:8445"
-     volumes:
+    volumes:
       - ./config/clamp/ClampBackend.properties:/opt/policy/clamp/config/ClampBackend.properties:ro
       - ./config/clamp/logback-backend.xml:/opt/policy/clamp/config/logback.xml:ro
-     working_dir: /opt/policy/clamp
-     command: java
+    working_dir: /opt/policy/clamp
+    command: java
       -Djava.security.egd=file:/dev/./urandom
       -XX:MinRAMPercentage=50
       -XX:MaxRAMPercentage=75
index 104de3c..a10264a 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ===========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.
@@ -16,7 +16,6 @@
 # ============LICENSE_END=====================================================
 #
 
-version: '2'
 services:
   apexpdp:
     image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
@@ -30,8 +29,8 @@ services:
       - 6969
       - 23324
     deploy:
-        mode: replicated
-        replicas: ${REPLICAS}
+      mode: replicated
+      replicas: ${REPLICAS}
     volumes:
       - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
       - ./config/apex-pdp/logback.xml:/opt/app/policy/apex-pdp/etc/logback.xml:ro
@@ -42,7 +41,7 @@ services:
       'mariadb', '3306',
       'kafka', '9092',
       'pap', '6969'
-      ]
+    ]
   nginx:
     image: ${CONTAINER_LOCATION}library/nginx:latest
     volumes:
@@ -50,8 +49,7 @@ services:
     depends_on:
       - apexpdp
     ports:
-       - ${APEX_PORT}:${APEX_PORT}
-
+      - ${APEX_PORT}:${APEX_PORT}
   zookeeper:
     image: confluentinc/cp-zookeeper:latest
     environment:
@@ -59,7 +57,6 @@ services:
       ZOOKEEPER_TICK_TIME: 2000
     ports:
       - 2181:2181
-
   kafka:
     image: confluentinc/cp-kafka:latest
     container_name: kafka
index 9c09b66..fee55d9 100644 (file)
@@ -15,7 +15,7 @@
 # limitations under the License.
 # ============LICENSE_END=====================================================
 #
-version: '2'
+
 services:
   postgres:
     image: nexus3.onap.org:10001/library/postgres:${POLICY_POSTGRES_VER}
index d5c6c3b..06a2449 100644 (file)
 # limitations under the License.
 # ============LICENSE_END=====================================================
 #
-version: '2'
-services:
-   mariadb:
-      image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
-      container_name: mariadb
-      hostname: mariadb
-      command: ['--lower-case-table-names=1', '--wait_timeout=28800', '--default-authentication-plugin=mysql_native_password']
-      env_file: ./config/db/db.conf
-      volumes:
-         - ./config/db:/docker-entrypoint-initdb.d:ro
-         - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
-      ports:
-       - "3306:3306"
-   policy-db-migrator:
-      image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
-      container_name: policy-db-migrator
-      hostname: policy-db-migrator
-      depends_on:
-       - mariadb
-      expose:
-       - 6824
-      env_file: ./config/db/db.conf
-      environment:
-        SQL_DB: policyadmin
-        SQL_HOST: mariadb
-      volumes:
-         - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
-         - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-              '-c',
-                '/opt/app/policy/bin/db_migrator_policy_init.sh',
-                'mariadb', '3306'
-               ]
-   policy-db-migrator-clamp:
-     image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
-     container_name: policy-db-migrator-clamp
-     hostname: policy-db-migrator-clamp
-     depends_on:
-       - mariadb
-     expose:
-       - 6824
-     env_file: ./config/db/db.conf
-     environment:
-       SQL_DB: clampacm
-       SQL_HOST: mariadb
-     volumes:
-       - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-     entrypoint: /opt/app/policy/bin/wait_for_port.sh
-     command: [
-       '-c',
-       '/opt/app/policy/bin/db_migrator_policy_init.sh',
-       'mariadb', '3306'
-     ]
-   simulator:
-      image: ${CONTAINER_LOCATION}onap/policy-models-simulator:${POLICY_MODELS_VERSION}
-      container_name: simulator
-      hostname: simulator
-      networks:
-          default:
-              aliases:
-                  - aai-sim
-                  - grpc-sim
-                  - sdnc-sim
-                  - so-sim
-                  - vfc-sim
-      volumes:
-       - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
-       - ./config/sim-all/logback.xml:/opt/app/policy/simulators/etc/mounted/logback.xml:ro
-      expose:
-       - 6666
-       - 6668
-       - 6669
-       - 6670
-       - 6680
-      ports:
-       - ${SIMULATOR_PORT}:6666
-   api:
-      image: ${CONTAINER_LOCATION}onap/policy-api:${POLICY_API_VERSION}
-      container_name: policy-api
-      depends_on:
-       - policy-db-migrator
-      hostname: policy-api
-      ports:
-       - ${API_PORT}:6969
-      volumes:
-       - ./config/api/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
-       - ./config/api/logback.xml:/opt/app/policy/api/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
-      entrypoint: ./wait_for_port.sh
-      command: [
-        '-c', './policy-api.sh',
-        'mariadb', '3306',
-        'policy-db-migrator', '6824'
-        ]
-   pap:
-      image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION}
-      container_name: policy-pap
-      depends_on:
-       - mariadb
-       - kafka
-       - api
-      hostname: policy-pap
-      ports:
-       - ${PAP_PORT}:6969
-      volumes:
-       - ./config/pap/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
-       - ./config/${PROJECT}/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
-       - ./config/pap/logback.xml:/opt/app/policy/pap/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
-      entrypoint: ./wait_for_port.sh
-      command: [
-        '-c', './policy-pap.sh',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'api', '6969'
-        ]
-   xacml-pdp:
-      image: ${CONTAINER_LOCATION}onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
-      container_name: policy-xacml-pdp
-      depends_on:
-       - mariadb
-       - kafka
-       - pap
-      hostname: policy-xacml-pdp
-      ports:
-       - ${XACML_PORT}:6969
-       - "30999:3904"
-      volumes:
-       - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
-       - ./config/xacml-pdp/logback.xml:/opt/app/policy/pdpx/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
-      entrypoint: ./wait_for_port.sh
-      command: [
-        '-c', './policy-pdpx.sh',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'pap', '6969'
-        ]
-   drools-pdp:
-      image: ${CONTAINER_LOCATION}onap/policy-drools:${POLICY_DROOLS_PDP_VERSION}
-      container_name: drools
-      depends_on:
-       - mariadb
-       - kafka
-       - pap
-      hostname: drools
-      ports:
-       - ${DROOLS_PORT}:6969
-       - ${DROOLS_TELEMETRY_PORT}:9696
-      volumes:
-       - ./config/drools-pdp/custom:/tmp/policy-install/config:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      env_file:
-        - ./config/drools-pdp/env/base.conf
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
-        'mariadb', '3306',
-        'kafka', '9092'
-        ]
-   drools-applications:
-      image: ${CONTAINER_LOCATION}onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION}
-      container_name: drools-apps
-      depends_on:
-       - mariadb
-       - simulator
-       - kafka
-       - pap
-       - xacml-pdp
-      hostname: drools-apps
-      ports:
-       - ${DROOLS_APPS_PORT}:6969
-       - ${DROOLS_APPS_TELEMETRY_PORT}:9696
-      volumes:
-       - ./config/drools-applications/custom:/tmp/policy-install/config:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      env_file:
-        - ./config/drools-applications/env/base.conf
-        - ./config/drools-applications/env/feature-healthcheck.conf
-        - ./config/drools-applications/env/feature-pooling-messages.conf
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'pap', '6969',
-        'aai-sim', '6666',
-        'sdnc-sim', '6668',
-        'so-sim', '6669',
-        'vfc-sim', '6670'
-        ]
-   apex-pdp:
-      image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
-      container_name: policy-apex-pdp
-      depends_on:
-       - mariadb
-       - simulator
-       - kafka
-       - pap
-      hostname: policy-apex-pdp
-      ports:
-       - ${APEX_PORT}:6969
-       - ${APEX_EVENTS_PORT}:23324
-      volumes:
-       - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
-       - ./config/apex-pdp/logback.xml:/opt/app/policy/apex-pdp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'pap', '6969'
-        ]
-   distribution:
-      image: ${CONTAINER_LOCATION}onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION}
-      container_name: policy-distribution
-      depends_on:
-       - mariadb
-       - api
-       - pap
-       - apex-pdp
-      hostname: policy-distribution
-      ports:
-       - ${DIST_PORT}:6969
-      volumes:
-       - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
-       - /tmp/distribution/:/opt/app/policy/distribution/etc/temp/:ro
-       - ./config/distribution/logback.xml:/opt/app/policy/distribution/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './policy-dist.sh',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'pap', '6969',
-        'apex-pdp', '6969'
-        ]
-   policy-clamp-runtime-acm:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
-      container_name: policy-clamp-runtime-acm
-      depends_on:
-       - policy-db-migrator-clamp
-       - kafka
-       - policy-clamp-ac-http-ppnt
-       - policy-clamp-ac-k8s-ppnt
-       - policy-clamp-ac-pf-ppnt
-       - policy-clamp-ac-sim-ppnt
-       - apex-pdp
-      hostname: policy-clamp-runtime-acm
-      ports:
-       - ${ACM_PORT}:6969
-      volumes:
-       - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './acm-runtime.sh',
-        'mariadb', '3306',
-        'kafka', '9092',
-        'policy-clamp-ac-http-ppnt', '6969',
-        'policy-clamp-ac-k8s-ppnt', '6969',
-        'policy-clamp-ac-pf-ppnt', '6969',
-        'apex-pdp', '6969'
-        ]
-
-   policy-clamp-ac-http-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION}
-      container_name: policy-clamp-ac-http-ppnt
-      depends_on:
-       - kafka
-      hostname: policy-clamp-ac-http-ppnt
-      ports:
-       - "30290:6969"
-      volumes:
-       - ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './http-participant.sh',
-        'kafka', '9092'
-        ]
-   policy-clamp-ac-k8s-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_PPNT_VERSION}
-      container_name: policy-clamp-ac-k8s-ppnt
-      depends_on:
-       - kafka
-      hostname: policy-clamp-ac-k8s-ppnt
-      ports:
-       - "30295:6969"
-      volumes:
-       - ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './kubernetes-participant.sh',
-        'kafka', '9092'
-        ]
-   policy-clamp-ac-pf-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_PPNT_VERSION}
-      container_name: policy-clamp-ac-pf-ppnt
-      depends_on:
-       - kafka
-       - api
-      hostname: policy-clamp-ac-pf-ppnt
-      ports:
-       - ${POLICY_PARTICIPANT_PORT}:6969
-      volumes:
-       - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './policy-participant.sh',
-        'kafka', '9092',
-        'api', '6969'
-        ]
-   policy-clamp-ac-a1pms-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-a1pms-ppnt:${POLICY_CLAMP_PPNT_VERSION}
-      container_name: policy-clamp-ac-a1pms-ppnt
-      depends_on:
-       - kafka
-      hostname: policy-clamp-ac-a1pms-ppnt
-      ports:
-       - "30296:6969"
-      volumes:
-       - ./config/clamp/A1pmsParticipantParameters.yaml:/opt/app/policy/clamp/etc/A1pmsParticipantParameters.yaml:ro
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './a1pms-participant.sh',
-        'kafka', '9092'
-        ]
-   policy-clamp-ac-kserve-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-kserve-ppnt:${POLICY_CLAMP_PPNT_VERSION}
-      container_name: policy-clamp-ac-kserve-ppnt
-      depends_on:
-       - kafka
-      hostname: policy-clamp-ac-kserve-ppnt
-      ports:
-       - "30297:6969"
-      volumes:
-       - ./config/clamp/KserveParticipantParameters.yaml:/opt/app/policy/clamp/etc/KserveParticipantParameters.yaml:ro
-       - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-       - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './kserve-participant.sh',
-        'kafka', '9092'
-        ]
-   policy-clamp-ac-sim-ppnt:
-      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-sim-ppnt:${POLICY_CLAMP_VERSION}
-      container_name: policy-clamp-ac-sim-ppnt
-      depends_on:
-        - kafka
-      hostname: policy-clamp-ac-sim-ppnt
-      ports:
-        - ${SIM_PARTICIPANT_PORT}:6969
-      volumes:
-        - ./config/clamp/SimulatorParticipantParameters.yaml:/opt/app/policy/clamp/etc/SimulatorParticipantParameters.yaml:ro
-        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
-        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-        '-c', './sim-participant.sh',
-        'kafka', '9092'
-      ]
-   prometheus:
-      image: nexus3.onap.org:10001/prom/prometheus:latest
-      container_name: prometheus
-      hostname: prometheus
-      ports:
-       - ${PROMETHEUS_PORT}:9090
-      volumes:
-       - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
-   grafana:
-      image: nexus3.onap.org:10001/grafana/grafana:latest
-      container_name: grafana
-      depends_on:
-       - prometheus
-      hostname: grafana
-      ports:
-       - ${GRAFANA_PORT}:3000
-      volumes:
-       - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
-       - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
-       - ./metrics/dashboards:/var/lib/grafana/dashboards
 
-   zookeeper:
-     image: confluentinc/cp-zookeeper:latest
-     container_name: zookeeper
-     environment:
-       ZOOKEEPER_CLIENT_PORT: 2181
-       ZOOKEEPER_TICK_TIME: 2000
-     ports:
-       - "2181:2181"
+services:
+  mariadb:
+    image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
+    container_name: mariadb
+    hostname: mariadb
+    command: [ '--lower-case-table-names=1', '--wait_timeout=28800', '--default-authentication-plugin=mysql_native_password' ]
+    env_file: ./config/db/db.conf
+    volumes:
+      - ./config/db:/docker-entrypoint-initdb.d:ro
+      - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
+    ports:
+      - "3306:3306"
+  policy-db-migrator:
+    image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
+    container_name: policy-db-migrator
+    hostname: policy-db-migrator
+    depends_on:
+      - mariadb
+    expose:
+      - 6824
+    env_file: ./config/db/db.conf
+    environment:
+      SQL_DB: policyadmin
+      SQL_HOST: mariadb
+    volumes:
+      - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c',
+      '/opt/app/policy/bin/db_migrator_policy_init.sh',
+      'mariadb', '3306'
+    ]
+  policy-db-migrator-clamp:
+    image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
+    container_name: policy-db-migrator-clamp
+    hostname: policy-db-migrator-clamp
+    depends_on:
+      - mariadb
+    expose:
+      - 6824
+    env_file: ./config/db/db.conf
+    environment:
+      SQL_DB: clampacm
+      SQL_HOST: mariadb
+    volumes:
+      - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c',
+      '/opt/app/policy/bin/db_migrator_policy_init.sh',
+      'mariadb', '3306'
+    ]
+  simulator:
+    image: ${CONTAINER_LOCATION}onap/policy-models-simulator:${POLICY_MODELS_VERSION}
+    container_name: simulator
+    hostname: simulator
+    networks:
+      default:
+        aliases:
+          - aai-sim
+          - grpc-sim
+          - sdnc-sim
+          - so-sim
+          - vfc-sim
+    volumes:
+      - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
+      - ./config/sim-all/logback.xml:/opt/app/policy/simulators/etc/mounted/logback.xml:ro
+    expose:
+      - 6666
+      - 6668
+      - 6669
+      - 6670
+      - 6680
+    ports:
+      - ${SIMULATOR_PORT}:6666
+  api:
+    image: ${CONTAINER_LOCATION}onap/policy-api:${POLICY_API_VERSION}
+    container_name: policy-api
+    hostname: policy-api
+    depends_on:
+      - policy-db-migrator
+    ports:
+      - ${API_PORT}:6969
+    volumes:
+      - ./config/api/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
+      - ./config/api/logback.xml:/opt/app/policy/api/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
+    entrypoint: ./wait_for_port.sh
+    command: [
+      '-c', './policy-api.sh',
+      'mariadb', '3306',
+      'policy-db-migrator', '6824'
+    ]
+  pap:
+    image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION}
+    container_name: policy-pap
+    hostname: policy-pap
+    depends_on:
+      - mariadb
+      - kafka
+      - api
+    ports:
+      - ${PAP_PORT}:6969
+    volumes:
+      - ./config/pap/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
+      - ./config/${PROJECT}/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
+      - ./config/pap/logback.xml:/opt/app/policy/pap/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
+    entrypoint: ./wait_for_port.sh
+    command: [
+      '-c', './policy-pap.sh',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'api', '6969'
+    ]
+  xacml-pdp:
+    image: ${CONTAINER_LOCATION}onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
+    container_name: policy-xacml-pdp
+    hostname: policy-xacml-pdp
+    depends_on:
+      - mariadb
+      - kafka
+      - pap
+    ports:
+      - ${XACML_PORT}:6969
+      - "30999:3904"
+    volumes:
+      - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
+      - ./config/xacml-pdp/logback.xml:/opt/app/policy/pdpx/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
+    entrypoint: ./wait_for_port.sh
+    command: [
+      '-c', './policy-pdpx.sh',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'pap', '6969'
+    ]
+  drools-pdp:
+    image: ${CONTAINER_LOCATION}onap/policy-drools:${POLICY_DROOLS_PDP_VERSION}
+    container_name: policy-drools-pdp
+    hostname: policy-drools-pdp
+    depends_on:
+      - mariadb
+      - kafka
+      - pap
+    ports:
+      - ${DROOLS_PORT}:6969
+      - ${DROOLS_TELEMETRY_PORT}:9696
+    volumes:
+      - ./config/drools-pdp/custom:/tmp/policy-install/config:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    env_file:
+      - ./config/drools-pdp/env/base.conf
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
+      'mariadb', '3306',
+      'kafka', '9092'
+    ]
+  drools-applications:
+    image: ${CONTAINER_LOCATION}onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION}
+    container_name: policy-drools-apps
+    hostname: policy-drools-apps
+    depends_on:
+      - mariadb
+      - simulator
+      - kafka
+      - pap
+      - xacml-pdp
+    ports:
+      - ${DROOLS_APPS_PORT}:6969
+      - ${DROOLS_APPS_TELEMETRY_PORT}:9696
+    volumes:
+      - ./config/drools-applications/custom:/tmp/policy-install/config:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    env_file:
+      - ./config/drools-applications/env/base.conf
+      - ./config/drools-applications/env/feature-healthcheck.conf
+      - ./config/drools-applications/env/feature-pooling-messages.conf
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'pap', '6969',
+      'aai-sim', '6666',
+      'sdnc-sim', '6668',
+      'so-sim', '6669',
+      'vfc-sim', '6670'
+    ]
+  apex-pdp:
+    image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
+    container_name: policy-apex-pdp
+    hostname: policy-apex-pdp
+    depends_on:
+      - mariadb
+      - simulator
+      - kafka
+      - pap
+    ports:
+      - ${APEX_PORT}:6969
+      - ${APEX_EVENTS_PORT}:23324
+    volumes:
+      - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
+      - ./config/apex-pdp/logback.xml:/opt/app/policy/apex-pdp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'pap', '6969'
+    ]
+  distribution:
+    image: ${CONTAINER_LOCATION}onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION}
+    container_name: policy-distribution
+    hostname: policy-distribution
+    depends_on:
+      - mariadb
+      - api
+      - pap
+      - apex-pdp
+    ports:
+      - ${DIST_PORT}:6969
+    volumes:
+      - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
+      - /tmp/distribution/:/opt/app/policy/distribution/etc/temp/:ro
+      - ./config/distribution/logback.xml:/opt/app/policy/distribution/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './policy-dist.sh',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'pap', '6969',
+      'apex-pdp', '6969'
+    ]
+  policy-clamp-runtime-acm:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
+    container_name: policy-clamp-runtime-acm
+    hostname: policy-clamp-runtime-acm
+    depends_on:
+      - policy-db-migrator-clamp
+      - kafka
+      - policy-clamp-ac-http-ppnt
+      - policy-clamp-ac-k8s-ppnt
+      - policy-clamp-ac-pf-ppnt
+      - policy-clamp-ac-sim-ppnt
+      - apex-pdp
+    ports:
+      - ${ACM_PORT}:6969
+    volumes:
+      - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './acm-runtime.sh',
+      'mariadb', '3306',
+      'kafka', '9092',
+      'policy-clamp-ac-http-ppnt', '6969',
+      'policy-clamp-ac-k8s-ppnt', '6969',
+      'policy-clamp-ac-pf-ppnt', '6969',
+      'apex-pdp', '6969'
+    ]
 
-   kafka:
-     image: confluentinc/cp-kafka:latest
-     container_name: kafka
-     depends_on:
-       - zookeeper
-     ports:
-       - "29092:29092"
-       - "9092:9092"
-     environment:
-       KAFKA_BROKER_ID: 1
-       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-       KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
-       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
-       KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
-       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
\ No newline at end of file
+  policy-clamp-ac-http-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+    container_name: policy-clamp-ac-http-ppnt
+    hostname: policy-clamp-ac-http-ppnt
+    depends_on:
+      - kafka
+    ports:
+      - "30290:6969"
+    volumes:
+      - ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './http-participant.sh',
+      'kafka', '9092'
+    ]
+  policy-clamp-ac-k8s-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+    container_name: policy-clamp-ac-k8s-ppnt
+    hostname: policy-clamp-ac-k8s-ppnt
+    depends_on:
+      - kafka
+    ports:
+      - "30295:6969"
+    volumes:
+      - ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './kubernetes-participant.sh',
+      'kafka', '9092'
+    ]
+  policy-clamp-ac-pf-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+    container_name: policy-clamp-ac-pf-ppnt
+    hostname: policy-clamp-ac-pf-ppnt
+    depends_on:
+      - kafka
+      - api
+    ports:
+      - ${POLICY_PARTICIPANT_PORT}:6969
+    volumes:
+      - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './policy-participant.sh',
+      'kafka', '9092',
+      'api', '6969'
+    ]
+  policy-clamp-ac-a1pms-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-a1pms-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+    container_name: policy-clamp-ac-a1pms-ppnt
+    hostname: policy-clamp-ac-a1pms-ppnt
+    depends_on:
+      - kafka
+    ports:
+      - "30296:6969"
+    volumes:
+      - ./config/clamp/A1pmsParticipantParameters.yaml:/opt/app/policy/clamp/etc/A1pmsParticipantParameters.yaml:ro
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './a1pms-participant.sh',
+      'kafka', '9092'
+    ]
+  policy-clamp-ac-kserve-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-kserve-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+    container_name: policy-clamp-ac-kserve-ppnt
+    hostname: policy-clamp-ac-kserve-ppnt
+    depends_on:
+      - kafka
+    ports:
+      - "30297:6969"
+    volumes:
+      - ./config/clamp/KserveParticipantParameters.yaml:/opt/app/policy/clamp/etc/KserveParticipantParameters.yaml:ro
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './kserve-participant.sh',
+      'kafka', '9092'
+    ]
+  policy-clamp-ac-sim-ppnt:
+    image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-sim-ppnt:${POLICY_CLAMP_VERSION}
+    container_name: policy-clamp-ac-sim-ppnt
+    hostname: policy-clamp-ac-sim-ppnt
+    depends_on:
+      - kafka
+    ports:
+      - ${SIM_PARTICIPANT_PORT}:6969
+    volumes:
+      - ./config/clamp/SimulatorParticipantParameters.yaml:/opt/app/policy/clamp/etc/SimulatorParticipantParameters.yaml:ro
+      - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+      - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+      '-c', './sim-participant.sh',
+      'kafka', '9092'
+    ]
+  prometheus:
+    image: nexus3.onap.org:10001/prom/prometheus:latest
+    container_name: prometheus
+    hostname: prometheus
+    ports:
+      - ${PROMETHEUS_PORT}:9090
+    volumes:
+      - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
+  grafana:
+    image: nexus3.onap.org:10001/grafana/grafana:latest
+    container_name: grafana
+    hostname: grafana
+    depends_on:
+      - prometheus
+    ports:
+      - ${GRAFANA_PORT}:3000
+    volumes:
+      - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
+      - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
+      - ./metrics/dashboards:/var/lib/grafana/dashboards
+  zookeeper:
+    image: confluentinc/cp-zookeeper:latest
+    container_name: zookeeper
+    hostname: zookeeper
+    ports:
+      - "2181:2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: confluentinc/cp-kafka:latest
+    container_name: kafka
+    hostname: kafka
+    depends_on:
+      - zookeeper
+    ports:
+      - 9092:9092
+      - 29092:29092
+    environment:
+      KAFKA_BROKER_ID: 1
+      KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
+      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
+      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+      KAFKA_ADVERTISED_HOST_NAME: kafka
+  csit-tests:
+    image: policy-csit-robot:latest
+    container_name: policy-csit
+    hostname: policy-csit
+    volumes:
+      - ${ROBOT_LOG_DIR}:/tmp/results
+      - /tmp/distribution:/tmp/distribution
+    environment:
+      ROBOT_FILE: ${ROBOT_FILES}
+      CLAMP_K8S_TEST: false
index 49006f1..a5da09d 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # ============LICENSE_START====================================================
-#  Copyright (C) 2022-2023 Nordix Foundation.
+#  Copyright (C) 2022-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.
@@ -50,7 +50,6 @@ do
       break;
       ;;
     *)
-      echo "$1"
       component="$1"
       shift
       ;;
@@ -68,32 +67,37 @@ if [ -z "$PROJECT" ]; then
   export PROJECT=$component
 fi
 
+# docker compose fails when not running CSIT
+if [ -z "$ROBOT_LOG_DIR" ]; then
+  export ROBOT_LOG_DIR=/tmp/
+fi
+
 if [ -n "$component" ]; then
   if [ "$component" == "logs" ]; then
   echo "Collecting logs..."
-    docker-compose logs > docker-compose.log
+    docker compose logs > docker-compose.log
   elif [ "$grafana" = true ]; then
     echo "Starting ${component} application with Grafana"
-    docker-compose up -d "${component}" grafana
+    docker compose up -d "${component}" grafana
     echo "Prometheus server: http://localhost:${PROMETHEUS_PORT}"
     echo "Grafana server: http://localhost:${GRAFANA_PORT}"
   elif [ "$gui" = true ]; then
     echo "Starting application with gui..."
-    docker-compose -f docker-compose.yml -f docker-compose.gui.yml up -d "${component}" policy-gui
+    docker compose -f docker-compose.yml -f docker-compose.gui.yml up -d "${component}" policy-gui
     echo "Clamp GUI: https://localhost:2445/clamp"
   else
     echo "Starting ${component} application"
-    docker-compose up -d "${component}"
+    docker compose up -d "${component}"
   fi
 else
   export PROJECT=api # api has groups.json complete with all 3 pdps
   if [ "$gui" = true ]; then
     echo "Starting application with gui..."
-    docker-compose -f docker-compose.yml -f docker-compose.gui.yml up -d
+    docker compose -f docker-compose.yml -f docker-compose.gui.yml up -d
     echo "Clamp GUI: https://localhost:2445/clamp"
   else
     echo "Starting all components..."
-    docker-compose up -d
+    docker compose up -d
   fi
 fi
 
index 0a7d9af..013fbe1 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # ============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.
@@ -23,6 +23,14 @@ if [ -z "${WORKSPACE}" ]; then
     WORKSPACE=$(git rev-parse --show-toplevel)
     export WORKSPACE
 fi
+
+# docker compose fails when not running CSIT
+if [ -z "$ROBOT_LOG_DIR" ]; then
+  export ROBOT_LOG_DIR=/tmp/
+  export ROBOT_FILES=none
+  export PROJECT=api
+fi
+
 COMPOSE_FOLDER="${WORKSPACE}"/compose
 
 cd ${COMPOSE_FOLDER}
@@ -31,10 +39,24 @@ source export-ports.sh > /dev/null 2>&1
 source get-versions.sh > /dev/null 2>&1
 
 echo "Collecting logs from docker compose containers..."
-docker-compose logs > docker_compose.log
+rm -rf docker_compose.log
+
+# this will collect logs by service instead of mixing all together
+containers=$(docker compose ps --all --format '{{.Service}}')
+
+IFS=$'\n' read -d '' -r -a item_list <<< "$containers"
+for item in "${item_list[@]}"
+do
+    if [ -n "$item" ]; then
+        echo "======== Logs from ${item} ========" >> docker_compose.log
+        docker compose logs $item >> docker_compose.log
+        echo "===================================" >> docker_compose.log
+    fi
+done
+
 cat docker_compose.log
 
 echo "Tearing down containers..."
-docker-compose down -v --remove-orphans
+docker compose down -v --remove-orphans
 
 cd ${WORKSPACE}
index 9a43663..786293d 100644 (file)
@@ -1,12 +1,12 @@
 FROM nexus3.onap.org:10001/library/python:3.10-slim-bullseye
 ARG CSIT_SCRIPT=${CSIT_SCRIPT}
 ARG ROBOT_FILE=${ROBOT_FILE}
-ENV ROBOT_WORKSPACE=/opt/robotworkspace ROBOT_FILE=$ROBOT_FILE
-RUN python3 -m pip install --upgrade pip && \
-    python3 -m pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.6.0.*' --pre && \
-    python3 -m pip install --upgrade confluent-kafka && \
+ENV ROBOT_WORKSPACE=/opt/robotworkspace ROBOT_FILE=$ROBOT_FILE CLAMP_K8S_TEST=$CLAMP_K8S_TEST
+RUN python3 -m pip -qq install --upgrade pip && \
+    python3 -m pip -qq install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.6.0.*' --pre && \
+    python3 -m pip -qq install --upgrade confluent-kafka && \
     python3 -m pip freeze
 RUN mkdir -p ${ROBOT_WORKSPACE}
-COPY ${CSIT_SCRIPT} tests/ ${ROBOT_WORKSPACE}/
+COPY scripts/run-test.sh tests/ ${ROBOT_WORKSPACE}/
 WORKDIR ${ROBOT_WORKSPACE}
-CMD ["sh", "-c", "./run-test.sh" , "${ROBOT_FILE}"]
+CMD ["sh", "-c", "./run-test.sh" ]
diff --git a/csit/resources/scripts/build-csit-docker-image.sh b/csit/resources/scripts/build-csit-docker-image.sh
new file mode 100755 (executable)
index 0000000..d468642
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash -x
+#
+# Copyright 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+function clone_models() {
+    # download models examples
+    git clone -b "${GERRIT_BRANCH}" --single-branch https://github.com/onap/policy-models.git "${WORKSPACE}"/csit/resources/tests/models
+
+    # create a couple of variations of the policy definitions
+    sed -e 's!Measurement_vGMUX!ADifferentValue!' \
+        tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.json \
+        >tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.v1_2.json
+
+    sed -e 's!"version": "1.0.0"!"version": "2.0.0"!' \
+        -e 's!"policy-version": 1!"policy-version": 2!' \
+        tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.json \
+        >tests/models/models-examples/src/main/resources/policies/vCPE.policy.monitoring.input.tosca.v2.json
+}
+
+if [ -z "${WORKSPACE}" ]; then
+    WORKSPACE=$(git rev-parse --show-toplevel)
+    export WORKSPACE
+fi
+
+GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${WORKSPACE}"/.gitreview)
+export ROBOT_DOCKER_IMAGE="policy-csit-robot"
+
+echo "Build docker image for robot framework"
+cd ${WORKSPACE}/csit/resources || exit
+
+docker image rm -f ${ROBOT_DOCKER_IMAGE}
+
+# get models
+clone_models
+
+echo "Build robot framework docker image"
+docker build . --file Dockerfile  --tag "${ROBOT_DOCKER_IMAGE}"  --no-cache
+docker save -o policy-csit-robot.tar ${ROBOT_DOCKER_IMAGE}:latest
+
+rm -rf ${WORKSPACE}/csit/resources/policy-csit-robot.tar
+rm -rf ${WORKSPACE}/csit/resources/tests/models/
diff --git a/csit/resources/scripts/prepare-robot-env.sh b/csit/resources/scripts/prepare-robot-env.sh
deleted file mode 100755 (executable)
index 2b77380..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash -x
-#
-# Copyright 2019 © Samsung Electronics Co., Ltd.
-# Modification Copyright 2021 © AT&T Intellectual Property.
-# Modification Copyright 2021-2023 Nordix Foundation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# This script installs common libraries required by CSIT tests
-#
-
-if [ -z "$WORKSPACE" ]; then
-    WORKSPACE=$(git rev-parse --show-toplevel)
-    export WORKSPACE
-fi
-
-ROBOT_VENV=$(mktemp -d)
-echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
-
-echo "Python version is: $(python3 --version)"
-
-python3 -m venv --clear "${ROBOT_VENV}"
-source "${ROBOT_VENV}/bin/activate" > /dev/null
-
-set -exu
-
-python3 -m pip install -qq --upgrade "pip<=23.0" "setuptools<=66.1.1"
-echo "Installing Python Requirements"
-python3 -m pip install -qq -r "${SCRIPTS}"/pylibs.txt
-python3 -m pip -qq freeze
-
-# install eteutils
-mkdir -p "${ROBOT_VENV}"/src/onap
-rm -rf "${ROBOT_VENV}"/src/onap/testsuite
-python3 -m pip install -qq --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.6.0.*' --pre
-
-# install confluent-kafka
-echo "Installing python confluent-kafka library"
-python3 -m pip install -qq confluent-kafka
-
-echo "Uninstall docker-py and reinstall docker."
-python3 -m pip uninstall -y -qq docker
-python3 -m pip install -U -qq docker
-
-python3 -m pip -qq freeze
-
-if (uname | grep -q 'Linux')
-then
-    sudo apt-get -y -qq install libxml2-utils
-fi
diff --git a/csit/resources/scripts/pylibs.txt b/csit/resources/scripts/pylibs.txt
deleted file mode 100644 (file)
index a9b4e49..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-ipaddr==2.2.0
-netaddr==0.8.0
-netifaces==0.11.0
-pyhocon==0.3.60
-requests==2.27.1
-robotframework-httplibrary==0.4.2
-robotframework-requests==0.9.4
-robotframework-selenium2library==3.0.0
-robotframework-sshlibrary==3.8.0
-scapy==2.5.0
-# Module jsonpath is needed by current AAA idmlite suite.
-jsonpath-rw==1.4.0
-# Modules for longevity framework robot library
-elasticsearch==7.17.9
-elasticsearch-dsl==7.4.1
-# Module for pyangbind used by lispflowmapping project
-pyangbind==0.8.1
-# Module for iso8601 datetime format
-isodate==0.6.1
-# Module for TemplatedRequests.robot library
-jmespath==0.10.0
-# Module for backup-restore support library
-jsonpatch==1.32
-# odltools for extra debugging
-odltools==0.1.28
index 90dec57..9b01d35 100755 (executable)
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END======================================================
 
-
-ROBOT_FILE=$1
-echo "Invoking the robot tests from: $1"
+echo "Invoking the robot tests from: ${ROBOT_FILE}"
 
 DEFAULT_PORT=6969
 DATA=/opt/robotworkspace/models/models-examples/src/main/resources/policies
 NODETEMPLATES=/opt/robotworkspace/models/models-examples/src/main/resources/nodetemplates
+CLAMP_K8S_TEST=${K8S_TEST}
 
-POLICY_RUNTIME_ACM_IP=policy-clamp-runtime-acm:${DEFAULT_PORT}
-POLICY_PARTICIPANT_SIM_IP=policy-clamp-ac-sim-ppnt:${DEFAULT_PORT}
 POLICY_API_IP=policy-api:${DEFAULT_PORT}
+
 POLICY_PAP_IP=policy-pap:${DEFAULT_PORT}
+
 APEX_IP=policy-apex-pdp:${DEFAULT_PORT}
+APEX_EVENTS_IP=policy-apex-pdp:23324
+
 POLICY_PDPX_IP=policy-xacml-pdp:${DEFAULT_PORT}
+
 POLICY_DROOLS_IP=policy-drools-pdp:9696
-DISTRIBUTION_IP=policy-distribution:6969
+DROOLS_IP_1=policy-drools-apps:${DEFAULT_PORT}
+DROOLS_IP_2=policy-drools-apps:9696
+
+DISTRIBUTION_IP=policy-distribution:${DEFAULT_PORT}
+
+POLICY_RUNTIME_ACM_IP=policy-clamp-runtime-acm:${DEFAULT_PORT}
+POLICY_PARTICIPANT_SIM_IP=policy-clamp-ac-sim-ppnt:${DEFAULT_PORT}
+
 KAFKA_IP=kafka:9092
-APEX_EVENTS_IP=policy-apex-pdp:23324
 PROMETHEUS_IP=prometheus:9090
-CLAMP_K8S_TEST=true
 
 DIST_TEMP_FOLDER=/tmp/distribution
 
-export ROBOT_VARIABLES=
-ROBOT_VARIABLES="-v DATA:$DATA -v NODETEMPLATES:$NODETEMPLATES -v POLICY_API_IP:$POLICY_API_IP
--v POLICY_RUNTIME_ACM_IP:$POLICY_RUNTIME_ACM_IP -v POLICY_PARTICIPANT_SIM_IP:$POLICY_PARTICIPANT_SIM_IP
--v POLICY_PAP_IP:$POLICY_PAP_IP -v APEX_IP:$APEX_IP
--v APEX_EVENTS_IP:$APEX_EVENTS_IP -v KAFKA_IP:$KAFKA_IP -v PROMETHEUS_IP:${PROMETHEUS_IP}
--v POLICY_PDPX_IP:$POLICY_PDPX_IP -v POLICY_DROOLS_IP:$POLICY_DROOLS_IP -v TEMP_FOLDER:${DIST_TEMP_FOLDER}
--v DISTRIBUTION_IP:$DISTRIBUTION_IP -v CLAMP_K8S_TEST:$CLAMP_K8S_TEST"
+ROBOT_VARIABLES="-v DATA:${DATA}
+-v NODETEMPLATES:${NODETEMPLATES}
+-v POLICY_API_IP:${POLICY_API_IP}
+-v POLICY_RUNTIME_ACM_IP:${POLICY_RUNTIME_ACM_IP}
+-v POLICY_PARTICIPANT_SIM_IP:$POLICY_PARTICIPANT_SIM_IP
+-v POLICY_PAP_IP:${POLICY_PAP_IP}
+-v APEX_IP:${APEX_IP}
+-v APEX_EVENTS_IP:${APEX_EVENTS_IP}
+-v KAFKA_IP:${KAFKA_IP}
+-v PROMETHEUS_IP:${PROMETHEUS_IP}
+-v POLICY_PDPX_IP:${POLICY_PDPX_IP}
+-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}
+-v DROOLS_IP:${DROOLS_IP_1}
+-v DROOLS_IP_2:${DROOLS_IP_2}
+-v TEMP_FOLDER:${DIST_TEMP_FOLDER}
+-v DISTRIBUTION_IP:${DISTRIBUTION_IP}
+-v CLAMP_K8S_TEST:${CLAMP_K8S_TEST}"
+
+export ROBOT_VARIABLES
 
 echo "Run Robot test"
 echo ROBOT_VARIABLES="${ROBOT_VARIABLES}"
 echo "Starting Robot test suites ..."
-python3 -m robot.run -d /tmp/ $ROBOT_VARIABLES $1
+mkdir -p /tmp/results/
+python3 -m robot.run -d /tmp/results/ ${ROBOT_VARIABLES} ${ROBOT_FILE}
 RESULT=$?
 echo "RESULT: ${RESULT}"
+
+exit $RESULT
diff --git a/csit/resources/scripts/setup-apex-pdp-large.sh b/csit/resources/scripts/setup-apex-pdp-large.sh
deleted file mode 100644 (file)
index aeb4456..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# ===========LICENSE_START====================================================
-#  Copyright (C) 2023 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=====================================================
-#
-
-export PROJECT="apex-pdp"
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-multiple-pdp.sh 10
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
-
-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
-
-export SUITES="apex-slas-10.robot"
-
-ROBOT_VARIABLES="-v POLICY_PAP_IP:localhost:${PAP_PORT} -v POLICY_API_IP:localhost:${API_PORT}
--v PROMETHEUS_IP:localhost:${PROMETHEUS_PORT} -v DATA:${DATA} -v NODETEMPLATES:${NODETEMPLATES}
--v APEX_IP:localhost:${APEX_PORT} -v APEX_EVENTS_IP:localhost:${APEX_PORT -v KAFKA_IP:${KAFKA_IP}}"
diff --git a/csit/resources/scripts/setup-apex-pdp-medium.sh b/csit/resources/scripts/setup-apex-pdp-medium.sh
deleted file mode 100644 (file)
index 5d1dbb2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# ===========LICENSE_START====================================================
-#  Copyright (C) 2023 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=====================================================
-#
-
-export PROJECT="apex-pdp"
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-multiple-pdp.sh 3
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
-
-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
-
-export SUITES="apex-slas-3.robot"
-
-ROBOT_VARIABLES="-v POLICY_PAP_IP:localhost:${PAP_PORT} -v POLICY_API_IP:localhost:${API_PORT}
--v PROMETHEUS_IP:localhost:${PROMETHEUS_PORT} -v DATA:${DATA} -v NODETEMPLATES:${NODETEMPLATES}
--v APEX_IP:localhost:${APEX_PORT} -v APEX_EVENTS_IP:localhost:${APEX_PORT} -v KAFKA_IP:${KAFKA_IP}"
diff --git a/csit/resources/scripts/setup-apex-pdp-postgres.sh b/csit/resources/scripts/setup-apex-pdp-postgres.sh
deleted file mode 100755 (executable)
index 150ec8f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2023 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-postgres-tests.sh 1
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
-
-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
-
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-export SUITES="apex-pdp-test.robot"
-
-ROBOT_VARIABLES="-v POLICY_PAP_IP:localhost:${PAP_PORT} -v POLICY_API_IP:localhost:${API_PORT}
--v PROMETHEUS_IP:localhost:${PROMETHEUS_PORT} -v DATA:${DATA} -v NODETEMPLATES:${NODETEMPLATES}
--v APEX_IP:localhost:${APEX_PORT} -v KAFKA_IP:${KAFKA_IP}
--v APEX_EVENTS_IP:localhost:${APEX_EVENTS_PORT}"
diff --git a/csit/resources/scripts/setup-apex-pdp.sh b/csit/resources/scripts/setup-apex-pdp.sh
deleted file mode 100755 (executable)
index 1f04fc8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2018 Ericsson. All rights reserved.
-#
-#  Modifications Copyright (c) 2019-2024 Nordix Foundation.
-#  Modifications Copyright (C) 2020-2021 AT&T Intellectual Property.
-#  Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${SCRIPTS}"/setup-pap.sh
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
-
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-export SUITES="apex-pdp-test.robot
-apex-slas.robot"
-
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:localhost:${APEX_PORT} -v KAFKA_IP:${KAFKA_IP}
--v APEX_EVENTS_IP:localhost:${APEX_EVENTS_PORT}"
diff --git a/csit/resources/scripts/setup-api.sh b/csit/resources/scripts/setup-api.sh
deleted file mode 100755 (executable)
index 5a5cad2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright 2021-2023 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-compose.sh api --grafana
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${API_PORT}
-
-export SUITES="api-test.robot
-api-slas.robot"
-
-ROBOT_VARIABLES="-v POLICY_API_IP:localhost:${API_PORT} -v PROMETHEUS_IP:localhost:${PROMETHEUS_PORT}
--v DATA:${DATA} -v NODETEMPLATES:${NODETEMPLATES}"
diff --git a/csit/resources/scripts/setup-clamp.sh b/csit/resources/scripts/setup-clamp.sh
deleted file mode 100755 (executable)
index ba4467b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2021-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.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${WORKSPACE}"/compose/start-compose.sh policy-clamp-runtime-acm
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_rest.sh localhost "${ACM_PORT}"
-
-CLAMP_K8S_TEST=false
-
-export SUITES="policy-clamp-test.robot"
-
-ROBOT_VARIABLES="-v POLICY_RUNTIME_ACM_IP:localhost:${ACM_PORT}
--v POLICY_PARTICIPANT_SIM_IP:localhost:${SIM_PARTICIPANT_PORT}
--v POLICY_API_IP:localhost:${API_PORT} -v POLICY_PAP_IP:localhost:${PAP_PORT} -v CLAMP_K8S_TEST:$CLAMP_K8S_TEST"
-
-
diff --git a/csit/resources/scripts/setup-distribution.sh b/csit/resources/scripts/setup-distribution.sh
deleted file mode 100755 (executable)
index 3840d9d..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2018 Ericsson. All rights reserved.
-#  Modifications Copyright (c) 2019-2023 Nordix Foundation.
-#  Modifications Copyright (C) 2020-2021 AT&T Intellectual Property.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# Remaking the csar file in case if the file got corrupted
-DIST_TEMP_FOLDER=/tmp/distribution
-
-zip -F "${TEST_PLAN_DIR}"/data/csar/sample_csar_with_apex_policy.csar \
-    --out "${TEST_PLAN_DIR}"/data/csar/csar_temp.csar
-
-# Remake temp directory
-rm -rf "${DIST_TEMP_FOLDER}"
-mkdir "${DIST_TEMP_FOLDER}"
-
-source "${WORKSPACE}"/compose/start-compose.sh distribution
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_rest.sh localhost "${DIST_PORT}"
-
-export SUITES="distribution-test.robot"
-
-ROBOT_VARIABLES="-v APEX_EVENTS_IP:localhost:${APEX_EVENTS_PORT}
--v DISTRIBUTION_IP:localhost:${DIST_PORT} -v TEMP_FOLDER:${DIST_TEMP_FOLDER}"
diff --git a/csit/resources/scripts/setup-drools-applications.sh b/csit/resources/scripts/setup-drools-applications.sh
deleted file mode 100755 (executable)
index bfb3f67..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-#
-# ===========LICENSE_START====================================================
-#  Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
-#  Modifications Copyright 2021-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.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=====================================================
-#
-
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-compose.sh drools-applications
-
-sleep 10
-unset http_proxy https_proxy
-
-export SUITES="drools-applications-test.robot"
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
-"${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_APPS_PORT}
-"${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_APPS_TELEMETRY_PORT}
-
-# give enough time for the controllers to come up
-sleep 15
-
-ROBOT_VARIABLES="-v DATA:${DATA} -v DROOLS_IP:localhost:${DROOLS_APPS_PORT}
--v DROOLS_IP_2:localhost:${DROOLS_APPS_TELEMETRY_PORT} -v POLICY_API_IP:localhost:${API_PORT}
--v POLICY_PAP_IP:localhost:${PAP_PORT} -v KAFKA_IP:${KAFKA_IP}"
diff --git a/csit/resources/scripts/setup-drools-pdp.sh b/csit/resources/scripts/setup-drools-pdp.sh
deleted file mode 100755 (executable)
index fadc095..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-# Copyright 2017-2021 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright 2021-2023 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${WORKSPACE}"/compose/start-compose.sh drools-pdp
-
-sleep 10
-unset http_proxy https_proxy
-
-export SUITES="drools-pdp-test.robot"
-
-# wait for the app to start up - looking for telemetry service on port ${DROOLS_PORT} forwarded from 9696
-"${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_TELEMETRY_PORT}
-
-# give enough time for the controllers to come up
-sleep 15
-
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_DROOLS_IP:localhost:${DROOLS_TELEMETRY_PORT}"
diff --git a/csit/resources/scripts/setup-pap.sh b/csit/resources/scripts/setup-pap.sh
deleted file mode 100755 (executable)
index 741f064..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019-2022 Nordix Foundation.
-#  Modifications Copyright (C) 2019-2021 AT&T Intellectual Property.
-#  Modifications Copyright (C) 2022-2023 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-compose.sh apex-pdp --grafana
-
-sleep 10
-unset http_proxy https_proxy
-
-# wait for the app to start up
-bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
-
-export SUITES="pap-test.robot
-pap-slas.robot"
-
-ROBOT_VARIABLES="-v POLICY_PAP_IP:localhost:${PAP_PORT} -v POLICY_API_IP:localhost:${API_PORT}
--v PROMETHEUS_IP:localhost:${PROMETHEUS_PORT} -v DATA:${DATA} -v NODETEMPLATES:${NODETEMPLATES}"
diff --git a/csit/resources/scripts/setup-xacml-pdp.sh b/csit/resources/scripts/setup-xacml-pdp.sh
deleted file mode 100755 (executable)
index 79a53be..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
-#  Modifications Copyright 2021-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.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-source "${SCRIPTS}"/node-templates.sh
-
-source "${WORKSPACE}"/compose/start-compose.sh xacml-pdp
-
-sleep 10
-unset http_proxy https_proxy
-
-export SUITES="xacml-pdp-test.robot"
-export KAFKA_IP="localhost:${KAFKA_PORT}"
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_rest.sh localhost "${XACML_PORT}"
-
-ROBOT_VARIABLES="-v DATA:${DATA} -v POLICY_PDPX_IP:localhost:${XACML_PORT}
--v POLICY_API_IP:localhost:${API_PORT} -v POLICY_PAP_IP:localhost:${PAP_PORT}
--v KAFKA_IP:${KAFKA_IP}"
index c85be4f..b8b4924 100644 (file)
@@ -20,11 +20,11 @@ MetricsAfterExecution
     [Documentation]  Verify policy-distribution is exporting prometheus metrics after execution
     ${hcauth}=  PolicyAdminAuth
     ${resp}=  PerformGetRequest  ${DISTRIBUTION_IP}  /metrics  200  null  ${hcauth}
-    Should Contain  ${resp.text}  total_distribution_received_count_total 2.0
-    Should Contain  ${resp.text}  distribution_success_count_total 2.0
+    Should Contain  ${resp.text}  total_distribution_received_count_total 1.0
+    Should Contain  ${resp.text}  distribution_success_count_total 1.0
     Should Contain  ${resp.text}  distribution_failure_count_total 0.0
-    Should Contain  ${resp.text}  total_download_received_count_total 2.0
-    Should Contain  ${resp.text}  download_success_count_total 2.0
+    Should Contain  ${resp.text}  total_download_received_count_total 1.0
+    Should Contain  ${resp.text}  download_success_count_total 1.0
     Should Contain  ${resp.text}  download_failure_count_total 0.0
 
 *** Keywords ***
index a5c09c7..edbc1df 100644 (file)
@@ -74,69 +74,69 @@ DeployXacmlPolicies
 #    Should Contain    ${result}    deployed-policies
 #    Should Contain    ${result}    operational.scaleout
 #    Should Contain    ${result}    operational.restart
-
+#
 #VcpeExecute
 #    [Documentation]    Executes VCPE Policy
 #    OnSet     ${CURDIR}/data/vcpeOnset.json
-#    ${result}=    CheckTopic     POLICY-CL-MGT    ACTIVE
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    ACTIVE
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
 #    Should Contain    ${result}    Sending guard query for APPC Restart
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
 #    Should Contain    ${result}    Guard result for APPC Restart is Permit
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
 #    Should Contain    ${result}    actor=APPC,operation=Restart
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
 #    Should Contain    ${result}    actor=APPC,operation=Restart
-#    ${result}=    CheckTopic     POLICY-CL-MGT    FINAL: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    FINAL: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
 #    Should Contain    ${result}    APPC
 #    Should Contain    ${result}    Restart
-
+#
 #VdnsExecute
 #    [Documentation]    Executes VDNS Policy
 #    OnSet     ${CURDIR}/data/vdnsOnset.json
-#    ${result}=    CheckTopic     POLICY-CL-MGT    ACTIVE
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    ACTIVE
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
 #    Should Contain    ${result}    Sending guard query for SO VF Module Create
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
 #    Should Contain    ${result}    Guard result for SO VF Module Create is Permit
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
 #    Should Contain    ${result}    actor=SO,operation=VF Module Create
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
 #    Should Contain    ${result}    actor=SO,operation=VF Module Create
-#    ${result}=    CheckTopic     POLICY-CL-MGT    FINAL: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    FINAL: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
 #    Should Contain    ${result}    SO
 #    Should Contain    ${result}    VF Module Create
-
+#
 #VfwExecute
 #    [Documentation]    Executes VFW Policy
 #    OnSet     ${CURDIR}/data/vfwOnset.json
-#    ${result}=    CheckTopic     POLICY-CL-MGT    ACTIVE
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    ACTIVE
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
 #    Should Contain    ${result}    Sending guard query for APPC ModifyConfig
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
 #    Should Contain    ${result}    Guard result for APPC ModifyConfig is Permit
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
 #    Should Contain    ${result}    actor=APPC,operation=ModifyConfig
-#    ${result}=    CheckTopic     POLICY-CL-MGT    OPERATION: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    OPERATION: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
 #    Should Contain    ${result}    actor=APPC,operation=ModifyConfig
-#    ${result}=    CheckTopic     POLICY-CL-MGT    FINAL: SUCCESS
+#    ${result}=    CheckKafkaTopic     policy-cl-mgt    FINAL: SUCCESS
 #    Should Contain    ${result}    ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
 #    Should Contain    ${result}    APPC
 #    Should Contain    ${result}    ModifyConfig
index 21a37d3..cd02e3a 100644 (file)
@@ -134,15 +134,3 @@ DeletePdpGroups
 QueryPdpGroupsAfterDelete
     [Documentation]    Verify PdpGroups after delete
     QueryPdpGroups  1  defaultGroup  ACTIVE  0  null  null  null
-
-# ValidateSlaForPap
-#     [Documentation]  Run checks against Prometheus server to check response time
-#     Sleep    30s
-#     ValidateDeploymentTime
-#     ValidateResponseTime  pap-metrics  /components/healthcheck  GET  10000
-#     ValidateResponseTimeForPap  /healthcheck  GET
-#     ValidateResponseTimeForPap  /policies/audit  GET
-#     ValidateResponseTimeForPap  /pdps/groups/{name}  PUT
-#     ValidateResponseTimeForPap  /pdps/policies/{name}  DELETE
-#     ValidateResponseTimeForPap  /pdps/groups/{name}  DELETE
-#     ValidateResponseTimeForPap  /pdps/groups/batch  POST
index 07a3424..a7f7e86 100755 (executable)
@@ -3,7 +3,7 @@
 # Copyright 2016-2017 Huawei Technologies Co., Ltd.
 # Modification Copyright 2019 © Samsung Electronics Co., Ltd.
 # Modification Copyright 2021 © AT&T Intellectual Property.
-# Modification Copyright 2021-2023 Nordix Foundation.
+# Modification Copyright 2021-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.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# $1 functionality
-# $2 robot options
-
-#
-# functions
-#
-
-function on_exit(){
-    rc=$?
-    if [[ ${WORKSPACE} ]]; then
-        # Record list of active docker containers
-        docker ps --format "table {{ .Names }}\t{{ .Status }}"
-
-        # show memory consumption after all docker instances initialized
-        docker_stats
-
-        source_safely ${WORKSPACE}/compose/stop-compose.sh
-        rsync "${WORKSPACE}/compose/docker_compose.log" "${WORKSPACE}/csit/archives/${PROJECT}"
-
-        if [[ ${WORKDIR} ]]; then
-            rsync -av "${WORKDIR}/" "${WORKSPACE}/csit/archives/${PROJECT}"
-        fi
-        rm -rf ${WORKSPACE}/models
-    fi
-    # TODO: do something with the output
-     exit $rc
-}
-
-# ensure that teardown and other finalizing steps are always executed
-trap on_exit EXIT
 
 function docker_stats(){
     # General memory details
@@ -70,124 +40,246 @@ function docker_stats(){
     echo
 }
 
-# save current set options
-function save_set() {
-    RUN_CSIT_SAVE_SET="$-"
-    RUN_CSIT_SHELLOPTS="${SHELLOPTS}"
+function setup_clamp() {
+    export ROBOT_FILES="policy-clamp-test.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh policy-clamp-runtime-acm
+    sleep 30
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost "${ACM_PORT}"
+    export CLAMP_K8S_TEST=false
 }
 
-# load the saved set options
-function load_set() {
-    _setopts="$-"
+function setup_api() {
+    export ROBOT_FILES="api-test.robot api-slas.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh api --grafana
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${API_PORT}
+}
 
-    # bash shellopts
-    for i in $(echo "${SHELLOPTS}" | tr ':' ' ') ; do
-        set +o ${i}
-    done
-    for i in $(echo "${RUN_CSIT_SHELLOPTS}" | tr ':' ' ') ; do
-        set -o ${i}
-    done
+function setup_pap() {
+    export ROBOT_FILES="pap-test.robot pap-slas.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh apex-pdp --grafana
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
+}
+
+function setup_apex() {
+    export ROBOT_FILES="apex-pdp-test.robot apex-slas.robot"
+    source "${WORKSPACE}"/compose/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}
+    apex_healthcheck
+}
+
+function setup_apex_postgres() {
+    export ROBOT_FILES="apex-pdp-test.robot"
+    source "${WORKSPACE}"/compose/start-postgres-tests.sh 1
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
+    apex_healthcheck
+}
+
+function setup_apex_medium() {
+    export SUITES="apex-slas-3.robot"
+    source "${WORKSPACE}"/compose/start-multiple-pdp.sh 3
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
+    apex_healthcheck
+}
+
+function setup_apex_large() {
+    export ROBOT_FILES="apex-slas-10.robot"
+    source "${WORKSPACE}"/compose/start-multiple-pdp.sh 10
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${APEX_PORT}
+    apex_healthcheck
+}
 
-    # other options
-    for i in $(echo "$_setopts" | sed 's/./& /g') ; do
-        set +${i}
+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
-    set -${RUN_CSIT_SAVE_SET}
 }
 
-# set options for quick bailout when error
-function harden_set() {
-    set -xeo pipefail
-    set +u # enabled it would probably fail too many often
+function setup_drools_apps() {
+    export ROBOT_FILES="drools-applications-test.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh drools-applications
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${PAP_PORT}
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_APPS_PORT}
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_APPS_TELEMETRY_PORT}
 }
 
-# relax set options so the sourced file will not fail
-# the responsibility is shifted to the sourced file...
-function relax_set() {
-    set +e
-    set +o pipefail
+function setup_xacml_pdp() {
+    export ROBOT_FILES="xacml-pdp-test.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh xacml-pdp
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost "${XACML_PORT}"
 }
 
-# wrapper for sourcing a file
-function source_safely() {
-    [ -z "$1" ] && return 1
-    relax_set
-    . "$1"
-    load_set
+function setup_drools_pdp() {
+    export ROBOT_FILES="drools-pdp-test.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh drools-pdp
+    sleep 30
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost ${DROOLS_TELEMETRY_PORT}
 }
 
-#
-# main
-#
+function setup_distribution() {
+    zip -F ${WORKSPACE}/csit/resources/tests/data/csar/sample_csar_with_apex_policy.csar \
+        --out ${WORKSPACE}/csit/resources/tests/data/csar/csar_temp.csar -q
 
-# set and save options for quick failure
-harden_set && save_set
+    # Remake temp directory
+    sudo rm -rf /tmp/distribution
+    sudo mkdir /tmp/distribution
 
-if [ $# -eq 0 ]
-then
-    echo
-    echo "Usage: $0 <project> [<robot-options>]"
-    echo
-    echo "    <project> <robot-options>:  "
-    echo
-    exit 1
-fi
+    export ROBOT_FILES="distribution-test.robot"
+    source "${WORKSPACE}"/compose/start-compose.sh distribution
+    sleep 10
+    bash "${SCRIPTS}"/wait_for_rest.sh localhost "${DIST_PORT}"
+}
+
+function build_robot_image() {
+    bash "${SCRIPTS}"/build-csit-docker-image.sh
+    cd ${WORKSPACE}
+}
+
+function run_robot() {
+    docker compose -f "${WORKSPACE}"/compose/docker-compose.yml up csit-tests
+    export RC=$?
+}
+
+function set_project_config() {
+    echo "Setting project configuration for: $PROJECT"
+    case $PROJECT in
+
+    clamp | policy-clamp)
+        setup_clamp
+        ;;
+
+    api | policy-api)
+        setup_api
+        ;;
+
+    pap | policy-pap)
+        setup_pap
+        ;;
+
+    apex-pdp | policy-apex-pdp)
+        setup_apex
+        ;;
+
+    apex-pdp-postgres | policy-apex-pdp-postgres)
+        setup_apex
+        ;;
+
+    apex-pdp-medium | policy-apex-pdp-medium)
+        setup_apex
+        ;;
+
+    apex-pdp-large | policy-apex-pdp-large)
+        setup_apex
+        ;;
+
+    xacml-pdp | policy-xacml-pdp)
+        setup_xacml_pdp
+        ;;
+
+    drools-pdp | policy-drools-pdp)
+        setup_drools_pdp
+        ;;
+
+    drools-applications | policy-drools-applications | drools-apps | policy-drools-apps)
+        setup_drools_apps
+        ;;
 
+    distribution | policy-distribution)
+        setup_distribution
+        ;;
+
+    *)
+        echo "Unknown project supplied. No test will run."
+        exit 1
+        ;;
+    esac
+}
+
+# even with forced finish, clean up docker containers
+function on_exit(){
+    rm -rf ${WORKSPACE}/csit/resources/tests/data/csar/csar_temp.csar
+    source ${WORKSPACE}/compose/stop-compose.sh
+    cp ${WORKSPACE}/compose/*.log ${WORKSPACE}/csit/archives/${PROJECT}
+    exit $RC
+}
+
+# ensure that teardown and other finalizing steps are always executed
+trap on_exit EXIT
+
+# setup all directories used for test resources
 if [ -z "${WORKSPACE}" ]; then
     WORKSPACE=$(git rev-parse --show-toplevel)
     export WORKSPACE
 fi
 
-# Add csit scripts to PATH
-export PATH="${PATH}:${WORKSPACE}/csit:${WORKSPACE}/scripts:${ROBOT_VENV}/bin"
-export SCRIPTS="${WORKSPACE}/csit/resources/scripts"
-export ROBOT_VARIABLES=
-
+export GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${WORKSPACE}"/.gitreview)
 export PROJECT="${1}"
+export ROBOT_LOG_DIR=${WORKSPACE}/csit/archives/${PROJECT}
+export SCRIPTS="${WORKSPACE}/csit/resources/scripts"
+export ROBOT_FILES=""
 
 cd "${WORKSPACE}"
 
-rm -rf "${WORKSPACE}/csit/archives/${PROJECT}"
-mkdir -p "${WORKSPACE}/csit/archives/${PROJECT}"
+# recreate the log folder with test results
+sudo rm -rf ${ROBOT_LOG_DIR}
+mkdir -p ${ROBOT_LOG_DIR}
+
+# log into nexus docker
+docker login -u docker -p docker nexus3.onap.org:10001
 
-# Run installation of pre-required libraries
-source_safely "${SCRIPTS}/prepare-robot-env.sh"
+# based on $PROJECT var, setup robot test files and docker compose execution
+compose_version=$(docker compose version)
 
-# Activate the virtualenv containing all the required libraries installed by prepare-robot-env.sh
-source_safely "${ROBOT_VENV}/bin/activate"
+if [[ $compose_version == *"Docker Compose version"* ]]; then
+    echo $compose_version
+else
+    echo "Docker Compose Plugin not installed. Installing now..."
+    sudo mkdir -p /usr/local/lib/docker/cli-plugins
+    sudo curl -SL https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
+    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
+fi
 
-export TEST_PLAN_DIR="${WORKSPACE}/csit/resources/tests"
-export TEST_OPTIONS="${2}"
+set_project_config
 
-WORKDIR=$(mktemp -d)
-cd "${WORKDIR}"
+unset http_proxy https_proxy
 
-# Sign in to nexus3 docker repo
-docker login -u docker -p docker nexus3.onap.org:10001
+export ROBOT_FILES
 
-# Run setup script plan if it exists
-SETUP="${SCRIPTS}/setup-${PROJECT}.sh"
-if [ -f "${SETUP}" ]; then
-    echo "Running setup script ${SETUP}"
-    source_safely "${SETUP}"
+# use a separate script to build a CSIT docker image, to containerize the test run
+if [ "${2}" == "--skip-build-csit" ]; then
+    echo "Skipping build csit robot image"
+else
+    build_robot_image
 fi
 
-# show memory consumption after all docker instances initialized
 docker_stats | tee "${WORKSPACE}/csit/archives/${PROJECT}/_sysinfo-1-after-setup.txt"
 
-# Run test plan
-cd "${WORKDIR}"
-echo "Reading the testplan:"
-echo "${SUITES}" | egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' | sed "s|^|${TEST_PLAN_DIR}/|" > testplan.txt
-cat testplan.txt
-SUITES=$( xargs < testplan.txt )
-
-echo ROBOT_VARIABLES="${ROBOT_VARIABLES}"
-echo "Starting Robot test suites ${SUITES} ..."
-relax_set
-python3 -m robot.run -N "${PROJECT}" -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${SUITES}
-RESULT=$?
-load_set
-echo "RESULT: ${RESULT}"
-# Note that the final steps are done in on_exit function after this exit!
-exit ${RESULT}
+# start the CSIT container and run the tests
+run_robot
+
+docker ps --format "table {{ .Names }}\t{{ .Status }}"
index 1cdc53e..a573b51 100644 (file)
@@ -49,8 +49,8 @@ spec:
           imagePullPolicy: Never
           env:
             - name: ROBOT_FILE
-              value: {{ .Values.robot }}
-          command: [ "./run-test.sh", "$(ROBOT_FILE)" ]
+              value: "$(ROBOT_FILE)"
+          command: [ "./run-test.sh" ]
           volumeMounts:
             - name: robot-csit-pv
               mountPath: /tmp