From 025301d08b061482c1f046d562bf017c8cbcfe8d Mon Sep 17 00:00:00 2001 From: ChrisC Date: Tue, 31 Jan 2017 11:40:03 +0100 Subject: Initial OpenECOMP MSO commit Change-Id: Ia6a7574859480717402cc2f22534d9973a78fa6d Signed-off-by: ChrisC --- packages/arquillian-unit-tests/pom.xml | 403 +++ .../mso/filesearching/LogFileSearching.java | 112 + .../global_tests/ArquillianPackagerForITCases.java | 57 + .../mso/global_tests/IntegrationTestsSuite.java | 25 + .../mso/global_tests/asdc/ASDCITCase.java | 497 +++ .../notif_emulator/DistributionClientEmulator.java | 133 + .../asdc/notif_emulator/JsonArtifactInfo.java | 102 + .../JsonArtifactInfoDeserializer.java | 28 + .../asdc/notif_emulator/JsonNotificationData.java | 108 + .../asdc/notif_emulator/JsonResourceInfo.java | 70 + .../JsonResourceInfoDeserializer.java | 23 + .../asdc/notif_emulator/JsonVfModuleMetaData.java | 63 + .../mso/global_tests/jmeter/JMeterITCase.java | 147 + .../global_tests/logging/LogsCheckerITCase.java | 88 + .../mso/global_tests/soapui/SoapUiITCase.java | 298 ++ .../src/test/resources/JMeter/MSO-Perf.jmx | 866 +++++ .../SoapUI/Healthcheck-soapui-project.xml | 114 + .../SoapUI/Local-API-Handler-soapui-project.xml | 236 ++ .../resources/SoapUI/MSOConfig-soapui-project.xml | 3 + .../SoapUI/MSONetworkAdapter-soapui-project.xml | 596 ++++ .../SoapUI/MSOTenantAdapter-soapui-project.xml | 422 +++ .../SoapUI/MSOVnfAdapter-soapui-project.xml | 623 ++++ .../SoapUI/MsoRequestDB-soapui-project.xml | 377 +++ .../src/test/resources/SoapUI/soapui-settings.xml | 4 + .../src/test/resources/arquillian.xml | 102 + .../resources/docker/mariadb/conf1/mariadb1.cnf | 194 ++ .../resources/docker/mariadb/conf2/mariadb2.cnf | 193 ++ .../resources/docker/mariadb/conf3/mariadb3.cnf | 193 ++ .../src/test/resources/docker/mso/mso-docker.json | 219 ++ .../asdc/demo-dns-V1/artifacts/base_vlb.env | 20 + .../asdc/demo-dns-V1/artifacts/base_vlb.yaml | 188 ++ .../asdc/demo-dns-V1/artifacts/dnsscaling.env | 16 + .../asdc/demo-dns-V1/artifacts/dnsscaling.yaml | 117 + .../demo-dns-V1/artifacts/vnf-module-artifact.json | 24 + .../asdc/demo-dns-V1/notif-structure.json | 94 + .../asdc/demo-vfw-V1/artifacts/base_vfw.env | 26 + .../asdc/demo-vfw-V1/artifacts/base_vfw.yaml | 298 ++ .../demo-vfw-V1/artifacts/vnf-module-artifact.json | 13 + .../asdc/demo-vfw-V1/notif-structure.json | 65 + .../artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/nested-oam_v1.0.yaml | 156 + .../notif-structure.json | 68 + .../asdc/simpleNotif-V1/artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam-volumes_v1.0.env | 6 + .../artifacts/hot-nimbus-oam-volumes_v1.0.yaml | 45 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.env | 4 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.yaml | 28 + .../artifacts/hot-nimbus-pcm_v1.0.env | 16 + .../artifacts/hot-nimbus-pcm_v1.0.yaml | 80 + .../artifacts/hot-nimbus-ppd_v1.0.yaml | 286 ++ .../artifacts/hot-nimbus-ppd_v1.1.env | 35 + .../artifacts/hot-nimbus-pps_v1.0.env | 11 + .../artifacts/hot-nimbus-pps_v1.0.yaml | 121 + .../artifacts/hot-nimbus-psm_v1.0.env | 10 + .../artifacts/hot-nimbus-psm_v1.0.yaml | 199 ++ .../artifacts/hot-nimbus-swift-container_v1.0.env | 3 + .../artifacts/hot-nimbus-swift-container_v1.0.yaml | 30 + .../simpleNotif-V1/artifacts/mount_iso_script.sh | 34 + .../simpleNotif-V1/artifacts/nested-oam_v1.0.yaml | 156 + .../simpleNotif-V1/artifacts/nested-pcm_v1.0.yaml | 150 + .../simpleNotif-V1/artifacts/nested-ppd_v1.0.yaml | 333 ++ .../simpleNotif-V1/artifacts/nested-pps_v1.0.yaml | 99 + .../simpleNotif-V1/artifacts/nested-psm_v1.0.yaml | 99 + .../artifacts/vnf-module-artifact.json | 14 + .../asdc/simpleNotif-V1/notif-structure.json | 75 + .../asdc/simpleNotif-V2/artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam-volumes_v1.0.env | 6 + .../artifacts/hot-nimbus-oam-volumes_v1.0.yaml | 45 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.env | 4 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.yaml | 28 + .../artifacts/hot-nimbus-pcm_v1.0.env | 16 + .../artifacts/hot-nimbus-pcm_v1.0.yaml | 80 + .../artifacts/hot-nimbus-ppd_v1.0.yaml | 286 ++ .../artifacts/hot-nimbus-ppd_v1.1.env | 35 + .../artifacts/hot-nimbus-pps_v1.0.env | 11 + .../artifacts/hot-nimbus-pps_v1.0.yaml | 121 + .../artifacts/hot-nimbus-psm_v1.0.env | 10 + .../artifacts/hot-nimbus-psm_v1.0.yaml | 199 ++ .../artifacts/hot-nimbus-swift-container_v1.0.env | 3 + .../artifacts/hot-nimbus-swift-container_v1.0.yaml | 30 + .../simpleNotif-V2/artifacts/mount_iso_script.sh | 34 + .../simpleNotif-V2/artifacts/nested-oam_v1.0.yaml | 156 + .../simpleNotif-V2/artifacts/nested-pcm_v1.0.yaml | 150 + .../simpleNotif-V2/artifacts/nested-ppd_v1.0.yaml | 333 ++ .../simpleNotif-V2/artifacts/nested-pps_v1.0.yaml | 99 + .../simpleNotif-V2/artifacts/nested-psm_v1.0.yaml | 99 + .../artifacts/vnf-module-artifact.json | 14 + .../asdc/simpleNotif-V2/notif-structure.json | 78 + .../asdc/simpleNotif-V3/artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam-volumes_v1.0.env | 6 + .../artifacts/hot-nimbus-oam-volumes_v1.0.yaml | 45 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.env | 4 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.yaml | 28 + .../artifacts/hot-nimbus-pcm_v1.0.env | 16 + .../artifacts/hot-nimbus-pcm_v1.0.yaml | 80 + .../artifacts/hot-nimbus-ppd_v1.0.yaml | 286 ++ .../artifacts/hot-nimbus-ppd_v1.1.env | 35 + .../artifacts/hot-nimbus-pps_v1.0.env | 11 + .../artifacts/hot-nimbus-pps_v1.0.yaml | 121 + .../artifacts/hot-nimbus-psm_v1.0.env | 10 + .../artifacts/hot-nimbus-psm_v1.0.yaml | 199 ++ .../artifacts/hot-nimbus-swift-container_v1.0.env | 3 + .../artifacts/hot-nimbus-swift-container_v1.0.yaml | 30 + .../simpleNotif-V3/artifacts/mount_iso_script.sh | 34 + .../simpleNotif-V3/artifacts/nested-oam_v1.0.yaml | 156 + .../simpleNotif-V3/artifacts/nested-pcm_v1.0.yaml | 150 + .../simpleNotif-V3/artifacts/nested-ppd_v1.0.yaml | 333 ++ .../simpleNotif-V3/artifacts/nested-pps_v1.0.yaml | 99 + .../simpleNotif-V3/artifacts/nested-psm_v1.0.yaml | 99 + .../artifacts/vnf-module-artifact.json | 17 + .../asdc/simpleNotif-V3/notif-structure.json | 116 + .../asdc/simpleNotif-V4/artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam-volumes_v1.0.env | 6 + .../artifacts/hot-nimbus-oam-volumes_v1.0.yaml | 45 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.env | 4 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.yaml | 28 + .../artifacts/hot-nimbus-pcm_v1.0.env | 16 + .../artifacts/hot-nimbus-pcm_v1.0.yaml | 80 + .../artifacts/hot-nimbus-ppd_v1.0.yaml | 286 ++ .../artifacts/hot-nimbus-ppd_v1.1.env | 35 + .../artifacts/hot-nimbus-pps_v1.0.env | 11 + .../artifacts/hot-nimbus-pps_v1.0.yaml | 121 + .../artifacts/hot-nimbus-psm_v1.0.env | 10 + .../artifacts/hot-nimbus-psm_v1.0.yaml | 199 ++ .../artifacts/hot-nimbus-swift-container_v1.0.env | 3 + .../artifacts/hot-nimbus-swift-container_v1.0.yaml | 30 + .../simpleNotif-V4/artifacts/mount_iso_script.sh | 34 + .../simpleNotif-V4/artifacts/nested-oam_v1.0.yaml | 156 + .../simpleNotif-V4/artifacts/nested-pcm_v1.0.yaml | 150 + .../simpleNotif-V4/artifacts/nested-ppd_v1.0.yaml | 333 ++ .../simpleNotif-V4/artifacts/nested-pps_v1.0.yaml | 99 + .../simpleNotif-V4/artifacts/nested-psm_v1.0.yaml | 99 + .../artifacts/vnf-module-artifact.json | 17 + .../asdc/simpleNotif-V4/notif-structure.json | 116 + .../att_nimbus_vsaegw_ht_base_v13_0728v1.yaml | 3374 ++++++++++++++++++++ .../asdc/simpleNotif-V5/artifacts/cloud-nimbus.sh | 12 + .../artifacts/hot-nimbus-oam-volumes_v1.0.env | 6 + .../artifacts/hot-nimbus-oam-volumes_v1.0.yaml | 45 + .../artifacts/hot-nimbus-oam_v1.0.env | 18 + .../artifacts/hot-nimbus-oam_v1.0.yaml | 109 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.env | 4 + .../artifacts/hot-nimbus-pcm-volumes_v1.0.yaml | 28 + .../artifacts/hot-nimbus-pcm_v1.0.env | 16 + .../artifacts/hot-nimbus-pcm_v1.0.yaml | 80 + .../artifacts/hot-nimbus-ppd_v1.0.yaml | 286 ++ .../artifacts/hot-nimbus-ppd_v1.1.env | 35 + .../artifacts/hot-nimbus-pps_v1.0.env | 11 + .../artifacts/hot-nimbus-pps_v1.0.yaml | 121 + .../artifacts/hot-nimbus-psm_v1.0.env | 10 + .../artifacts/hot-nimbus-psm_v1.0.yaml | 199 ++ .../artifacts/hot-nimbus-swift-container_v1.0.env | 3 + .../artifacts/hot-nimbus-swift-container_v1.0.yaml | 30 + .../simpleNotif-V5/artifacts/mount_iso_script.sh | 34 + .../simpleNotif-V5/artifacts/nested-oam_v1.0.yaml | 156 + .../simpleNotif-V5/artifacts/nested-pcm_v1.0.yaml | 150 + .../simpleNotif-V5/artifacts/nested-ppd_v1.0.yaml | 333 ++ .../simpleNotif-V5/artifacts/nested-pps_v1.0.yaml | 99 + .../simpleNotif-V5/artifacts/nested-psm_v1.0.yaml | 99 + .../artifacts/vnf-module-artifact.json | 29 + .../asdc/simpleNotif-V5/notif-structure.json | 155 + packages/deliveries/pom.xml | 78 + .../src/main/assembly/mso-config/mso-db.xml | 44 + .../src/main/assembly/war-pack/mso-wars.xml | 114 + packages/docker/pom.xml | 148 + .../src/main/docker/docker-files/Dockerfile.jacoco | 33 + .../docker/docker-files/Dockerfile.mso-arquillian | 99 + .../main/docker/docker-files/Dockerfile.mso-build | 63 + .../docker/docker-files/Dockerfile.mso-chef-final | 102 + .../docker-files/Dockerfile.ubuntu-16.04-update | 22 + .../main/docker/docker-files/Dockerfile.wildfly-10 | 33 + .../main/docker/docker-files/chef-configs/solo.rb | 9 + .../configuration/application-roles.properties | 32 + .../configuration/application-users.properties | 34 + .../configuration/mgmt-groups.properties | 22 + .../configuration/mgmt-users.properties | 27 + .../configuration/standalone-full-ha.xml | 609 ++++ .../jboss-configs/modules/mariadb/main/module.xml | 11 + .../docker/docker-files/scripts/build-and-start.sh | 230 ++ .../main/docker/docker-files/scripts/init-chef.sh | 25 + .../docker-files/scripts/start-jboss-server.sh | 53 + .../src/main/docker/docker-files/settings.xml | 54 + packages/pom.xml | 47 + .../automated-tests/create_mso_db-tests.sql | 37 + .../default/create_mso_db-default.sql | 99 + .../demo-dns/create_mso_db-demo-dns.sql | 85 + .../demo-vfw/create_mso_db-demo-vfw.sql | 73 + .../camunda/mysql_create_camunda_admin.sql | 9 + .../db-sql-scripts/camunda/mysql_engine_7.3.0.sql | 748 +++++ .../camunda/mysql_identity_7.3.0.sql | 50 + .../db-sql-scripts/camunda/mysql_updates_7.3.0.sql | 11 + .../sub-sql-files/catalog_timestamp_mso_db.sql | 14 + .../site_status_updated_timestamp.sql | 1 + .../mariadb/load-sql-files-tests-automation.sh | 24 + 203 files changed, 23985 insertions(+) create mode 100644 packages/arquillian-unit-tests/pom.xml create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/filesearching/LogFileSearching.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/ArquillianPackagerForITCases.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/IntegrationTestsSuite.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/DistributionClientEmulator.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfo.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfoDeserializer.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonNotificationData.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfo.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfoDeserializer.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonVfModuleMetaData.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/logging/LogsCheckerITCase.java create mode 100644 packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/soapui/SoapUiITCase.java create mode 100644 packages/arquillian-unit-tests/src/test/resources/JMeter/MSO-Perf.jmx create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/Healthcheck-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOConfig-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/SoapUI/soapui-settings.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/arquillian.xml create mode 100644 packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf1/mariadb1.cnf create mode 100644 packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf2/mariadb2.cnf create mode 100644 packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf3/mariadb3.cnf create mode 100644 packages/arquillian-unit-tests/src/test/resources/docker/mso/mso-docker.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.1.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/mount_iso_script.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.1.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/mount_iso_script.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.1.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/mount_iso_script.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.1.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/mount_iso_script.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/notif-structure.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/att_nimbus_vsaegw_ht_base_v13_0728v1.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/cloud-nimbus.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.1.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.env create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/mount_iso_script.sh create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-oam_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pcm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-ppd_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pps_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-psm_v1.0.yaml create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/vnf-module-artifact.json create mode 100644 packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/notif-structure.json create mode 100644 packages/deliveries/pom.xml create mode 100644 packages/deliveries/src/main/assembly/mso-config/mso-db.xml create mode 100644 packages/deliveries/src/main/assembly/war-pack/mso-wars.xml create mode 100644 packages/docker/pom.xml create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.jacoco create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.mso-build create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.ubuntu-16.04-update create mode 100644 packages/docker/src/main/docker/docker-files/Dockerfile.wildfly-10 create mode 100644 packages/docker/src/main/docker/docker-files/chef-configs/solo.rb create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-roles.properties create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-users.properties create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-groups.properties create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-users.properties create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/configuration/standalone-full-ha.xml create mode 100644 packages/docker/src/main/docker/docker-files/jboss-configs/modules/mariadb/main/module.xml create mode 100644 packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh create mode 100644 packages/docker/src/main/docker/docker-files/scripts/init-chef.sh create mode 100644 packages/docker/src/main/docker/docker-files/scripts/start-jboss-server.sh create mode 100644 packages/docker/src/main/docker/docker-files/settings.xml create mode 100644 packages/pom.xml create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_create_camunda_admin.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_engine_7.3.0.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_identity_7.3.0.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_updates_7.3.0.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql create mode 100644 packages/root-pack-extras/config-resources/mariadb/load-sql-files-tests-automation.sh (limited to 'packages') diff --git a/packages/arquillian-unit-tests/pom.xml b/packages/arquillian-unit-tests/pom.xml new file mode 100644 index 0000000..012e793 --- /dev/null +++ b/packages/arquillian-unit-tests/pom.xml @@ -0,0 +1,403 @@ + + 4.0.0 + + org.openecomp.mso + packages + 0.0.4-SNAPSHOT + + + org.openecomp.mso.packages + Arquillian Unit Testing on MSO + arquillian-unit-tests + + jar + + + + default-tests + + true + + + **/IntegrationTestsSuite.java + jboss-as + ${project.version} + + + + + + + + + + org.jboss.arquillian + arquillian-bom + 1.1.11.Final + import + pom + + + + org.jboss.spec + jboss-javaee-6.0 + 3.0.2.Final + pom + import + + + + + + + + + + + + + org.jboss.marshalling + jboss-marshalling + 1.3.16.GA + test + + + junit + junit + 4.11 + test + + + + org.jboss.arquillian.junit + arquillian-junit-container + test + + + + + + + org.wildfly.arquillian + wildfly-arquillian-container-remote + 1.1.0.Final + test + + + + org.jboss.remoting + jboss-remoting + 4.0.9.Final + test + + + + org.jboss.logging + jboss-logging + 3.2.1.Final + test + + + + org.jboss.arquillian.protocol + arquillian-protocol-servlet + test + + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-bom + 2.1.0-alpha-1 + runtime + pom + + + + + org.arquillian.cube + arquillian-cube-openshift-parent + 1.0.0.Alpha15 + pom + test + + + org.arquillian.cube + arquillian-cube-docker + 1.0.0.Alpha15 + test + + + + + + + + + + org.hibernate + hibernate-core + 4.2.7.SP1 + test + + + org.hibernate + hibernate-entitymanager + 4.2.7.SP1 + test + + + org.codehaus.jackson + jackson-mapper-asl + 1.9.9 + test + + + javax.validation + validation-api + 1.0.0.GA + test + + + org.jboss.as + jboss-as-ejb3 + 7.2.0.Final + test + + + + + com.smartbear.soapui + soapui + 5.1.0 + jar + test + + + thoughtworks + xstream + + + gnu.cajo + cajo + + + + + + commons-codec + commons-codec + 1.4 + jar + test + + + + org.seleniumhq.selenium + selenium-java + 2.45.0 + test + + + org.seleniumhq.selenium + selenium-firefox-driver + 2.45.0 + test + + + org.seleniumhq.selenium + selenium-server + 2.45.0 + test + + + + org.apache.httpcomponents + httpclient + + + org.apache.httpcomponents + httpcore + + + + org.openecomp.mso + asdc-controller + ${project.version} + test + classes + + + + + + org.mockito + mockito-all + 1.10.19 + test + + + + org.openecomp.sdc + sdc-distribution-client + 1.1.2 + test + + + + org.openecomp.mso + mso-catalog-db + ${project.version} + test + + + + org.apache.jmeter + ApacheJMeter_core + 2.13 + + test + + + commons-math3 + commons-math3 + + + commons-pool2 + commons-pool2 + + + + + + org.apache.jmeter + ApacheJMeter_http + 2.13 + + test + + + commons-math3 + commons-math3 + + + commons-pool2 + commons-pool2 + + + + + + org.apache.jmeter + ApacheJMeter_jdbc + 2.13 + + test + + + commons-math3 + commons-math3 + + + commons-pool2 + commons-pool2 + + + + + + + + + arquillian-tests + + + org.codehaus.groovy.maven + gmaven-plugin + + + generate-resources + + execute + + + + if ( project.properties['docker.host'] != null ) { + project.properties['docker.host.truncated']=project.properties['docker.host'].replaceFirst("^(http://|https://)",""); + int indexPort = project.properties['docker.host.truncated'].indexOf(":"); + project.properties['docker.host.truncated']=project.properties['docker.host.truncated'].substring(0,indexPort); + println 'docker.host.truncated:'+ project.properties['docker.host.truncated']; + } else { + project.properties['docker.host.truncated']="127.0.0.1"; + project.properties['docker.host']="unix:///var/run/docker.sock" + } + + if ( project.properties['mso.project.version'].endsWith("-SNAPSHOT") ) { + project.properties['mso.version']="latest"; + } else { + project.properties['mso.version']=project.properties['mso.project.version']; + } + + + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.16 + + + + + integration-test + verify + + + + + + + ${container-to-start} + ${project.build.directory} + ${docker.host} + ${docker.host.truncated} + ${mso.version} + + ${project.build.directory}/surefire-reports + true + + ${it-suite-to-execute} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + true + + + + + + diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/filesearching/LogFileSearching.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/filesearching/LogFileSearching.java new file mode 100644 index 0000000..2321b3f --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/filesearching/LogFileSearching.java @@ -0,0 +1,112 @@ +package org.openecomp.mso.filesearching; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; +import java.util.NoSuchElementException; +import java.util.Scanner; + +public class LogFileSearching { + + private static PrintWriter writer; + + public static void initFile(String filePath) { + if (writer == null) { + try { + // This is to reopen an existing file + writer = new PrintWriter(new FileOutputStream(filePath,true)); + } catch ( IOException e) { + System.out.println("Exception caught when trying to open the file /tmp/mso-log-checker.log to dump the result"); + e.printStackTrace(); + } + } + } + + public static void closeFile() { + if (writer != null) { + writer.close(); + writer = null; + } + } + + + public static boolean searchInFile(final String needle, final File file) throws FileNotFoundException { + Scanner logScanner = new Scanner(file); + try { + writer.println("Searching pattern " + needle + " in " + file.getAbsolutePath()); + //System.out.println("Searching pattern " + needle + " in " + file.getAbsolutePath()); + + String filedata = logScanner.useDelimiter("\\Z").next(); + + int occurrences = 0; + int index = 0; + + while (index < filedata.length() && (index = filedata.indexOf(needle, index)) >= 0) { + occurrences++; + + int separatorIndex = filedata.indexOf(System.getProperty("line.separator"), index); + if (separatorIndex >=0){ + writer.println("FOUND:" + filedata.substring(index, separatorIndex)); + //System.out.println("FOUND:" + // + filedata.substring(index, separatorIndex)); + } else { + writer.println("FOUND:" + filedata.substring(index, filedata.length()-1)); + //System.out.println("FOUND:" + // + filedata.substring(index, filedata.length()-1)); + } + index += needle.length(); + } + writer.println("TOTAL:" + occurrences + " FOUND"); + //System.out.println("TOTAL:" + occurrences + " FOUND"); + if (occurrences > 0) { + + return true; + } else { + + return false; + } + } catch (NoSuchElementException e) { + writer.println("TOTAL:0 FOUND"); + //System.out.println("TOTAL:0 FOUND"); + return false; + } finally { + logScanner.close(); + } + } + + public static boolean searchInDirectory(final String needle, final File directory) throws FileNotFoundException { + + boolean res = false; + String[] dirFiles = directory.list(); + + if (dirFiles != null) { + + for (String dir : dirFiles) { + res = res || searchInDirectory(needle, new File(directory.getAbsolutePath() + "/" + dir)); + } + + } else { + return LogFileSearching.searchInFile(needle, directory); + } + return res; + } + + public static boolean searchInDirectoryForCommonIssues(final String[] needles, final File directory) throws FileNotFoundException { + String[] defaultPatternsToUse = {"ClassNotFound","NullPointer","RuntimeException","IllegalStateException","FATAL"}; + + if (needles != null && needles.length>0) { + defaultPatternsToUse=needles; + } + + boolean returnValue=false; + for (String needle:defaultPatternsToUse) { + returnValue |= LogFileSearching.searchInDirectory(needle,directory); + } + + return returnValue; + } +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/ArquillianPackagerForITCases.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/ArquillianPackagerForITCases.java new file mode 100644 index 0000000..9b80d25 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/ArquillianPackagerForITCases.java @@ -0,0 +1,57 @@ +package org.openecomp.mso.global_tests; + +import java.io.File; +import java.io.IOException; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Iterator; + +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; + +public class ArquillianPackagerForITCases { + + public static Archive createPackageFromExistingOne(String path, String globPattern, String newPackageName) { + Path dir = Paths.get(path); + + try (DirectoryStream stream = Files.newDirectoryStream(dir, globPattern)) { + Iterator it = stream.iterator(); + if (it.hasNext()) { + + if (newPackageName.endsWith(".war")) { + File archive = it.next().toFile(); + WebArchive webArchive = ShrinkWrap.create(WebArchive.class, newPackageName); + webArchive.merge((ShrinkWrap.createFromZipFile(WebArchive.class, archive))); + return webArchive; + } else if (newPackageName.endsWith(".jar")) { + File archive = it.next().toFile(); + JavaArchive javaArchive = ShrinkWrap.create(JavaArchive.class, newPackageName); + javaArchive.merge((ShrinkWrap.createFromZipFile(JavaArchive.class, archive))); + return javaArchive; + } else if (newPackageName.endsWith(".ear")) { + File archive = it.next().toFile(); + EnterpriseArchive earArchive = ShrinkWrap.create(EnterpriseArchive.class, newPackageName); + earArchive.merge((ShrinkWrap.createFromZipFile(EnterpriseArchive.class, archive))); + return earArchive; + } else { + return null; + } + + } else { + return null; + } + + } catch (IOException e) { + e.printStackTrace(); + return null; + } + + } + + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/IntegrationTestsSuite.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/IntegrationTestsSuite.java new file mode 100644 index 0000000..a1fa04d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/IntegrationTestsSuite.java @@ -0,0 +1,25 @@ +package org.openecomp.mso.global_tests; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +//import org.openecomp.mso.global_tests.appc.AppCAdapterITCase; +import org.openecomp.mso.global_tests.asdc.ASDCITCase; +import org.openecomp.mso.global_tests.logging.LogsCheckerITCase; +import org.openecomp.mso.global_tests.soapui.SoapUiITCase; + + +@RunWith(Suite.class) +@SuiteClasses({ + +// MSOUiITCase.class, +// AppCAdapterITCase.class, + SoapUiITCase.class, + ASDCITCase.class, + LogsCheckerITCase.class + +}) +public class IntegrationTestsSuite { + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java new file mode 100644 index 0000000..47b261a --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java @@ -0,0 +1,497 @@ +package org.openecomp.mso.global_tests.asdc; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.URISyntaxException; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OperateOnDeployment; +import org.jboss.arquillian.container.test.api.Testable; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.AfterClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.openecomp.sdc.api.consumer.IDistributionStatusMessage; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; +import org.openecomp.sdc.utils.DistributionStatusEnum; +import org.openecomp.mso.asdc.client.ASDCConfiguration; +import org.openecomp.mso.asdc.client.ASDCController; +import org.openecomp.mso.asdc.client.exceptions.ASDCControllerException; +import org.openecomp.mso.asdc.client.exceptions.ASDCParametersException; +import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException; +import org.openecomp.mso.db.catalog.CatalogDatabase; +import org.openecomp.mso.db.catalog.beans.HeatEnvironment; +import org.openecomp.mso.db.catalog.beans.HeatFiles; +import org.openecomp.mso.db.catalog.beans.HeatTemplate; +import org.openecomp.mso.db.catalog.beans.Service; +import org.openecomp.mso.db.catalog.beans.VfModule; +import org.openecomp.mso.db.catalog.beans.VnfResource; +import org.openecomp.mso.global_tests.ArquillianPackagerForITCases; +import org.openecomp.mso.global_tests.asdc.notif_emulator.DistributionClientEmulator; +import org.openecomp.mso.global_tests.asdc.notif_emulator.JsonNotificationData; + +@RunWith(Arquillian.class) +public class ASDCITCase { + + /** + * Add the resources in the right folder of a jar + * @param jar The jarArchive + * @param dir The main dir containing things that must be added + * @throws Exception In case of issues with the files + */ + private static void addFiles(JavaArchive jar, File dir,String destFolder) throws Exception { + + if (!dir.isDirectory()) { + throw new Exception("not a directory"); + } + for (File f : dir.listFiles()) { + + + if (f.isFile()) { + jar.addAsResource(f, destFolder + "/" + f.getName()); + } else { + + addFiles(jar, f, destFolder+"/"+f.getName()); + } + } + } + + @Deployment(name="asdc-controller",testable=true) + public static Archive createAsdcControllerWarDeployment () throws Exception { + System.out.println("Deploying ASDC Controller WAR with additional resources on default server"); + + WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war"); + + // Add the current test class + JavaArchive testclasses = ShrinkWrap.create (JavaArchive.class, "testClasses.jar"); + + testclasses.addPackage("org.openecomp.mso.global_tests.asdc.notif_emulator"); + + addFiles(testclasses,new File(Thread.currentThread().getContextClassLoader().getResource("resource-examples/asdc").getFile()),"resource-examples/asdc"); + + System.out.println(testclasses.toString(true)); + warArchive.addAsLibraries(testclasses); + + + + // BE CAREFUL a settings.xml file must be located in ${home.user}/.m2/settings.xml + warArchive.addAsLibraries(Maven.resolver() + .resolve("org.mockito:mockito-all:1.10.19") + .withoutTransitivity () + .asFile ()); + + //warArchive.addPackage("org.openecomp.mso.global_tests.asdc.notif_emulator"); + //addFiles(warArchive,new File(ASDCITCase.class.getClassLoader().getResource("resource-examples").getPath()),"resource-examples"); + + // Take one war randomly to make arquilian happy + Testable.archiveToTest(warArchive); + + + System.out.println(warArchive.toString(true)); + + return warArchive; + } + + @BeforeClass + public static final void waitBeforeStart() throws InterruptedException, + IOException, + URISyntaxException, + NoSuchAlgorithmException { + System.out.println("Executing " + ASDCITCase.class.getName()); + } + + @AfterClass + public static final void waitAfterStart() throws InterruptedException, + IOException, + URISyntaxException, + NoSuchAlgorithmException { + System.out.println("Waiting 60000ms " + ASDCITCase.class.getName()); + Thread.sleep(60000); + } + + /** + * Be careful when using that notification fake structure, the UUID of notif artifacts MUST be different. + * There is a static Map behind the scene. + */ + private JsonNotificationData notifDataWithoutModuleInfo; + private DistributionClientEmulator distribClientWithoutModuleInfo; + + private JsonNotificationData notifDataV1, notifDataV2, notifDataV3, notifDataV4, notifDataV5,notifDataDNS,notifDataVFW; + private DistributionClientEmulator distribClientV1, distribClientV2, distribClientV3, distribClientV4, distribClientV5, distribClientV1ForSameNotif, distribClientDNS,distribClientVFW; + + + @Before + public final void beforeEachTest() throws IOException { + + distribClientV1= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V1"); + distribClientV1ForSameNotif= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V1"); + notifDataV1 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V1"); + + // This is a duplicate in version 2 of the version 1 + distribClientV2= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V2"); + notifDataV2 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V2"); + + distribClientV3= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V3"); + notifDataV3 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V3"); + + // This is a duplicate in version 4 of the version 3 + distribClientV4= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V4"); + notifDataV4 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V4"); + + // This notification is to test the deployment of volume with nested + an artifact not used (should send notification with DEPLOY_ERROR + distribClientV5= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V5"); + notifDataV5 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V5"); + + + distribClientWithoutModuleInfo= new DistributionClientEmulator("/resource-examples/asdc/notif-without-modules-metadata"); + notifDataWithoutModuleInfo = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/notif-without-modules-metadata"); + + + distribClientDNS= new DistributionClientEmulator("/resource-examples/asdc/demo-dns-V1"); + notifDataDNS = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/demo-dns-V1"); + + + distribClientVFW= new DistributionClientEmulator("/resource-examples/asdc/demo-vfw-V1"); + notifDataVFW = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/demo-vfw-V1"); + + + } + + @Test + @OperateOnDeployment("asdc-controller") + public void testNotifWithoutModuleInfo () throws NoSuchAlgorithmException, + IOException, + URISyntaxException, + ArtifactInstallerException, ASDCControllerException, ASDCParametersException { + + + + ASDCController asdcController = new ASDCController("asdc-controller1", distribClientWithoutModuleInfo); + asdcController.initASDC(); + asdcController.treatNotification(notifDataWithoutModuleInfo); + + assertTrue(distribClientWithoutModuleInfo.getDistributionMessageReceived().size() > 0); + + int badDeployment=0; + for (IDistributionStatusMessage message:distribClientWithoutModuleInfo.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + if(message.getStatus().equals(DistributionStatusEnum.DEPLOY_ERROR)) { + badDeployment++; + } + } + assertTrue(badDeployment == 3); + + // Check if something has been recorder in DB, as it should not + CatalogDatabase catalogDB = new CatalogDatabase(); + + HeatTemplate heatTemplate = catalogDB.getHeatTemplate("Whot-nimbus-oam_v1.0.yaml", "1.0", "resourceName-1"); + assertNull(heatTemplate); + } + + private void validateVnfResource(JsonNotificationData inputNotification,List moduleList) { + + CatalogDatabase catalogDB = new CatalogDatabase(); + + + for (IResourceInstance resource:inputNotification.getResources()) { + VnfResource vnfResourceDB = catalogDB.getVnfResource(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName(), inputNotification.getServiceVersion()); + assertNotNull(vnfResourceDB); + + assertTrue(vnfResourceDB.getAsdcUuid().equals(resource.getResourceUUID())); + assertTrue(vnfResourceDB.getDescription().equals(inputNotification.getServiceDescription())); + assertTrue(vnfResourceDB.getModelInvariantUuid().equals(resource.getResourceInvariantUUID())); + assertTrue(vnfResourceDB.getModelVersion().equals(resource.getResourceVersion())); + assertTrue(vnfResourceDB.getOrchestrationMode().equals("HEAT")); + assertTrue(vnfResourceDB.getVersion().equals(inputNotification.getServiceVersion())); + assertTrue(vnfResourceDB.getVnfType().equals(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName())); + assertTrue(vnfResourceDB.getModelCustomizationName().equals(resource.getResourceInstanceName())); + assertTrue(vnfResourceDB.getModelName().equals(resource.getResourceName())); + assertTrue(vnfResourceDB.getServiceModelInvariantUUID().equals(inputNotification.getServiceInvariantUUID())); + + for (IVfModuleMetadata module:moduleList) { + + VfModule vfModuleDB = catalogDB.getVfModuleModelName(module.getVfModuleModelName(),inputNotification.getServiceVersion()); + assertNotNull(vfModuleDB); + assertTrue(module.getVfModuleModelName().equals(vfModuleDB.getModelName())); + + assertTrue((inputNotification.getServiceName()+"/"+resource.getResourceInstanceName()+"::"+vfModuleDB.getModelName()).equals(vfModuleDB.getType())); + assertTrue(vnfResourceDB.getId()!=0); + assertNotNull(vfModuleDB.getVnfResourceId()); + + assertTrue(vnfResourceDB.getId()==vfModuleDB.getVnfResourceId().intValue()); + + for (String artifactUUID:module.getArtifacts()) { + IArtifactInfo artifact = null; + for (IArtifactInfo artifactTemp:resource.getArtifacts()) { + if (artifactTemp.getArtifactUUID().equals(artifactUUID)) { + artifact = artifactTemp; + break; + } + } + assertNotNull(artifact); + + switch (artifact.getArtifactType()) { + case ASDCConfiguration.HEAT: + HeatTemplate heatTemplateDB= catalogDB.getHeatTemplate(vfModuleDB.getTemplateId()); + assertNotNull(heatTemplateDB); + assertTrue(heatTemplateDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(heatTemplateDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatTemplateDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatTemplateDB.getTemplateBody() != null && !heatTemplateDB.getTemplateBody().isEmpty()); + assertTrue(heatTemplateDB.getParameters().size()>0); + + assertTrue(heatTemplateDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(heatTemplateDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(heatTemplateDB.getTimeoutMinutes()== 240); + } + assertTrue(heatTemplateDB.getVersion().equals(artifact.getArtifactVersion())); + + assertFalse(heatTemplateDB.getTemplateBody().contains("file:///")); + break; + case ASDCConfiguration.HEAT_ENV: + + HeatEnvironment heatEnvironmentDB = catalogDB.getHeatEnvironment(artifact.getArtifactName(), artifact.getArtifactVersion(), inputNotification.getServiceName()+"/"+resource.getResourceInstanceName()); + + assertNotNull(heatEnvironmentDB); + assertTrue((vfModuleDB.getVolEnvironmentId() != null && vfModuleDB.getVolEnvironmentId().intValue() == heatEnvironmentDB.getId()) + || (vfModuleDB.getEnvironmentId() != null && vfModuleDB.getEnvironmentId() == heatEnvironmentDB.getId())); + + assertTrue(heatEnvironmentDB.getAsdcResourceName().equals(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName())); + + assertTrue(heatEnvironmentDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatEnvironmentDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatEnvironmentDB.getVersion().equals(artifact.getArtifactVersion())); + assertTrue(heatEnvironmentDB.getName().equals(artifact.getArtifactName())); + assertTrue(heatEnvironmentDB.getEnvironment() != null); + assertFalse(heatEnvironmentDB.getEnvironment().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_NESTED: + Map listNestedDBMainHeat=new HashMap(); + Map listNestedDBVolHeat=new HashMap(); + + if (vfModuleDB.getTemplateId() != null) { + listNestedDBMainHeat = catalogDB.getNestedTemplates(vfModuleDB.getTemplateId()); + } + if (vfModuleDB.getVolTemplateId() != null) { + listNestedDBVolHeat = catalogDB.getNestedTemplates(vfModuleDB.getVolTemplateId()); + } + + assertTrue(listNestedDBMainHeat.size() > 0 || listNestedDBVolHeat.size() > 0); + + + assertTrue(listNestedDBMainHeat.get(artifact.getArtifactName()) != null + || listNestedDBVolHeat.get(artifact.getArtifactName()) != null); + + HeatTemplate rightNestedTemplateDB = catalogDB.getHeatTemplate(artifact.getArtifactName(), artifact.getArtifactVersion(), resource.getResourceName()); + assertNotNull(rightNestedTemplateDB); + assertTrue(catalogDB.getNestedHeatTemplate(vfModuleDB.getTemplateId(), rightNestedTemplateDB.getId()) != null || catalogDB.getNestedHeatTemplate(vfModuleDB.getVolTemplateId(), rightNestedTemplateDB.getId()) != null); + + assertTrue(rightNestedTemplateDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(rightNestedTemplateDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(rightNestedTemplateDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(rightNestedTemplateDB.getTemplateBody() != null && !rightNestedTemplateDB.getTemplateBody().isEmpty()); + assertTrue(rightNestedTemplateDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(rightNestedTemplateDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(rightNestedTemplateDB.getTimeoutMinutes()== 240); + } + assertTrue(rightNestedTemplateDB.getVersion().equals(artifact.getArtifactVersion())); + assertFalse(rightNestedTemplateDB.getTemplateBody().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_VOL: + HeatTemplate heatTemplateVolDB = catalogDB.getHeatTemplate(vfModuleDB.getVolTemplateId()); + assertNotNull(heatTemplateVolDB); + + assertTrue(heatTemplateVolDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(heatTemplateVolDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatTemplateVolDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatTemplateVolDB.getTemplateBody() != null && !heatTemplateVolDB.getTemplateBody().isEmpty()); + assertTrue(heatTemplateVolDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(heatTemplateVolDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(heatTemplateVolDB.getTimeoutMinutes()== 240); + } + assertTrue(heatTemplateVolDB.getVersion().equals(artifact.getArtifactVersion())); + assertFalse(heatTemplateVolDB.getTemplateBody().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_ARTIFACT: + Map heatFilesDB= catalogDB.getHeatFilesForVfModule(vfModuleDB.getId()); + assertTrue(heatFilesDB.size()>0); + HeatFiles rightHeatFilesDB=heatFilesDB.get( artifact.getArtifactName()); + assertNotNull(rightHeatFilesDB); + + assertTrue(rightHeatFilesDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(rightHeatFilesDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(rightHeatFilesDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(rightHeatFilesDB.getFileBody() != null && !rightHeatFilesDB.getFileBody().isEmpty()); + assertTrue(rightHeatFilesDB.getFileName().equals( artifact.getArtifactName())); + assertTrue(rightHeatFilesDB.getVersion().equals(artifact.getArtifactVersion())); + + break; + default: + break; + + } + } + + } + + } + + Service service = catalogDB.getServiceByUUID(inputNotification.getServiceUUID()); + assertNotNull(service); + assertTrue(service.getCreated() !=null && service.getCreated().getTime()>0); + assertTrue(service.getDescription().equals(inputNotification.getServiceDescription())); + assertTrue(service.getId()>0); + assertTrue(service.getModelInvariantUUID().equals(inputNotification.getServiceInvariantUUID())); + assertTrue(service.getServiceName().equals(inputNotification.getServiceName())); + assertTrue(service.getServiceNameVersionId().equals(inputNotification.getServiceUUID())); + assertTrue(service.getVersion().equals(inputNotification.getServiceVersion())); + + } + + @Test + @OperateOnDeployment("asdc-controller") + public void testNotifsDeployment () throws NoSuchAlgorithmException, + IOException, + URISyntaxException, + ArtifactInstallerException, ASDCControllerException, ASDCParametersException { + + + + ASDCController asdcControllerV1 = new ASDCController("asdc-controller1", distribClientV1); + asdcControllerV1.initASDC(); + asdcControllerV1.treatNotification(notifDataV1); + + assertTrue(distribClientV1.getDistributionMessageReceived().size() > 0); + for (IDistributionStatusMessage message:distribClientV1.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV1,distribClientV1.getListVFModuleMetaData()); + + + + // Try again to load the same notif + ASDCController asdcControllerNewNotif = new ASDCController("asdc-controller1", distribClientV1ForSameNotif); + asdcControllerNewNotif.initASDC(); + asdcControllerNewNotif.treatNotification(notifDataV1); + + for (IDistributionStatusMessage message:distribClientV1ForSameNotif.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.ALREADY_DEPLOYED) || message.getStatus().equals(DistributionStatusEnum.ALREADY_DOWNLOADED)); + } + + + // Try again to load same notif but in V2 + ASDCController asdcControllerV2 = new ASDCController("asdc-controller1", distribClientV2); + asdcControllerV2.initASDC(); + asdcControllerV2.treatNotification(notifDataV2); + + for (IDistributionStatusMessage message:distribClientV2.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV2,distribClientV2.getListVFModuleMetaData()); + + + // Try again to load same notif + Script + Volume artifacts and in service V3 + ASDCController asdcControllerV3 = new ASDCController("asdc-controller1", distribClientV3); + asdcControllerV3.initASDC(); + asdcControllerV3.treatNotification(notifDataV3); + + for (IDistributionStatusMessage message:distribClientV3.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV3,distribClientV3.getListVFModuleMetaData()); + + // Try again to load same notif + Script + Volume artifacts and in service V4 + ASDCController asdcControllerV4 = new ASDCController("asdc-controller1", distribClientV4); + asdcControllerV4.initASDC(); + asdcControllerV4.treatNotification(notifDataV4); + + for (IDistributionStatusMessage message:distribClientV4.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV4,distribClientV4.getListVFModuleMetaData()); + + + // Try again with service V5 (Nested template attached to Volume + HEat artifact not used by module), + //this should force the notification DEPLOY_ERROR to be sent for this artifact + ASDCController asdcControllerV5 = new ASDCController("asdc-controller1", distribClientV5); + asdcControllerV5.initASDC(); + asdcControllerV5.treatNotification(notifDataV5); + + for (IDistributionStatusMessage message:distribClientV5.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + if ("cloud-nimbus.sh".equals(message.getArtifactURL())) { + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_ERROR) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } else { + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + } + + this.validateVnfResource(notifDataV5,distribClientV5.getListVFModuleMetaData()); + + + // Try again with demo DNS + ASDCController asdcControllerDNS = new ASDCController("asdc-controller1", distribClientDNS); + asdcControllerDNS.initASDC(); + asdcControllerDNS.treatNotification(notifDataDNS); + + for (IDistributionStatusMessage message:distribClientDNS.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataDNS,distribClientDNS.getListVFModuleMetaData()); + + // Try again with demo VFW + ASDCController asdcControllerVFW = new ASDCController("asdc-controller1", distribClientVFW); + asdcControllerVFW.initASDC(); + asdcControllerVFW.treatNotification(notifDataVFW); + + for (IDistributionStatusMessage message : distribClientVFW.getDistributionMessageReceived()) { + System.out.println("Message received, URL:" + message.getArtifactURL() + ", Value:" + message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) + || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataVFW, distribClientVFW.getListVFModuleMetaData()); + + } +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/DistributionClientEmulator.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/DistributionClientEmulator.java new file mode 100644 index 0000000..f2fabc0 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/DistributionClientEmulator.java @@ -0,0 +1,133 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.io.IOException; +import java.io.InputStream; +import java.util.LinkedList; +import java.util.List; + +import org.apache.commons.io.IOUtils; +import org.codehaus.jackson.JsonParseException; +import org.codehaus.jackson.map.JsonMappingException; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; +import org.openecomp.sdc.api.IDistributionClient; +import org.openecomp.sdc.api.consumer.IConfiguration; +import org.openecomp.sdc.api.consumer.IDistributionStatusMessage; +import org.openecomp.sdc.api.consumer.INotificationCallback; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; +import org.openecomp.sdc.api.results.IDistributionClientDownloadResult; +import org.openecomp.sdc.api.results.IDistributionClientResult; +import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl; +import org.openecomp.sdc.impl.DistributionClientResultImpl; +import org.openecomp.sdc.utils.DistributionActionResultEnum; + +public class DistributionClientEmulator implements IDistributionClient { + + private String resourcePath; + + private List listVFModuleMetaData; + + private List distributionMessageReceived = new LinkedList<>(); + + public DistributionClientEmulator(String notifFolderInResource) { + + resourcePath = notifFolderInResource; + } + + public List getDistributionMessageReceived() { + return distributionMessageReceived; + } + + @Override + public List decodeVfModuleArtifact(byte[] arg0) { + try { + listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference>(){}); + return listVFModuleMetaData; + + } catch (JsonParseException e) { + e.printStackTrace(); + } catch (JsonMappingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public List getListVFModuleMetaData() { + return listVFModuleMetaData; + } + + @Override + public IDistributionClientDownloadResult download (IArtifactInfo arg0) { + + + //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL(); + String filename = arg0.getArtifactURL(); + System.out.println("Emulating the download from resources files:"+filename); + InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath+"/artifacts/"+filename); + + if (inputStream == null) { + System.out.println("InputStream is NULL for:"+filename); + } + try { + return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),IOUtils.toByteArray(inputStream)); + } catch (IOException e) { + + e.printStackTrace(); + } + return null; + } + + @Override + public IConfiguration getConfiguration() { + return null; + } + + @Override + public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) { + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) { + this.distributionMessageReceived.add(arg0); + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) { + this.distributionMessageReceived.add(arg0); + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) { + this.distributionMessageReceived.add(arg0); + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) { + this.distributionMessageReceived.add(arg0); + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult start() { + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + + @Override + public IDistributionClientResult stop() { + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + + } + + @Override + public IDistributionClientResult updateConfiguration(IConfiguration arg0) { + return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name()); + } + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfo.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfo.java new file mode 100644 index 0000000..f37235b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfo.java @@ -0,0 +1,102 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.codehaus.jackson.annotate.JsonAnySetter; +import org.codehaus.jackson.annotate.JsonIgnore; + +import org.openecomp.sdc.api.notification.IArtifactInfo; + +public class JsonArtifactInfo implements IArtifactInfo { + + @JsonIgnore + private Map artifactsMapByUUID = new HashMap<>(); + + @JsonIgnore + private Map attributesMap = new HashMap<>(); + + public JsonArtifactInfo() { + + } + + public synchronized void addArtifactToUUIDMap (List artifactList) { + for (JsonArtifactInfo artifact:artifactList) { + artifactsMapByUUID.put(artifact.getArtifactUUID(), artifact); + } + + } + + @SuppressWarnings("unused") + @JsonAnySetter + public final void setAttribute(String attrName, Object attrValue) { + if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) { + this.attributesMap.put(attrName,attrValue); + } + } + + + + public Map getArtifactsMapByUUID() { + return artifactsMapByUUID; + } + + @Override + public String getArtifactChecksum() { + return (String)attributesMap.get("artifactCheckSum"); + } + + @Override + public String getArtifactDescription() { + return (String)attributesMap.get("artifactDescription"); + } + + @Override + public String getArtifactName() { + return (String)attributesMap.get("artifactName"); + } + + @Override + public Integer getArtifactTimeout() { + return (Integer)attributesMap.get("artifactTimeout"); + } + + @Override + public String getArtifactType() { + return (String)attributesMap.get("artifactType"); + } + + @Override + public String getArtifactURL() { + return (String)attributesMap.get("artifactURL"); + } + + @Override + public String getArtifactUUID() { + return (String)attributesMap.get("artifactUUID"); + } + + @Override + public String getArtifactVersion() { + return (String)attributesMap.get("artifactVersion"); + } + + @Override + public IArtifactInfo getGeneratedArtifact () { + return artifactsMapByUUID.get(attributesMap.get("generatedArtifact")); + } + + @Override + public List getRelatedArtifacts() { + List listArtifacts = new LinkedList<>(); + List uuidList = (List)attributesMap.get("relatedArtifact"); + if (uuidList != null) { + for(String uuid:uuidList) { + listArtifacts.add(artifactsMapByUUID.get(uuid)); + } + } + return listArtifacts; + } + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfoDeserializer.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfoDeserializer.java new file mode 100644 index 0000000..6e24acc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfoDeserializer.java @@ -0,0 +1,28 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.io.IOException; +import java.util.List; + +import org.codehaus.jackson.JsonParser; +import org.codehaus.jackson.JsonProcessingException; +import org.codehaus.jackson.map.DeserializationContext; +import org.codehaus.jackson.map.JsonDeserializer; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; + +public class JsonArtifactInfoDeserializer extends JsonDeserializer>{ + + @Override + public List deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + List jsonArtifactInfoList = new ObjectMapper().readValue(jp, new TypeReference>(){}); + + // For each artifact add the list of artifact retrieved + // This could be used later to index by UUID + for (JsonArtifactInfo artifactInfo:jsonArtifactInfoList) { + artifactInfo.addArtifactToUUIDMap(jsonArtifactInfoList); + } + return jsonArtifactInfoList; + } + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonNotificationData.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonNotificationData.java new file mode 100644 index 0000000..02ed01d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonNotificationData.java @@ -0,0 +1,108 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.codehaus.jackson.annotate.JsonAnySetter; +import org.codehaus.jackson.annotate.JsonIgnore; +import org.codehaus.jackson.annotate.JsonProperty; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.map.annotate.JsonDeserialize; +import org.jboss.shrinkwrap.api.exporter.FileExistsException; + +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; + + +public class JsonNotificationData implements INotificationData { + + @JsonIgnore + private Map attributesMap = new HashMap<>(); + + @JsonProperty("serviceArtifacts") + @JsonDeserialize(using=JsonArtifactInfoDeserializer.class) + private List serviceArtifacts; + + @JsonProperty("resources") + @JsonDeserialize(using=JsonResourceInfoDeserializer.class) + private List resourcesList; + + public JsonNotificationData() { + + } + + /** + * Method instantiate a INotificationData implementation from a JSON file. + * + * @param notifFilePath The file path in String + * @return A JsonNotificationData instance + * @throws IOException in case of the file is not readable or not accessible + */ + public static JsonNotificationData instantiateNotifFromJsonFile(String notifFilePath) throws IOException { + + InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(notifFilePath+"/notif-structure.json"); + + if (is == null) { + throw new FileExistsException("Resource Path does not exist: "+notifFilePath); + } + ObjectMapper mapper = new ObjectMapper(); + return mapper.readValue(is, JsonNotificationData.class); + } + + @SuppressWarnings("unused") + @JsonAnySetter + public final void setAttribute(String attrName, Object attrValue) { + if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) { + this.attributesMap.put(attrName,attrValue); + } + } + + @Override + public IArtifactInfo getArtifactMetadataByUUID(String arg0) { + return null; + } + + @Override + public String getDistributionID() { + return (String)this.attributesMap.get("distributionID"); + } + + @Override + public List getResources() { + return resourcesList; + } + + @Override + public List getServiceArtifacts() { + return this.serviceArtifacts; + } + + @Override + public String getServiceDescription() { + return (String)this.attributesMap.get("serviceDescription"); + } + + @Override + public String getServiceInvariantUUID() { + return (String)this.attributesMap.get("serviceInvariantUUID"); + } + + @Override + public String getServiceName() { + return (String)this.attributesMap.get("serviceName"); + } + + @Override + public String getServiceUUID() { + return (String)this.attributesMap.get("serviceUUID"); + } + + @Override + public String getServiceVersion() { + return (String)this.attributesMap.get("serviceVersion"); + } +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfo.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfo.java new file mode 100644 index 0000000..e30bb5f --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfo.java @@ -0,0 +1,70 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.codehaus.jackson.annotate.JsonAnySetter; +import org.codehaus.jackson.annotate.JsonIgnore; +import org.codehaus.jackson.annotate.JsonProperty; +import org.codehaus.jackson.map.annotate.JsonDeserialize; + +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.IResourceInstance; + +public class JsonResourceInfo implements IResourceInstance { + + @JsonIgnore + private Map attributesMap = new HashMap<>(); + + @JsonProperty("artifacts") + @JsonDeserialize(using=JsonArtifactInfoDeserializer.class) + private List artifacts; + + public JsonResourceInfo() { + + } + + @Override + public List getArtifacts() { + return artifacts; + } + + @Override + public String getResourceInstanceName() { + return (String)attributesMap.get("resourceInstanceName"); + } + + @Override + public String getResourceInvariantUUID() { + return (String)attributesMap.get("resourceInvariantUUID"); + } + + @Override + public String getResourceName() { + return (String)attributesMap.get("resourceName"); + } + + @Override + public String getResourceType() { + return (String)attributesMap.get("resourceType"); + } + + @Override + public String getResourceUUID() { + return (String)attributesMap.get("resourceUUID"); + } + + @Override + public String getResourceVersion() { + return (String)attributesMap.get("resourceVersion"); + } + + @SuppressWarnings("unused") + @JsonAnySetter + public final void setAttribute(String attrName, Object attrValue) { + if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) { + this.attributesMap.put(attrName,attrValue); + } + } +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfoDeserializer.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfoDeserializer.java new file mode 100644 index 0000000..5ff92f7 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonResourceInfoDeserializer.java @@ -0,0 +1,23 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.io.IOException; +import java.util.List; + +import org.codehaus.jackson.JsonParser; +import org.codehaus.jackson.JsonProcessingException; +import org.codehaus.jackson.map.DeserializationContext; +import org.codehaus.jackson.map.JsonDeserializer; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; + +public class JsonResourceInfoDeserializer extends JsonDeserializer>{ + + @Override + public List deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + List jsonResourceInfoList = new ObjectMapper().readValue(jp, new TypeReference>(){}); + + return jsonResourceInfoList; + } + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonVfModuleMetaData.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonVfModuleMetaData.java new file mode 100644 index 0000000..dbf953f --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonVfModuleMetaData.java @@ -0,0 +1,63 @@ +package org.openecomp.mso.global_tests.asdc.notif_emulator; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.codehaus.jackson.annotate.JsonAnySetter; +import org.codehaus.jackson.annotate.JsonIgnore; +import org.codehaus.jackson.annotate.JsonProperty; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; + +public class JsonVfModuleMetaData implements IVfModuleMetadata { + + @JsonProperty("artifacts") + private List artifacts; + + @JsonIgnore + private Map attributesMap = new HashMap<>(); + + @Override + public List getArtifacts() { + return artifacts; + } + + @Override + public String getVfModuleModelDescription() { + return (String)attributesMap.get("vfModuleModelDescription"); + } + + @Override + public String getVfModuleModelInvariantUUID() { + return (String)attributesMap.get("vfModuleModelInvariantUUID"); + } + + @Override + public String getVfModuleModelName() { + return (String)attributesMap.get("vfModuleModelName"); + } + + @Override + public String getVfModuleModelUUID() { + return (String)attributesMap.get("vfModuleModelUUID"); + } + + @Override + public String getVfModuleModelVersion() { + return (String)attributesMap.get("vfModuleModelVersion"); + } + + @Override + public boolean isBase() { + return (boolean)attributesMap.get("isBase"); + } + + @SuppressWarnings("unused") + @JsonAnySetter + public final void setAttribute(String attrName, Object attrValue) { + if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) { + this.attributesMap.put(attrName,attrValue); + } + } + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java new file mode 100644 index 0000000..ebbf657 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java @@ -0,0 +1,147 @@ + +package org.openecomp.mso.global_tests.jmeter; + +import java.io.FileInputStream; +import java.io.IOException; +import java.lang.reflect.Method; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; + +import org.apache.jmeter.engine.StandardJMeterEngine; +import org.apache.jmeter.save.SaveService; +import org.apache.jmeter.util.JMeterUtils; +import org.apache.jorphan.collections.HashTree; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.container.test.api.Testable; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.openecomp.mso.global_tests.ArquillianPackagerForITCases; + +@RunWith(Arquillian.class) +public class JMeterITCase { + + @Deployment(name="mso-api-handler-infra",testable=false) + public static Archive createMsoApiHandlerInfraWarDeployment () { + System.out.println("Deploying ApiHandler Infra WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../mso-api-handlers/mso-api-handler-infra/target/", "mso-api-handler-infra*.war", "mso-api-handler-infra.war"); + } + + @Deployment(name="mso-vnf-adapter",testable=false) + public static Archive createMsoVnfAdapterWarDeployment () { + System.out.println("Deploying VNF Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-vnf-adapter/target/", "mso-vnf-adapter*.war", "mso-vnf-adapter.war"); + } + + @Deployment(name="mso-tenant-adapter",testable=false) + public static Archive createMsoTenantAdapterWarDeployment () { + System.out.println("Deploying Tenant Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-tenant-adapter/target/", "mso-tenant-adapter*.war", "mso-tenant-adapter.war"); + } + + @Deployment(name="mso-sdnc-adapter",testable=false) + public static Archive createMsoSdncAdapterWarDeployment () { + System.out.println("Deploying SDNC Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-sdnc-adapter/target/", "mso-sdnc-adapter*.war", "mso-sdnc-adapter.war"); + } + + @Deployment(name="mso-network-adapter",testable=false) + public static Archive createMsoNetworkAdapterWarDeployment () { + System.out.println("Deploying Network Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-network-adapter/target/", "mso-network-adapter*.war", "mso-network-adapter.war"); + } + + @Deployment(name="mso-requests-db-adapter",testable=false) + public static Archive createMsoRequestsDbAdapterWarDeployment () { + System.out.println("Deploying Requests DB Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-requests-db-adapter/target/", "mso-requests-db-adapter*.war", "mso-requests-db-adapter.war"); + } + + @Deployment(name="asdc-controller",testable=true) + public static Archive createAsdcControllerWarDeployment () { + System.out.println("Deploying ASDC Controller WAR with additional resources on default server"); + + WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war"); + + // Add the current test class + JavaArchive testclasses = ShrinkWrap.create (JavaArchive.class, "testClasses.jar"); + testclasses.addClasses(JMeterITCase.class); + + warArchive.addAsLibraries(testclasses); + + // BE CAREFUL a settings.xml file must be located in ${home.user}/.m2/settings.xml + warArchive.addAsLibraries(Maven.resolver() + .resolve("org.mockito:mockito-all:1.10.19") + .withoutTransitivity () + .asFile ()); + + // Take one war randomly to make arquilian happy + + Testable.archiveToTest(warArchive); + + + return warArchive; + } + + + @BeforeClass + public static void waitBeforeStart () throws InterruptedException { + System.out.println ("Executing " + JMeterITCase.class.getName ()); + + } + + @Test + @RunAsClient() + public void testJMeter() throws IOException { + // JMeter Engine + StandardJMeterEngine jmeter = new StandardJMeterEngine(); + + + // Initialize Properties, logging, locale, etc. + JMeterUtils.loadJMeterProperties("/tmp/apache-jmeter-2.13/bin/jmeter.properties"); + JMeterUtils.setJMeterHome("/tmp/apache-jmeter-2.13"); + JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level + JMeterUtils.initLocale(); + + // Initialize JMeter SaveService + SaveService.loadProperties(); + + // Load existing .jmx Test Plan + + FileInputStream in = new FileInputStream("./src/test/resources/JMeter/MSO-Perf.jmx"); + HashTree testPlanTree = SaveService.loadTree(in); + testPlanTree.getTree("test variables"); + in.close(); + + // Run JMeter Test + jmeter.configure(testPlanTree); + jmeter.run(); + } + + @AfterClass + public static void afterArquillianTest() { + try { + Files.move (Paths.get ("./jmeter.log"), + Paths.get ("./target/surefire-reports/jmeter.log"), + StandardCopyOption.REPLACE_EXISTING); + + /* Files.move (Paths.get ("./mso-perf.jtl"), + Paths.get ("./target/surefire-reports/mso-perf.log"), + StandardCopyOption.REPLACE_EXISTING);*/ + + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/logging/LogsCheckerITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/logging/LogsCheckerITCase.java new file mode 100644 index 0000000..68bd222 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/logging/LogsCheckerITCase.java @@ -0,0 +1,88 @@ +package org.openecomp.mso.global_tests.logging; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; + + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OperateOnDeployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.container.test.api.Testable; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.openecomp.mso.filesearching.LogFileSearching; +import org.openecomp.mso.global_tests.ArquillianPackagerForITCases; + +@RunWith(Arquillian.class) +public class LogsCheckerITCase { + + + @BeforeClass + public static void waitBeforeStart () throws InterruptedException { + System.out.println ("Executing " + LogsCheckerITCase.class.getName ()); + + } + + @Deployment(name="log-check",testable=true) + public static Archive createAsdcControllerWarDeployment () throws Exception { + // Any war could be used here, we just take that one randomly + // Be careful some WAR does not work when being injected in JBOSS, probably due to Servlet conflict + System.out.println("Deploying ASDC Controller WAR for log checker"); + WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war"); + + JavaArchive testclasses = ShrinkWrap.create (JavaArchive.class, "testClasses.jar"); + + testclasses.addPackage("org.openecomp.mso.filesearching"); + + warArchive.addAsLibraries(testclasses); + + Testable.archiveToTest(warArchive); + return warArchive; + } + + @Before + public void beforeEachTest() { + LogFileSearching.initFile("/tmp/mso-log-checker.log"); + } + + @After + public void afterEachTest() { + LogFileSearching.closeFile(); + } + + @Test + @OperateOnDeployment("log-check") + public void testJbossServerLog() throws IOException { + + File serverLogs = new File("/opt/jboss/standalone/log"); + //File serverLogs = new File("/tmp/jbosslogs/server.log"); + + assertFalse(LogFileSearching.searchInDirectoryForCommonIssues(null, serverLogs)); + + } + + @Test + @OperateOnDeployment("log-check") + public void testMSOLog() throws IOException { + //File serverLogs = new File("/opt/app/mso/jboss-eap-6.2/standalone/log/server.log"); + File msoLogs = new File("/var/log/ecomp/MSO"); + + assertFalse(LogFileSearching.searchInDirectoryForCommonIssues(null, msoLogs)); + + } + + + + +} diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/soapui/SoapUiITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/soapui/SoapUiITCase.java new file mode 100644 index 0000000..ac730c5 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/soapui/SoapUiITCase.java @@ -0,0 +1,298 @@ + +package org.openecomp.mso.global_tests.soapui; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.Map; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.FixMethodOrder; +import org.junit.runners.MethodSorters; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.openecomp.mso.global_tests.ArquillianPackagerForITCases; +import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStepResult; +import com.eviware.soapui.model.testsuite.TestAssertion; +import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus; +import com.eviware.soapui.tools.SoapUITestCaseRunner; + +@RunWith(Arquillian.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class SoapUiITCase { + + private static String jbossHost=System.getProperty("docker.hostname"); + private static String jbossPort="18080"; + + @Deployment(name="mso-api-handler-infra",testable=false) + public static Archive createMsoApiHandlerInfraWarDeployment () { + System.out.println("Deploying ApiHandler Infra WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../mso-api-handlers/mso-api-handler-infra/target/", "mso-api-handler-infra*.war", "mso-api-handler-infra.war"); + } + + @Deployment(name="mso-vnf-adapter",testable=false) + public static Archive createMsoVnfAdapterWarDeployment () { + System.out.println("Deploying VNF Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-vnf-adapter/target/", "mso-vnf-adapter*.war", "mso-vnf-adapter.war"); + } + + @Deployment(name="mso-tenant-adapter",testable=false) + public static Archive createMsoTenantAdapterWarDeployment () { + System.out.println("Deploying Tenant Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-tenant-adapter/target/", "mso-tenant-adapter*.war", "mso-tenant-adapter.war"); + } + + @Deployment(name="mso-sdnc-adapter",testable=false) + public static Archive createMsoSdncAdapterWarDeployment () { + System.out.println("Deploying SDNC Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-sdnc-adapter/target/", "mso-sdnc-adapter*.war", "mso-sdnc-adapter.war"); + } + + @Deployment(name="mso-network-adapter",testable=false) + public static Archive createMsoNetworkAdapterWarDeployment () { + System.out.println("Deploying Network Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-network-adapter/target/", "mso-network-adapter*.war", "mso-network-adapter.war"); + } + + @Deployment(name="mso-requests-db-adapter",testable=false) + public static Archive createMsoRequestsDbAdapterWarDeployment () { + System.out.println("Deploying Requests DB Adapter WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-requests-db-adapter/target/", "mso-requests-db-adapter*.war", "mso-requests-db-adapter.war"); + } + + @Deployment(name="asdc-controller",testable=true) + public static Archive createAsdcControllerWarDeployment () { + System.out.println("Deploying ASDC Controller WAR with additional resources on default server"); + + WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war"); + + // Take one war randomly to make arquilian happy + + + return warArchive; + } + + @Deployment(name="gammaBPMN",testable=false) + public static Archive createGammaBPMNDeployment () { + System.out.println("Deploying Gamma BPMN WAR on default server"); + return ArquillianPackagerForITCases.createPackageFromExistingOne("../../bpmn/MSOGammaBPMN/target/", "MSOGammaBPMN*.war", "MSOGammaBPMN.war"); + } +/* + @Deployment(name = "SoapUIMocks", testable = false) + public static Archive createSoapUIMocksWarDeployment () { + + File file = new File ("src/test/resources/SoapUIMocks.war"); + + WebArchive archive = ShrinkWrap.create (WebArchive.class, "SoapUIMocks.war"); + + archive.merge ((ShrinkWrap.createFromZipFile (WebArchive.class, file))); + + return archive; + }*/ + + @BeforeClass + public static void waitBeforeStart () throws InterruptedException { + Thread.currentThread().sleep(10000); + System.out.println ("Executing " + SoapUiITCase.class.getName ()); + + } + + @Test + @RunAsClient + public void test01Healthcheck () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/Healthcheck-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[7]; + properties[0] = "apihhost="+jbossHost+":"+jbossPort; + properties[1] = "jrahost="+jbossHost+":"+jbossPort; + properties[2] = "userlogin=sitecontrol"; + properties[3] = "userpassword=Domain2.0!"; + properties[4] = "bpmnhost="+jbossHost+":"+jbossPort; + properties[5] = "sitename=mso-docker"; + properties[6] = "enableBpmn=false"; + runner.setProjectProperties (properties); + + try { + runner.setTestSuite ("Healthcheck TestSuite"); + runner.run (); + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI Healthcheck"); + } + } + + @Test + @RunAsClient + public void test03StartNetworkAdapter () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[1]; + properties[0] = "host="+jbossHost+":"+jbossPort; + runner.setProjectProperties (properties); + + + try { + runner.setTestSuite ("MsoNetworkAdapter TestSuite"); + runner.run (); + + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI NetworkAdapter"); + } + } + + + @Test + @RunAsClient + public void test04StartVnfAdapter () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[1]; + properties[0] = "host="+jbossHost+":"+jbossPort; + runner.setProjectProperties (properties); + + try { + runner.setTestSuite ("MsoVnfAdapter TestSuite"); + runner.run (); + + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI VnfAdapter"); + } + } + + + @Test + @RunAsClient + public void test05StartTenantAdapter () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[3]; + properties[0] = "host="+jbossHost+":"+jbossPort; + properties[1] = "user-bpel=BPELClient"; + properties[2] = "password-bpel=password1$"; + runner.setProjectProperties (properties); + + try { + runner.setTestSuite ("MsoTenantAdapter TestSuite"); + runner.run (); + + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI TenantAdapter"); + } + } + + + @Test + @RunAsClient + public void test06StartRequestDBAdapter () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[3]; + properties[0] = "host="+jbossHost+":"+jbossPort; + properties[1] = "user-infraportal=InfraPortalClient"; + properties[2] = "password-infraportal=password1$"; + runner.setProjectProperties (properties); + + + try { + runner.setTestSuite ("MsoRequestsDbAdapterImplPortBinding TestSuite"); + runner.run (); + + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI RequestDB adapter"); + } + } + + @Test + @RunAsClient + public void test07MsoConfigEndpoints () { + SoapUITestCaseRunner runner = new SoapUITestCaseRunner (); + runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml"); + runner.setJUnitReport(true); + runner.setProjectFile ("./src/test/resources/SoapUI/MSOConfig-soapui-project.xml"); + runner.setOutputFolder ("./target/surefire-reports"); + String[] properties = new String[3]; + properties[0] = "host="+jbossHost+":"+jbossPort; + properties[1] = "user-infraportal=InfraPortalClient"; + properties[2] = "password-infraportal=password1$"; + runner.setProjectProperties (properties); + + + try { + runner.setTestSuite ("test_config_endpoints TestSuite"); + runner.run (); + + Map mapResult= runner.getAssertionResults(); + for(Map.Entry entry : mapResult.entrySet()) { + assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK)); + } + assertTrue (runner.getFailedTests ().size () == 0); + + } catch (Exception e) { + e.printStackTrace (); + fail("Failure in SOAPUI MSOConfig Endpoints"); + } + } +} diff --git a/packages/arquillian-unit-tests/src/test/resources/JMeter/MSO-Perf.jmx b/packages/arquillian-unit-tests/src/test/resources/JMeter/MSO-Perf.jmx new file mode 100644 index 0000000..4d7e95c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/JMeter/MSO-Perf.jmx @@ -0,0 +1,866 @@ + + + + + + false + false + + + + + + + + + + MSO_HOST + localhost + The host/ip where to send the MSO queries + = + + + MSO_PORT + 18080 + The port where to send the mso queries + = + + + USER_CSI + CSIClient + The csi queriy user to use + = + + + PASSWORD_CSI + password1$ + The csi query password to use + = + + + USER_GUI + GUIClient + The gui queriy user to use + = + + + PASSWORD_GUI + password1$ + The gui query password to use + = + + + + + + + + http://${MSO_HOST}:${MSO_PORT}/ecomp/mso/v1/services/ + ${USER_CSI} + ${PASSWORD_CSI} + + + + + http://${MSO_HOST}:${MSO_PORT}/ecomp/mso/v2/services/features/ + ${USER_GUI} + ${PASSWORD_GUI} + + + + + http://${MSO_HOST}:${MSO_PORT}/ecomp/mso/v1/requests/services/ + ${USER_GUI} + ${PASSWORD_GUI} + + + + + http://${MSO_HOST}:${MSO_PORT}/ecomp/mso/v1/requests/services/features + ${USER_GUI} + ${PASSWORD_GUI} + + + + + http://${MSO_HOST}:${MSO_PORT}/ecomp/mso/v1/requests/ + ${USER_GUI} + ${PASSWORD_GUI} + + + + + + + + continue + + false + 1000 + + 1 + 60 + 1448375429000 + 1448375429000 + false + + + + + + 0 + + 1 + REQUEST_ID + + false + + + + 0 + + 1 + SERVICE_ID + + false + + + + 0 + + 1 + FEATURE_ID + + false + + + + true + + + + false + <service-request xmlns="http://ecomp.att.com/mso/request/layer3serviceactivate/schema/v1" xmlns:msolayer3="http://ecomp.att.com/mso/request/layer3/schema/v1" xmlns:msoservtypes="http://ecomp.att.com/mso/request/types/v1"> +<msoservtypes:request-information> +<msoservtypes:request-id>test${REQUEST_ID}-service</msoservtypes:request-id> +<msoservtypes:request-action>Layer3ServiceActivateRequest</msoservtypes:request-action> +<msoservtypes:source>OMX</msoservtypes:source> +<msoservtypes:notification-url>https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws</msoservtypes:notification-url> +<msoservtypes:order-number>5051560</msoservtypes:order-number> +<msoservtypes:order-version>1</msoservtypes:order-version> +</msoservtypes:request-information> +<msoservtypes:service-information> +<msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type> +<msoservtypes:service-instance-id>serv-id${SERVICE_ID}</msoservtypes:service-instance-id> +<msoservtypes:subscriber-name>ST E2E Test50565_13000050565</msoservtypes:subscriber-name> +</msoservtypes:service-information> +<service-parameters> +<msolayer3:l2-homing-information> +<msolayer3:evc-name>AS/VLXM/003717//SW</msolayer3:evc-name> +<msolayer3:topology>MultiPoint</msolayer3:topology> +<msolayer3:preferred-aic-clli>MTSNJA4LCP1</msolayer3:preferred-aic-clli> +</msolayer3:l2-homing-information> +<msolayer3:internet-service-information> +<msolayer3:internet-evc-access-information> +<msolayer3:internet-evc-speed-value>8</msolayer3:internet-evc-speed-value> +<msolayer3:internet-evc-speed-units>Mbps</msolayer3:internet-evc-speed-units> +<msolayer3:ip-version>ds</msolayer3:ip-version> +</msolayer3:internet-evc-access-information> +<msolayer3:vr-lan> +<msolayer3:routing-protocol>none</msolayer3:routing-protocol> +<msolayer3:vr-lan-interface> +<msolayer3:vr-designation>primary</msolayer3:vr-designation> +<msolayer3:v4-vr-lan-prefix>10.172.125.0</msolayer3:v4-vr-lan-prefix> +<msolayer3:v4-vr-lan-prefix-length>28</msolayer3:v4-vr-lan-prefix-length> +<msolayer3:v6-vr-lan-prefix>2001:112a:86c6:0045:1007:8a5d:0412:9179</msolayer3:v6-vr-lan-prefix> +<msolayer3:v6-vr-lan-prefix-length>64</msolayer3:v6-vr-lan-prefix-length> +<msolayer3:v4-public-lan-prefixes> +<msolayer3:t-provided-v4-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v4-lan-public-prefix>18.181.120.12</msolayer3:v4-lan-public-prefix> +<msolayer3:v4-lan-public-prefix-length>28</msolayer3:v4-lan-public-prefix-length> +</msolayer3:t-provided-v4-lan-public-prefixes> +</msolayer3:v4-public-lan-prefixes> +<msolayer3:v6-public-lan-prefixes> +<msolayer3:t-provided-v6-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v6-lan-public-prefix>2022:0cf7:87a6:0048:1008:8a4c:0373:1048</msolayer3:v6-lan-public-prefix> +<msolayer3:v6-lan-public-prefix-length>64</msolayer3:v6-lan-public-prefix-length> +</msolayer3:t-provided-v6-lan-public-prefixes> +</msolayer3:v6-public-lan-prefixes> + +<msolayer3:dhcp> +<msolayer3:v4-dhcp-server-enabled>Y</msolayer3:v4-dhcp-server-enabled> +<msolayer3:v6-dhcp-server-enabled>Y</msolayer3:v6-dhcp-server-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +<msolayer3:use-v6-default-pool>N</msolayer3:use-v6-default-pool> +</msolayer3:dhcp> +<msolayer3:pat> +<msolayer3:v4-pat-enabled>Y</msolayer3:v4-pat-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +</msolayer3:pat> +<msolayer3:firewall-lite> +<msolayer3:stateful-firewall-lite-v4-enabled>Y</msolayer3:stateful-firewall-lite-v4-enabled> +<msolayer3:stateful-firewall-lite-v6-enabled>Y</msolayer3:stateful-firewall-lite-v6-enabled> +</msolayer3:firewall-lite> +</msolayer3:vr-lan-interface> +</msolayer3:vr-lan> +</msolayer3:internet-service-information> +</service-parameters> +</service-request> + = + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/services/ + POST + false + false + true + false + HttpClient4 + false + + + + + + + false + if (prev.getResponseCode().equals("500") == true) { + prev.setResponseOK(); + + /* the same is + prev.setSuccessful(true); + prev.setResponseCodeOK(); + prev.setResponseMessageOK(); + */ +} + + + + + true + + + + false + <feature-request + xmlns="http://ecomp.att.com/mso/request/layer3serviceactivate/schema/v1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:msolayer3="http://ecomp.att.com/mso/request/layer3/schema/v1" + xmlns:msoservtypes="http://ecomp.att.com/mso/request/types/v1"> + <msoservtypes:request-information> + <msoservtypes:request-id>test${REQUEST_ID}-feature</msoservtypes:request-id> + <msoservtypes:request-action>ChangeFeatureActivateRequest</msoservtypes:request-action> + <msoservtypes:source>OMX</msoservtypes:source> + <msoservtypes:notification-url>https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws</msoservtypes:notification-url> + <msoservtypes:order-number>5051560</msoservtypes:order-number> + <msoservtypes:order-version>1</msoservtypes:order-version> + </msoservtypes:request-information> + <msoservtypes:service-information> + <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type> + <msoservtypes:service-instance-id>serv-id${SERVICE_ID}</msoservtypes:service-instance-id> + <msoservtypes:subscriber-name>ST E2E Test50565_13000050565</msoservtypes:subscriber-name> + </msoservtypes:service-information> + <msoservtypes:feature-information> + <msoservtypes:feature-type>FIREWALL-LITE</msoservtypes:feature-type> + <msoservtypes:feature-instance-id>feature-id${FEATURE_ID}</msoservtypes:feature-instance-id> + <msoservtypes:feature-yang-model>ST E2E Test50565_13000050565</msoservtypes:feature-yang-model> + </msoservtypes:feature-information> + </feature-request> + + = + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v2/services/features/ + POST + false + false + true + false + HttpClient4 + false + + + + + + + false + if (prev.getResponseCode().equals("500") == true) { + prev.setResponseOK(); + + /* the same is + prev.setSuccessful(true); + prev.setResponseCodeOK(); + prev.setResponseMessageOK(); + */ +} + + + + + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/requests/test${REQUEST_ID}-service + GET + false + false + true + false + HttpClient4 + false + + + + + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/requests/test${REQUEST_ID}-feature + GET + false + false + true + false + HttpClient4 + false + + + + + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/requests/services/serv-id${SERVICE_ID} + GET + false + false + true + false + HttpClient4 + false + + + + + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/requests/services/features/feature-id${FEATURE_ID} + GET + false + false + true + false + HttpClient4 + false + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + false + false + false + false + false + 0 + true + true + + + + true + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + true + false + false + false + false + false + 0 + true + true + + + /tmp/mso-perf.jtl + true + + + + + continue + + false + 1 + + 1 + 60 + 1448375429000 + 1448375429000 + false + + + + + + 0 + + 1 + SERVICE_ID + + false + + + + true + + + + false + <service-request xmlns="http://ecomp.att.com/mso/request/layer3serviceactivate/schema/v1" xmlns:msolayer3="http://ecomp.att.com/mso/request/layer3/schema/v1" xmlns:msoservtypes="http://ecomp.att.com/mso/request/types/v1"> +<msoservtypes:request-information> +<msoservtypes:request-id>test${SERVICE_ID}-service</msoservtypes:request-id> +<msoservtypes:request-action>Layer3ServiceActivateRequest</msoservtypes:request-action> +<msoservtypes:source>OMX</msoservtypes:source> +<msoservtypes:notification-url>https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws</msoservtypes:notification-url> +<msoservtypes:order-number>5051560</msoservtypes:order-number> +<msoservtypes:order-version>1</msoservtypes:order-version> +</msoservtypes:request-information> +<msoservtypes:service-information> +<msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type> +<msoservtypes:service-instance-id>serv-id0</msoservtypes:service-instance-id> +<msoservtypes:subscriber-name>ST E2E Test50565_13000050565</msoservtypes:subscriber-name> +</msoservtypes:service-information> +<service-parameters> +<msolayer3:l2-homing-information> +<msolayer3:evc-name>AS/VLXM/003717//SW</msolayer3:evc-name> +<msolayer3:topology>MultiPoint</msolayer3:topology> +<msolayer3:preferred-aic-clli>MTSNJA4LCP1</msolayer3:preferred-aic-clli> +</msolayer3:l2-homing-information> +<msolayer3:internet-service-information> +<msolayer3:internet-evc-access-information> +<msolayer3:internet-evc-speed-value>8</msolayer3:internet-evc-speed-value> +<msolayer3:internet-evc-speed-units>Mbps</msolayer3:internet-evc-speed-units> +<msolayer3:ip-version>ds</msolayer3:ip-version> +</msolayer3:internet-evc-access-information> +<msolayer3:vr-lan> +<msolayer3:routing-protocol>none</msolayer3:routing-protocol> +<msolayer3:vr-lan-interface> +<msolayer3:vr-designation>primary</msolayer3:vr-designation> +<msolayer3:v4-vr-lan-prefix>10.172.125.0</msolayer3:v4-vr-lan-prefix> +<msolayer3:v4-vr-lan-prefix-length>28</msolayer3:v4-vr-lan-prefix-length> +<msolayer3:v6-vr-lan-prefix>2001:112a:86c6:0045:1007:8a5d:0412:9179</msolayer3:v6-vr-lan-prefix> +<msolayer3:v6-vr-lan-prefix-length>64</msolayer3:v6-vr-lan-prefix-length> +<msolayer3:v4-public-lan-prefixes> +<msolayer3:t-provided-v4-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v4-lan-public-prefix>18.181.120.12</msolayer3:v4-lan-public-prefix> +<msolayer3:v4-lan-public-prefix-length>28</msolayer3:v4-lan-public-prefix-length> +</msolayer3:t-provided-v4-lan-public-prefixes> +</msolayer3:v4-public-lan-prefixes> +<msolayer3:v6-public-lan-prefixes> +<msolayer3:t-provided-v6-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v6-lan-public-prefix>2022:0cf7:87a6:0048:1008:8a4c:0373:1048</msolayer3:v6-lan-public-prefix> +<msolayer3:v6-lan-public-prefix-length>64</msolayer3:v6-lan-public-prefix-length> +</msolayer3:t-provided-v6-lan-public-prefixes> +</msolayer3:v6-public-lan-prefixes> + +<msolayer3:dhcp> +<msolayer3:v4-dhcp-server-enabled>Y</msolayer3:v4-dhcp-server-enabled> +<msolayer3:v6-dhcp-server-enabled>Y</msolayer3:v6-dhcp-server-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +<msolayer3:use-v6-default-pool>N</msolayer3:use-v6-default-pool> +</msolayer3:dhcp> +<msolayer3:pat> +<msolayer3:v4-pat-enabled>Y</msolayer3:v4-pat-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +</msolayer3:pat> +<msolayer3:firewall-lite> +<msolayer3:stateful-firewall-lite-v4-enabled>Y</msolayer3:stateful-firewall-lite-v4-enabled> +<msolayer3:stateful-firewall-lite-v6-enabled>Y</msolayer3:stateful-firewall-lite-v6-enabled> +</msolayer3:firewall-lite> +</msolayer3:vr-lan-interface> +</msolayer3:vr-lan> +</msolayer3:internet-service-information> +</service-parameters> +</service-request> + = + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/services/ + POST + false + false + true + false + HttpClient4 + false + + + + + true + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + false + false + false + false + false + 0 + true + true + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + false + false + false + false + false + 0 + true + true + + + + + + + + + + + + Select Statement + Store as String + + + + + + + continue + + false + 1 + + 1 + 60 + 1448375429000 + 1448375429000 + false + + + + + + 0 + + 1 + SERVICE_ID + + false + + + + true + + + + false + <service-request xmlns="http://ecomp.att.com/mso/request/layer3serviceactivate/schema/v1" xmlns:msolayer3="http://ecomp.att.com/mso/request/layer3/schema/v1" xmlns:msoservtypes="http://ecomp.att.com/mso/request/types/v1"> +<msoservtypes:request-information> +<msoservtypes:request-id>test${SERVICE_ID}-service</msoservtypes:request-id> +<msoservtypes:request-action>Layer3ServiceActivateRequest</msoservtypes:request-action> +<msoservtypes:source>OMX</msoservtypes:source> +<msoservtypes:notification-url>https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws</msoservtypes:notification-url> +<msoservtypes:order-number>5051560</msoservtypes:order-number> +<msoservtypes:order-version>1</msoservtypes:order-version> +</msoservtypes:request-information> +<msoservtypes:service-information> +<msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type> +<msoservtypes:service-instance-id>serv-id0</msoservtypes:service-instance-id> +<msoservtypes:subscriber-name>ST E2E Test50565_13000050565</msoservtypes:subscriber-name> +</msoservtypes:service-information> +<service-parameters> +<msolayer3:l2-homing-information> +<msolayer3:evc-name>AS/VLXM/003717//SW</msolayer3:evc-name> +<msolayer3:topology>MultiPoint</msolayer3:topology> +<msolayer3:preferred-aic-clli>MTSNJA4LCP1</msolayer3:preferred-aic-clli> +</msolayer3:l2-homing-information> +<msolayer3:internet-service-information> +<msolayer3:internet-evc-access-information> +<msolayer3:internet-evc-speed-value>8</msolayer3:internet-evc-speed-value> +<msolayer3:internet-evc-speed-units>Mbps</msolayer3:internet-evc-speed-units> +<msolayer3:ip-version>ds</msolayer3:ip-version> +</msolayer3:internet-evc-access-information> +<msolayer3:vr-lan> +<msolayer3:routing-protocol>none</msolayer3:routing-protocol> +<msolayer3:vr-lan-interface> +<msolayer3:vr-designation>primary</msolayer3:vr-designation> +<msolayer3:v4-vr-lan-prefix>10.172.125.0</msolayer3:v4-vr-lan-prefix> +<msolayer3:v4-vr-lan-prefix-length>28</msolayer3:v4-vr-lan-prefix-length> +<msolayer3:v6-vr-lan-prefix>2001:112a:86c6:0045:1007:8a5d:0412:9179</msolayer3:v6-vr-lan-prefix> +<msolayer3:v6-vr-lan-prefix-length>64</msolayer3:v6-vr-lan-prefix-length> +<msolayer3:v4-public-lan-prefixes> +<msolayer3:t-provided-v4-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v4-lan-public-prefix>18.181.120.12</msolayer3:v4-lan-public-prefix> +<msolayer3:v4-lan-public-prefix-length>28</msolayer3:v4-lan-public-prefix-length> +</msolayer3:t-provided-v4-lan-public-prefixes> +</msolayer3:v4-public-lan-prefixes> +<msolayer3:v6-public-lan-prefixes> +<msolayer3:t-provided-v6-lan-public-prefixes> +<msolayer3:request-index>1</msolayer3:request-index> +<msolayer3:v6-lan-public-prefix>2022:0cf7:87a6:0048:1008:8a4c:0373:1048</msolayer3:v6-lan-public-prefix> +<msolayer3:v6-lan-public-prefix-length>64</msolayer3:v6-lan-public-prefix-length> +</msolayer3:t-provided-v6-lan-public-prefixes> +</msolayer3:v6-public-lan-prefixes> + +<msolayer3:dhcp> +<msolayer3:v4-dhcp-server-enabled>Y</msolayer3:v4-dhcp-server-enabled> +<msolayer3:v6-dhcp-server-enabled>Y</msolayer3:v6-dhcp-server-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +<msolayer3:use-v6-default-pool>N</msolayer3:use-v6-default-pool> +</msolayer3:dhcp> +<msolayer3:pat> +<msolayer3:v4-pat-enabled>Y</msolayer3:v4-pat-enabled> +<msolayer3:use-v4-default-pool>N</msolayer3:use-v4-default-pool> +</msolayer3:pat> +<msolayer3:firewall-lite> +<msolayer3:stateful-firewall-lite-v4-enabled>Y</msolayer3:stateful-firewall-lite-v4-enabled> +<msolayer3:stateful-firewall-lite-v6-enabled>Y</msolayer3:stateful-firewall-lite-v6-enabled> +</msolayer3:firewall-lite> +</msolayer3:vr-lan-interface> +</msolayer3:vr-lan> +</msolayer3:internet-service-information> +</service-parameters> +</service-request> + = + + + + ${MSO_HOST} + ${MSO_PORT} + 10000 + 30000 + + UTF-8 + /ecomp/mso/v1/services/ + POST + false + false + true + false + HttpClient4 + false + + + + + true + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + false + false + false + false + false + 0 + true + true + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + false + false + false + false + false + 0 + true + true + + + + + + + + + + + + Select Statement + Store as String + + + + + + + + diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/Healthcheck-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/Healthcheck-soapui-project.xml new file mode 100644 index 0000000..4629cd8 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/Healthcheck-soapui-project.xml @@ -0,0 +1,114 @@ + +http://localhost:8080enabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 401 404htmltext/plain200dataapplication/jsontext/plain500datatext/html200html<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}No AuthorizationenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 401htmltext/plain200dataapplication/jsontext/plain500data0data<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}No AuthorizationenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 401 403htmltext/plain200dataapplication/json0data0data<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 401 403htmltext/plain200dataapplication/json0datatext/plain500data<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404 401htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404 401htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404 401htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404 401htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404htmltext/plain200dataapplication/json<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNameenabletrueQUERYtruesiteName${#Project#sitename}TEMPLATE${#Project#sitename}text/html;charset=utf-8405 404 403htmltext/plain200dataapplication/jsontext/plain500data0data<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteNamehttp://localhost:8080enableBpmnQUERY0datatext/html200htmltext/html503html<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/globalhealthcheckNo AuthorizationenableBpmnenableBpmnQUERY0data0data0datatext/html503htmltext/html200html<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/globalhealthcheckNo AuthorizationenableBpmnhttp://${#Project#jrahost}text/html200htmltext/html503html0data0data0data0datatext/html;charset=utf-8500html<xml-fragment/>http://${#Project#jrahost}http://localhost/networks/admin/healthcheckNo Authorizationtext/html200htmltext/html503html<xml-fragment/>truehttp://${#Project#jrahost}http://localhost/adapters/rest/healthcheckNo Authorizationtext/html200htmltext/html503html0datatext/html;charset=utf-8500 404html<xml-fragment/>http://${#Project#jrahost}http://localhost/vnfs/rest/healthcheckNo Authorization0data0datatext/html200htmltext/html503html<xml-fragment/>http://${#Project#jrahost}http://localhost/tenants/admin/healthcheckNo Authorizationtext/html200htmltext/html503html0datatext/html;charset=utf-8404html<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/healthcheckNo Authorizationtext/html200htmltext/html503html0data<xml-fragment/>http://${#Project#apihhost}http://localhost/asdc/healthcheckNo Authorizationnot used in Arquilian as not same repoapplication/jsonapplication/json500 503heal:Faulttext/html;charset=utf-8400 404 405htmlapplication/json200heal:Response0data0data0datatext/html200html<xml-fragment/>http://${#Project#bpmnhost}{"variables":{}}localhost/mso/async/services/HealthCheckNo Authorizationtext/html200htmltext/html503html0data0data0data0data200data200data200data200data0data0data0data0data0data<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/healthcheckNo Authorizationnot used in Arquilian as not same repoapplication/jsonapplication/json500 503heal:Faulttext/html;charset=utf-8400 404htmlapplication/json200heal:Response0data0data0data<xml-fragment/>http://${#Project#bpmnhost}{"variables":{"requestId":{"value":"test","type":"String"}}}localhost/mso/async/services/HealthCheckNo Authorizationhttp://192.168.126.130:8080text/xml;charset=ISO-8859-1200soapenv:Envelopeapplication/xmlsoapenv:Envelopetext/xml;charset=ISO-8859-1500soapenv:Envelopetext/html;charset=utf-8404html<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapterNo Authorizationhttp://localhost:8080text/html200html<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/nodehealthcheckNo Authorizationtext/html200htmltext/html;charset=utf-8401htmltext/html503html<xml-fragment/>http://${#Project#apihhost}http://localhost/adapters/rest/nodehealthcheckNo AuthorizationSEQUENTIAL<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/adapters/rest/nodehealthcheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/nodehealthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/globalhealthcheck200No AuthorizationenableBpmn<xml-fragment/>http://${#Project#jrahost}http://localhost/networks/admin/healthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/healthcheck200No Authorization<xml-fragment/>http://${#Project#bpmnhost}{"variables":{}}localhost/mso/async/services/HealthCheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/nodehealthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/globalhealthcheck200No AuthorizationenableBpmn<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/globalhealthcheck200No AuthorizationenableBpmn<xml-fragment/>http://${#Project#jrahost}http://localhost/networks/admin/healthcheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/healthcheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/vnfs/admin/healthcheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/tenants/admin/healthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/healthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/asdc/healthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}No AuthorizationenablesiteName<xml-fragment/>http://${#Project#apihhost}http://localhost/adapters/rest/nodehealthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/nodehealthcheck503No Authorization<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/globalhealthcheck503No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/healthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/globalhealthcheck503No AuthorizationenableBpmn<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}No AuthorizationenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#bpmnhost}{"variables":{}}localhost/mso/async/services/HealthCheck503No Authorization<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>false</return>falsefalseNo Authorizationhttp://${#Project#jrahost}http://localhost/adapters/rest/globalhealthcheck503No AuthorizationenableBpmnhttp://${#Project#jrahost}http://localhost/networks/admin/healthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/healthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/vnfs/admin/healthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/tenants/admin/healthcheck503No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/ecomp/mso/infra/healthcheck503No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/asdc/healthcheck503No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/ecomp/mso/infra/setStatus200${#Project#userlogin}${#Project#userpassword}BasicBasicGlobal HTTP SettingsenablesiteName<xml-fragment/>http://${#Project#apihhost} + + + +${#Project#sitename} + + +]]>http://localhost/dbadapters/RequestsDbAdapter<return>true</return>falsefalseNo Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/adapters/rest/nodehealthcheck200No Authorization<xml-fragment/>http://${#Project#jrahost}http://localhost/adapters/rest/globalhealthcheck200No AuthorizationenableBpmnhttp://${#Project#jrahost}http://localhost/tenants/admin/healthcheck200No Authorization<xml-fragment/>http://${#Project#apihhost}http://localhost/asdc/healthcheck200No Authorizationapihhostlocalhost:8080jrahostlocalhost:8080userloginsitecontroluserpasswordDomain2.0!bpmnhostlocalhost:8080sitenamemso-dockerenableBpmn \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml new file mode 100644 index 0000000..ca36eec --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml @@ -0,0 +1,236 @@ + +http://localhost:8080application/xmlv1:service-requesttext/html500htmlapplication/xml500 400 503 404 502 409v1:service-responseapplication/xml202v1:service-responsetext/html;charset=utf-8401 404 403 405 500html0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data<xml-fragment/>http://${#Project#host} + + 3d878a8e-51fa-44aa-8cb5-a56ae9352252 + CREATE + PORTAL + + + yjvnfvmsc + VPE + SDN-ETHERNET-INTERNET + AUSTXAALCP1 + 276b95b6d2b04e2e830c976eb70c9405 + + + +]]>http://localhost/ecomp/mso/v1/services${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsvnf-typeQUERYservice-typeQUERYaic-node-clliQUERYtenant-idQUERYvolume-group-idQUERYvolume-group-nameQUERY*/*200v1:vnf-requeststext/html;charset=utf-8405htmlhttp://localhost:8080No Authorizationvnf-typeservice-typeaic-node-cllitenant-idvolume-group-idvolume-group-namevnf-roleQUERYtext/html;charset=utf-8401 403 404 500html*/*200v1:vnf-types<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-types${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsvnf-rolenetwork-typeQUERYtenant-idQUERYservice-typeQUERYaic-node-clliQUERYtext/html;charset=utf-8401 403 404 500html*/*200v1:vnf-types<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-types${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsnetwork-typetenant-idservice-typeaic-node-clliapplication/xml400 500 409v1:network-requestapplication/json0data0dataapplication/xmlv1:network-requestapplication/xml202v1:network-request<xml-fragment/>http://localhost:8080 + CREATE + init-status-string + 1 + 100 + 999 + PORTAL + + + 84fb3c78-7d4a-4297-9892-c4519fcc0552 + Cricket_OCS_protected_net_0 + vlan + 0 + RDM2WAGPLCP + ccd3946adf8e46ccb516fbb0a35db9e2 + str1234 + + + 0 + + + + 0 + + +]]>No Authorizationtext/html;charset=utf-8401 403 404 500html*/*200v1:vnf-types<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-types${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsrequest-idTEMPLATE*/*200v1:network-request<xml-fragment/>http://localhost:8080No Authorizationrequest-idTEMPLATE*/*200v1:vnf-requesttext/html;charset=utf-8404 400htmlhttp://localhost:8080No AuthorizationtenantIdQUERYvnf-typeQUERY*/*200v1:network-requestapplication/jsonv1:volume-requesttext/html;charset=utf-8401 403htmlapplication/xmlv1:volume-requestapplication/xml400 501v1:volume-requestapplication/xml202v1:volume-request<xml-fragment/>http://localhost:8080 + + + cfbca420-14d5-4e68-ad84-b56715c946f4 + DELETE_VF_MODULE_VOL + PORTAL + + + Nimbus_LU2_PXTC_Svc/PXTC_v5 1 + PXTC_v5::module-1 + true + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + da9e0bdf-7d88-4111-bcad-8b72e3a5e601 + + +]]>${#Project#user-csi}${#Project#user-csi}BasicBasicGlobal HTTP Settingstext/html;charset=utf-8404 405html*/*200v1:volume-requestshttp://localhost:8080No AuthorizationtenantIdvnf-typeSEQUENTIAL<xml-fragment/>http://${#Project#host} + + + 3d878a8e-51fa-44aa-8cb5-a56ae9352262 + CREATE_VF_MODUL + PORTAL + + + f7949288-876d-47c2-9a8c-aed107e7e016 + a9f67f55-7424-43e2-b000-f97663194976 + zrdm3ssdr02 + zrdm3ssdr02_mod_1 + Nimbus_LU2_SSDnoLM_Svc/SSDR_wo_LM_v10 2 + SSDR_wo_LM_v10::module-0 + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + + +]]>http://localhost/ecomp/mso/v1/services400 + +No valid actionfalsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host} + + + 3d878a8e-51fa-44aa-8cb5-a56ae9352262 + CREATE_VF_MODULE + PORTAL + + + f7949288-876d-47c2-9a8c-aed107e7e016 + a9f67f55-7424-43e2-b000-f97663194976 + zrdm3ssdr02 + zrdm3ssdr02_mod_1 + Nimbus_LU2_SSDnoLM_Svc/SSDR_wo_LM_v10 2 + SSDR_wo_LM_v10::module-0 + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + + +]]>http://localhost/ecomp/mso/v1/services202 + <request-status>IN_PROGRESS</request-status>falsefalse<vnf-name>zrdm3ssdr02</vnf-name>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsrequest-idResponsePOST VNF request//*:request-idrequest-idGET VNF Request by requestIDtrue<xml-fragment/>http://${#Project#host} + + + 3d878a8e-51fa-44aa-8cb5-a56ae9352262 + CREATE_VF_MODULE + PORTAL + + + f7949288-876d-47c2-9a8c-aed107e7e016 + a9f67f55-7424-43e2-b000-f97663194976 + zrdm3ssdr02 + zrdm3ssdr02_mod_1 + Nimbus_LU2_SSDnoLM_Svc/SSDR_wo_LM_v10 2 + SSDR_wo_LM_v10::module-0 + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + + +]]>http://localhost/ecomp/mso/v1/services409 +<request-status>FAILED</request-status>falsefalsevnf-id (f7949288-876d-47c2-9a8c-aed107e7e016) is lockedfalsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host} + + + 3d878a8e-51fa-44aa-8cb5-a56ae9352263 + CREATE_VF_MODULE + PORTAL + + + + zrdm3ssdr02 + Nimbus_LU2_SSDnoLM_Svc/SSDR_wo_LM_v10 2 + SSDR_wo_LM_v10::module-0 + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + + +]]>http://localhost/ecomp/mso/v1/services400 +<request-status>FAILED</request-status>falsefalse<status-message>Service request FAILED schema validation.falsefalseNo valid vf-module-name isfalsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host} + + + 3d878a8e-51fa-44aa-8cb5-a56ae9352263 + DELETE_VF_MODULE + PORTAL + + + f7949288-876d-47c2-9a8c-aed107e7e016 + zrdm3ssdr02 + zrdm3ssdr02_mod_1 + Nimbus_LU2_SSDnoLM_Svc/SSDR_wo_LM_v10 2 + SSDR_wo_LM_v10::module-0 + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + a9f67f55-7424-43e2-b000-f97663194976 + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + + +]]>http://localhost/ecomp/mso/v1/services202<request-status>IN_PROGRESS</request-status>falsefalse<vnf-name>zrdm3ssdr02</vnf-name>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/v1/vnf-request/01bef4ef-fa1b-4fd4-b46d-12ada0d4d7e1 <request-status>IN_PROGRESS</request-status>falsefalse200${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings + + +vnf-typeservice-typeaic-node-cllitenantId<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-types200 +<vnf-types xmlns="http://ecomp.att.com/mso/infra/vnf-request/v1"/>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsvnf-role<xml-fragment/>http://${#Project#host} + + + f9d87288-b726-4b23-a207-8eb845a7b8d9 + CREATE + PORTAL + + + Mobisupport-25193-T-Willows2_cor_pcrf_sy_net_1 + CONTRAIL30_BASIC + 868d854d-b145-4929-b476-f0f9dc01d0ab + true + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + e5225256ffcc4e22928a432f2bcee195 + + +]]>http://localhost/ecomp/mso/infra/v1/network-requestIN_PROGRESSfalsefalse202 +<network-name>Mobisupport-25193-T-Willows2_cor_pcrf_sy_net_1</network-name>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host} + + + f9d87288-b726-4b23-a207-8eb845a7b8d9 + CREATE + PORTAL + + + Mobisupport-25193-T-Willows2_cor_pcrf_sy_net_1 + CONTRAIL30_BASIC + 868d854d-b145-4929-b476-f0f9dc01d0ab + true + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + rdm3 + e5225256ffcc4e22928a432f2bcee195 + + +]]>http://localhost/ecomp/mso/infra/v1/network-requestIN_PROGRESSfalsefalse409<network-name>Mobisupport-25193-T-Willows2_cor_pcrf_sy_net_1</network-name>falsefalseis lockedfalsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsrequest-idResponsePOST Network Request CREATE//*:request-idrequest-idGET NEtwork Request by request IDtrue<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-typese5225256ffcc4e22928a432f2bcee195falsefalse200 +${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsnetwork-typetenant-idservice-typeaic-node-clli<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-typesMobisupport-25193-T-Willows2_cor_pcrf_sy_net_1falsefalse200 +${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings + + +network-typetenantIdservice-typeaic-node-clli<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/V1/vnf-types200vlanfalsefalse <description>Cool network</description> +falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host} + + + cfbca420-14d5-4e68-ad84-b56715c946f4 + CREATE_VF_MODULE_VOL + PORTAL + + + test + Nimbus_LU2_PXTC_Svc/PXTC_v5 1 + PXTC_v5::module-1 + true + a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb + test + rdm3 + eecd15e8e7ee46c3bbc2096f0924f4c4 + da9e0bdf-7d88-4111-bcad-8b72e3a5e601 + test + + +]]>http://ihoap24.cif.att.com/ecomp/mso/infra/v3/volume-request202 +<request-status>IN_PROGRESS</request-status>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/infra/v3/volume-request<tenant-id>eecd15e8e7ee46c3bbc2096f0924f4c4</tenant-id>falsefalse200 + +${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP SettingstenantIdvnf-typehostihoap24.cif.att.com:18080user-infraportalInfraPortalClientpassword-infraportalpassword1$ \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOConfig-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOConfig-soapui-project.xml new file mode 100644 index 0000000..82c0fae --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOConfig-soapui-project.xml @@ -0,0 +1,3 @@ + +http://localhost:8080text/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP SettingsvaluemsoTEMPLATEmsocryptkey566B754875657232314F5548556D3665TEMPLATE566B754875657232314F5548556D3665text/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsvaluecryptkeytext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP SettingsvaluemsoTEMPLATEmsocryptkey566B754875657232314F5548556D3665TEMPLATE566B754875657232314F5548556D3665text/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsvaluecryptkeytext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingstext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingstext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP SettingspwdTEMPLATEtext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingspwdtext/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP SettingsvaluemsoTEMPLATEmsocryptkey566B754875657232314F5548556D3665TEMPLATE566B754875657232314F5548556D3665text/html;charset=utf-8401 403 500 404html0data0data0data0datatext/plain200data<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP SettingsvaluecryptkeySEQUENTIAL<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showConfig file falsefalse200${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show32221B0E4D30434BAE82C67492419CF8falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsvaluecryptkey<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showConfig file falsefalse200${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show32221B0E4D30434BAE82C67492419CF8falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsvaluecryptkey<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showCloudSite:falsefalseCloud Identity Service:falsefalse200 +${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showClient caches reset. All entries removed.falsefalse${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showClient caches cleaned up. All expired entries removedfalsefalse${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showEncrypted Password = BD658F0271882F8285C0D9EC839C4178falsefalse${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingspwd<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/showConfig file falsefalse200${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settings<xml-fragment/>http://${#Project#host}http://localhost/ecomp/mso/properties/show32221B0E4D30434BAE82C67492419CF8falsefalse${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsvaluecryptkeyhostlocalhost:18080user-infraportalInfraPortalClientpassword-infraportalpassword1$ \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml new file mode 100644 index 0000000..27c7fec --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml @@ -0,0 +1,596 @@ + +file:\C:\Dev\Git\mso-unified\adapters\mso-network-adapter\target\generated-sources\wsdl\NetworkAdapter.wsdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>http://schemas.xmlsoap.org/wsdl/REPLACE_WITH_ACTUAL_URL<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter\r + \r + \r + \r + cloud\r + tenant\r + networkType\r + networkName\r + \r + physicalNetworkName\r + \r + lan1\r + \r + false\r + \r + \r + \r + IntegTests\r + \r + toto\r + \r + \r + \r +]]>No AuthorizationUTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r + \r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + ?\r + ?\r + ?\r + \r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>SEQUENTIALMsoNetworkAdapterImplPortBindingcreateNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter + + + + toto + b0784c65ad104c9ab2df27c1b2e04bd0 + vlan + tete + + + + titi10 + + true + + + + + + requestIdserviceInstanceId + + + +]]>500CloudSite does not exist in MSO ConfigurationfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingcreateNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter + + + + MT + b0784c65ad104c9ab2df27c1b2e04bd0 + vlan + + + + titi10 + + true + + + + + + requestIdserviceInstanceId + + + +]]>500Create Network: Missing parameters: networkNamefalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingcreateNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter + + + + MT + b0784c65ad104c9ab2df27c1b2e04bd0 + tata + + + + titi10 + + true + + + + + + requestIdserviceInstanceId + + + +]]>500<faultstring>CreateNetwork: Unknown Network Type: tata</faultstring>falsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingdeleteNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + + + + ? + ? + ? + ? + + + + ? + + ? + + + +]]>500 +<message>Unknown Network Type: ?</message>falsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingdeleteNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + + + + Jenkins_TEST_Cloud + toto + vlan + + + + ? + + ? + + + +]]>500 +<faultstring>Missing mandatory parameter cloudSiteId, tenantId or networkId</faultstring>falsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindinghealthCheck<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + \r + \r + \r + \r +]]>200BPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingqueryNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + \r + \r + \r + ?\r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>500CloudSite does not exist in MSO ConfigurationfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingrollbackNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + \r + \r + \r + \r + \r + ?\r + \r + \r + \r + 12\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + ?\r + \r + ?\r + ? + \r + ?\r + \r + ?\r + \r + \r + \r + \r + \r +]]>500<message>Rollback Network: Unknown Network Type: ?</message>falsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoNetworkAdapterImplPortBindingupdateNetwork<xml-fragment/>UTF-8http://${#Project#host}/networks/NetworkAdapter\r + \r + \r + \r + ?\r + ?\r + ?\r + ?\r + ?\r + ?\r + \r + \r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>500 CloudSite does not exist in MSO ConfigurationfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP Settingshostlocalhost:18080 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml new file mode 100644 index 0000000..77ef5e0 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml @@ -0,0 +1,422 @@ + +file:\C:\Dev\Git\mso\adapters\mso-tenant-adapter\target\generated-sources\wsdl\TenantAdapter.wsdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>http://schemas.xmlsoap.org/wsdl/REPLACE_WITH_ACTUAL_URLUTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + \r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r + \r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>SEQUENTIALMsoTenantAdapterImplPortBindingcreateTenant<xml-fragment/>UTF-8http://${#Project#host}/tenants/TenantAdapter\r + \r + \r + \r + MT\r + tenant\r + \r + \r + \r + \r + key1\r + \r + value1\r + \r + \r + \r + true\r + \r + \r + \r + req\r + \r + serv\r + \r + \r + \r +]]>Connection refusedfalsefalse${#Project#user-bpel}${#Project#password-bpel}BasicBasicGlobal HTTP SettingsMsoTenantAdapterImplPortBindingdeleteTenant<xml-fragment/>UTF-8http://${#Project#host}/tenants/TenantAdapter\r + \r + \r + \r + MT\r + someTenant\r + \r + \r + \r + reqD\r + \r + servD\r + \r + \r + \r +]]>Connection refusedfalsefalse${#Project#user-bpel}${#Project#password-bpel}BasicBasicGlobal HTTP SettingsMsoTenantAdapterImplPortBindinghealthCheck<xml-fragment/>UTF-8http://${#Project#host}/tenants/TenantAdapter\r + \r + \r + \r + \r +]]>200${#Project#user-bpel}${#Project#password-bpel}BasicBasicGlobal HTTP SettingsMsoTenantAdapterImplPortBindingqueryTenant<xml-fragment/>UTF-8http://${#Project#host}/tenants/TenantAdapter\r + \r + \r + \r + MT\r + notWorkingTenant\r + \r + \r + \r + qReq\r + \r + qServ\r + \r + \r + \r +]]>Connection refusedfalsefalse${#Project#user-bpel}${#Project#password-bpel}BasicBasicGlobal HTTP SettingsMsoTenantAdapterImplPortBindingrollbackTenant<xml-fragment/>UTF-8http://${#Project#host}/tenants/TenantAdapter\r + \r + \r + \r + \r + \r + MT\r + \r + \r + \r + toto\r + \r + tutu\r + \r + true\r + \r + tenantId\r + \r + \r + \r +]]>Connection refusedfalsefalse${#Project#user-bpel}${#Project#password-bpel}BasicBasicGlobal HTTP Settingshostlocalhost:18080user-bpelBPELClientpassword-bpelpassword1$ \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml new file mode 100644 index 0000000..0dc2c62 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml @@ -0,0 +1,623 @@ + +file:\C:\Dev\Git\mso\adapters\mso-vnf-adapter\target\generated-sources\wsdl\VnfAdapter.wsdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>http://schemas.xmlsoap.org/wsdl/REPLACE_WITH_ACTUAL_URL<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + Toto\r + tenant\r + VF\r + \r + 1\r + Turlututu\r + \r + \r + \r + \r + key1\r + \r + value1\r + \r + \r + \r + true\r + \r + \r + \r + reqSoapUI\r + \r + servSoapUI\r + \r + \r + \r +]]>BPELClientpassword1$BasicBasicGlobal HTTP SettingsUTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + \r + \r + ?\r + \r + \r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + ?\r + \r + ?\r + \r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + ?\r + \r + ?\r + ?\r + \r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r + \r + \r + ?\r + \r + ?\r + \r + \r + \r +]]>SEQUENTIALMsoVnfAdapterImplPortBindingcreateVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter + + + + Toto + tenant + VF + + 1 + Turlututu + + + + + key1 + + value1 + + + + true + + + + reqSoapUI + + servSoapUI + + + +]]><message>[CreateVFModule] Cloud Site [Toto] not found</message>falsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindingcreateVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter + + + + MT + tenant + VF + + 1 + + + + + + key1 + + value1 + + + + true + + + + reqSoapUI + + servSoapUI + + + +]]>Connection refusedfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindingdeleteVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + MT\r + tenant\r + name\r + \r + \r + \r + reqSoapUI\r + \r + servSoapUI\r + \r + \r + \r +]]>Connection refusedfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindinghealthCheck<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + \r +]]>200BPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindingqueryVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + MT\r + tt\r + vv\r + \r + \r + \r + req\r + \r + serv\r + \r + \r + \r +]]>Connection refusedfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindingrollbackVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + \r + \r + MT\r + \r + \r + \r + rq\r + \r + sv\r + \r + true\r + \r + tt\r + true\r + \r + vv\r + \r + \r + \r +]]>Connection refusedfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP SettingsMsoVnfAdapterImplPortBindingupdateVnf<xml-fragment/>UTF-8http://${#Project#host}/vnfs/VnfAdapter\r + \r + \r + \r + MT\r + to\r + vo\r + \r + 1\r + name\r + \r + \r + \r + \r + key1\r + \r + val1\r + \r + \r + \r + \r + \r + reqq\r + \r + servv\r + \r + \r + \r +]]>Connection refusedfalsefalseBPELClientpassword1$BasicBasicGlobal HTTP Settingshostlocalhost:18080 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml new file mode 100644 index 0000000..d6d4183 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml @@ -0,0 +1,377 @@ + +file:/RequestsDbAdapter.wsdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>http://schemas.xmlsoap.org/wsdl/REPLACE_WITH_ACTUAL_URLUTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL\r + \r + \r + \r + ?\r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + ?\r + \r + \r +]]>UTF-8REPLACE_WITH_ACTUAL_URL + + + + ? + + +]]>http://localhost:8080application/xmlv1:service-requesttext/html500htmlapplication/xml500 400 503 404 502 409v1:service-responseapplication/xml202v1:service-responsetext/html;charset=utf-8401 404 403 405 500html0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data<xml-fragment/>http://${#Project#host} + + 3d878a8e-51fa-44aa-8cb5-a56ae9352252 + CREATE + PORTAL + + + yjvnfvmsc + VPE + SDN-ETHERNET-INTERNET + AUSTXAALCP1 + 276b95b6d2b04e2e830c976eb70c9405 + + + +]]>http://localhost/ecomp/mso/v1/services${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsrequest-idTEMPLATEapplication/xmlv1:service-requesttext/html500htmlapplication/xml500 400 503 404v1:service-responseapplication/xml202v1:service-responsetext/html;charset=utf-8401 404 403 405 500html0data0data0data0data0data0data0data0data0data0data0data0data0data0data0data*/*200v1:query-response0dataapplication/octet-stream200v1:vnf-request<xml-fragment/>http://${#Project#host} + + 155415ab-b4a7-4382-b4c6-d17d950565 + FeatureChangeActivateRequest + OMX + https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws + 5051560 + 1 + + + SDN-ETHERNET-INTERNET + HI/VLXM/003717//SW_INTERNET + ST E2E Test50565_13000050565 + + + FIREWALL-LITE + HI/VLXM/003717//SW_INTERNET + ST E2E Test50565_13000050565 + + +]]>http://localhost/ecomp/mso/v1/services/feature${#Project#user-csi}${#Project#password-csi}BasicBasicGlobal HTTP Settingsrequest-idSEQUENTIAL<xml-fragment/>http://${#Project#host} + + IntegTestsInfra + CREATE + PORTAL + + + ArqVnf + VPE + SDN-ETHERNET-INTERNET + AUSTXAALCP1 + 276b95b6d2b04e2e830c976eb70c9405 + + + +]]>http://localhost/ecomp/mso/v1/services500,400<request-status>FAILED</request-status>falsefalse${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP SettingsRequestIdResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]RequestupdateInfraRequestdeclare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/'; +declare namespace req='http://com.att.mso/requestsdb'; +//soapenv:Envelope/soapenv:Body/req:updateInfraRequest/requestId +trueToGetResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]request-idGet Infra requesttrueToSoapGetResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]Requestget infra soapdeclare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/'; +declare namespace req='http://com.att.mso/requestsdb'; +//soapenv:Envelope/soapenv:Body/req:getInfraRequest/requestId +trueRequestId2ResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]RequestupdateInfraRequest 2declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/'; +declare namespace req='http://com.att.mso/requestsdb'; +//soapenv:Envelope/soapenv:Body/req:updateInfraRequest/requestId +XPATHXPATHtrueToSoapGet2ResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]Requestget infra soap 2declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/'; +declare namespace req='http://com.att.mso/requestsdb'; +//soapenv:Envelope/soapenv:Body/req:getInfraRequest/requestId +XPATHXPATHtrueRequestId statusResponsePOST VNF infra request - NO BPELdeclare namespace vnf='http://ecomp.att.com/mso/infra/vnf-request/v1'; +//vnf:vnf-request[1]/vnf:request-info[1]/vnf:request-id[1]RequestupdateInfraRequest statusdeclare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/'; +declare namespace req='http://com.att.mso/requestsdb'; +//soapenv:Envelope/soapenv:Body/req:updateInfraRequest/requestId +XPATHXPATHtrueMsoRequestsDbAdapterImplPortBindingupdateInfraRequest<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter + + + + 22ae9257-022b-4050-8b31-998034cc49a8 + Arq + IN_PROGRESS + + +]]>200No AuthorizationMsoRequestsDbAdapterImplPortBindingupdateInfraRequest<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter + + + + 22ae9257-022b-4050-8b31-998034cc49a8 + Arq + COMPLETE + + +]]>200No Authorization<xml-fragment/>http://${#Project#host} + + 155415ab-b4a7-4382-b4c6-d17d950565 + FeatureChangeActivateRequest + OMX + https://csi-tst-q22.it.att.com:22443/Services/com/cingular/csi/sdn/SendManagedNetworkStatusNotification.jws + 5051560 + 1 + + + SDN-ETHERNET-INTERNET + HI/VLXM/003717//SW_INTERNET + ST E2E Test50565_13000050565 + + + FIREWALL-LITE + HI/VLXM/003717//SW_INTERNET + ST E2E Test50565_13000050565 + + +]]>http://localhost/ecomp/mso/v1/services/feature200<request-status>COMPLETE</request-status>falsefalse(?s).*<request-id>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}<\/request-id>(?s).*falsetrue${#Project#user-infraportal}${#Project#password-infraportal}BasicBasicGlobal HTTP Settingsrequest-idMsoRequestsDbAdapterImplPortBindinggetInfraRequest<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter + + + + 22ae9257-022b-4050-8b31-998034cc49a8 + + +]]><lastModifiedBy>Arq</lastModifiedBy>falsefalseNo AuthorizationMsoRequestsDbAdapterImplPortBindingupdateInfraRequest<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter + + + + 22ae9257-022b-4050-8b31-998034cc49a8 + Arq + + newStatus + + body + + status + + 98 + + OneSmallStepForMan + + +]]>200No AuthorizationMsoRequestsDbAdapterImplPortBindinggetInfraRequest<xml-fragment/>UTF-8http://${#Project#host}/dbadapters/RequestsDbAdapter + + + + 22ae9257-022b-4050-8b31-998034cc49a8 + + +]]><lastModifiedBy>Arq</lastModifiedBy>falsefalseNo Authorizationhostlocalhost:18080user-infraportalInfraPortalClientpassword-infraportalpassword1$ \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/SoapUI/soapui-settings.xml b/packages/arquillian-unit-tests/src/test/resources/SoapUI/soapui-settings.xml new file mode 100644 index 0000000..2c03cdc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/SoapUI/soapui-settings.xml @@ -0,0 +1,4 @@ + +<con:entry xmlns:con="http://eviware.com/soapui/config">schema@http://www.w3.org/2001/XMLSchema</con:entry>true1.12000truetruetruetruetruetruetruetrue60truetruetruetruetrue0truetruetruetruetruefalse/usr/share/SoapUI-5.2.1/wsi-test-toolstrue5.2<xml-fragment/> + +]]> \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/arquillian.xml b/packages/arquillian-unit-tests/src/test/resources/arquillian.xml new file mode 100644 index 0000000..ea07bc5 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/arquillian.xml @@ -0,0 +1,102 @@ + + + + + + STARTANDSTOP + + + + + 1.23 + + ${docker.url} + CUBE + + mso: + image: ecomp/mso-arquillian:${images.version} + beforeStop: + - copy: + from: /opt/jboss/standalone/log/ + to: ${target.folder}/mso-automated-tests/jboss-logs + - copy: + from: /var/log/ecomp/MSO + to: ${target.folder}/mso-automated-tests/mso-logs + - copy: + from: /tmp/mso-log-checker.log + to: ${target.folder}/mso-automated-tests/ + hostName: mso + await: + strategy: http + match: 'regexp:(.*)Welcome to WildFly 10(.*)' + responseCode: 200 + url: http://dockerHost:18080 + sleepPollingTime: 30 s + iterations: 20 + portBindings: [18080->8080/tcp, 9990/tcp, 9999/tcp] + volumes: [/shared] + binds: + - ${target.folder}/test-classes/docker/mso:/shared + links: + - mariadb:mariadb + - jacoco-shared:jacoco-shared + jacoco-shared: + image: ecomp/jacoco:1.0 + beforeStop: + - copy: + from: /shared/jacoco-it.exec + to: ${target.folder}/mso-automated-tests/ + hostName: jacoco + volumes: [/shared] + binds: + - ${target.folder}/test-classes/docker/mso:/shared:ro + mariadb: + image: mariadb:10.1.11 + beforeStop: + - log: + to: ${target.folder}/mso-automated-tests/db/mariadb.log + follow: false + stdout: true + stderr: true + timestamps: true + exposedPorts: [3306/tcp] + await: + strategy: polling + ports: [3306] + sleepPollingTime: 5 s + iterations: 24 + env: [MYSQL_ROOT_PASSWORD=Etoile19_] + portBindings: [3306/tcp] + hostName: mariadb + volumes: [/etc/mysql/conf.d,/docker-entrypoint-initdb.d] + binds: + - ${target.folder}/test-classes/docker/mariadb/conf1:/etc/mysql/conf.d:ro + - ${target.folder}/../../root-pack-extras/config-resources/mariadb:/docker-entrypoint-initdb.d:ro + + + false + true + true + mso + + + + + + ${docker.hostname} + 9990 + admin + Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + + + ${docker.hostname} + 18080 + + + + + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf1/mariadb1.cnf b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf1/mariadb1.cnf new file mode 100644 index 0000000..0be1bd7 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf1/mariadb1.cnf @@ -0,0 +1,194 @@ +# Example MySQL config file for medium systems. +# +# This is for a system with memory 8G where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +##[client] +##user = root +##port = 3306 +##socket = //opt/app/mysql/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +##performance_schema + +slow_query_log =ON +long_query_time =2 +slow_query_log_file =//var/lib/mysql/slow_query.log +##basedir = //opt/app/mysql/product/mariadb-10.1.11-linux-x86_64 +##datadir = //opt/app/mysql/data +##port = 3306 +##socket = //opt/app/mysql/mysql.sock +skip-external-locking +explicit_defaults_for_timestamp = true +skip-symbolic-links +local-infile = 0 +#ignore_db_dir=lost+found +key_buffer_size = 16M +max_allowed_packet = 4M +table_open_cache = 100 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +max_connections = 500 +lower_case_table_names = 1 +thread_stack = 256K +thread_cache_size = 25 +query_cache_size = 8M +query_cache_type = 0 +query_prealloc_size = 512K +query_cache_limit = 1M + +# Password validation +##plugin-load-add=simple_password_check.so +##simple_password_check_other_characters=0 + +# Audit Log settings +plugin-load-add=server_audit.so +server_audit=FORCE_PLUS_PERMANENT +server_audit_file_path=//var/lib/mysql/audit.log +server_audit_file_rotate_size=50M +server_audit_events=CONNECT,QUERY,TABLE +server_audit_logging=on + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +##log-bin=//var/lib/mysql/mysql-bin + +# binary logging format - mixed recommended +binlog_format=row + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +##innodb_data_home_dir = //opt/app/mysql/data +##innodb_data_file_path = ibdata1:20M:autoextend:max:32G +##innodb_log_group_home_dir = //opt/app/mysql/iblogs +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +innodb_buffer_pool_size = 6380M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +innodb_log_file_size = 150M +innodb_log_files_in_group = 3 +innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_autoextend_increment = 100 +expire_logs_days = 8 +open_files_limit = 2000 +transaction-isolation=READ-COMMITTED +####### Galera parameters ####### +## Galera Provider configuration +wsrep_provider=/usr/lib/galera/libgalera_smm.so +wsrep_provider_options="gcache.size=2G; gcache.page_size=1G" +## Galera Cluster configuration +wsrep_cluster_name="MSO-automated-tests-cluster" +wsrep_cluster_address="gcomm://" +#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3" +##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186" +## Galera Synchronization configuration +wsrep_sst_method=rsync +#wsrep_sst_method=xtrabackup-v2 +#wsrep_sst_auth="sstuser:Mon#2o!6" +## Galera Node configuration +wsrep_node_name="mariadb1" +##wsrep_node_address="192.169.3.184" +wsrep_on=ON +## Status notification +#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify +####### + + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20971520 + +##[mysqlhotcopy] +##interactive-timeout +##[mysqld_safe] +##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1 +##log-error=//opt/app/mysql/log/mysqld.log \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf2/mariadb2.cnf b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf2/mariadb2.cnf new file mode 100644 index 0000000..bf5f9c1 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf2/mariadb2.cnf @@ -0,0 +1,193 @@ +# Example MySQL config file for medium systems. +# +# This is for a system with memory 8G where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +##[client] +##user = root +##port = 3306 +##socket = //opt/app/mysql/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +##performance_schema + +slow_query_log =ON +long_query_time =2 +slow_query_log_file =//var/lib/mysql/slow_query.log +##basedir = //opt/app/mysql/product/mariadb-10.1.11-linux-x86_64 +##datadir = //opt/app/mysql/data +##port = 3306 +##socket = //opt/app/mysql/mysql.sock +skip-external-locking +explicit_defaults_for_timestamp = true +skip-symbolic-links +local-infile = 0 +#ignore_db_dir=lost+found +key_buffer_size = 16M +max_allowed_packet = 4M +table_open_cache = 100 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +max_connections = 500 +lower_case_table_names = 1 +thread_stack = 256K +thread_cache_size = 25 +query_cache_size = 8M +query_cache_type = 0 +query_prealloc_size = 512K +query_cache_limit = 1M + +# Password validation +##plugin-load-add=simple_password_check.so +##simple_password_check_other_characters=0 + +# Audit Log settings +plugin-load-add=server_audit.so +server_audit=FORCE_PLUS_PERMANENT +server_audit_file_path=//var/lib/mysql/audit.log +server_audit_file_rotate_size=50M +server_audit_events=CONNECT,QUERY,TABLE +server_audit_logging=on + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +##log-bin=//var/lib/mysql/mysql-bin + +# binary logging format - mixed recommended +binlog_format=row + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +##innodb_data_home_dir = //opt/app/mysql/data +##innodb_data_file_path = ibdata1:20M:autoextend:max:32G +##innodb_log_group_home_dir = //opt/app/mysql/iblogs +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +innodb_buffer_pool_size = 6380M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +innodb_log_file_size = 150M +innodb_log_files_in_group = 3 +innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_autoextend_increment = 100 +expire_logs_days = 8 +open_files_limit = 2000 +transaction-isolation=READ-COMMITTED +####### Galera parameters ####### +## Galera Provider configuration +wsrep_provider=/usr/lib/galera/libgalera_smm.so +wsrep_provider_options="gcache.size=2G; gcache.page_size=1G" +## Galera Cluster configuration +wsrep_cluster_name="MSO-automated-tests-cluster" +wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3" +##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186" +## Galera Synchronization configuration +wsrep_sst_method=rsync +#wsrep_sst_method=xtrabackup-v2 +#wsrep_sst_auth="sstuser:Mon#2o!6" +## Galera Node configuration +wsrep_node_name="mariadb2" +##wsrep_node_address="192.169.3.184" +wsrep_on=ON +## Status notification +#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify +####### + + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20971520 + +##[mysqlhotcopy] +##interactive-timeout +##[mysqld_safe] +##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1 +##log-error=//opt/app/mysql/log/mysqld.log \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf3/mariadb3.cnf b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf3/mariadb3.cnf new file mode 100644 index 0000000..74f7a31 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/docker/mariadb/conf3/mariadb3.cnf @@ -0,0 +1,193 @@ +# Example MySQL config file for medium systems. +# +# This is for a system with memory 8G where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +##[client] +##user = root +##port = 3306 +##socket = //opt/app/mysql/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +##performance_schema + +slow_query_log =ON +long_query_time =2 +slow_query_log_file =//var/lib/mysql/slow_query.log +##basedir = //opt/app/mysql/product/mariadb-10.1.11-linux-x86_64 +##datadir = //opt/app/mysql/data +##port = 3306 +##socket = //opt/app/mysql/mysql.sock +skip-external-locking +explicit_defaults_for_timestamp = true +skip-symbolic-links +local-infile = 0 +#ignore_db_dir=lost+found +key_buffer_size = 16M +max_allowed_packet = 4M +table_open_cache = 100 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +max_connections = 500 +lower_case_table_names = 1 +thread_stack = 256K +thread_cache_size = 25 +query_cache_size = 8M +query_cache_type = 0 +query_prealloc_size = 512K +query_cache_limit = 1M + +# Password validation +##plugin-load-add=simple_password_check.so +##simple_password_check_other_characters=0 + +# Audit Log settings +plugin-load-add=server_audit.so +server_audit=FORCE_PLUS_PERMANENT +server_audit_file_path=//var/lib/mysql/audit.log +server_audit_file_rotate_size=50M +server_audit_events=CONNECT,QUERY,TABLE +server_audit_logging=on + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +##log-bin=//var/lib/mysql/mysql-bin + +# binary logging format - mixed recommended +binlog_format=row + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +##innodb_data_home_dir = //opt/app/mysql/data +##innodb_data_file_path = ibdata1:20M:autoextend:max:32G +##innodb_log_group_home_dir = //opt/app/mysql/iblogs +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +innodb_buffer_pool_size = 6380M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +innodb_log_file_size = 150M +innodb_log_files_in_group = 3 +innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_autoextend_increment = 100 +expire_logs_days = 8 +open_files_limit = 2000 +transaction-isolation=READ-COMMITTED +####### Galera parameters ####### +## Galera Provider configuration +wsrep_provider=/usr/lib/galera/libgalera_smm.so +wsrep_provider_options="gcache.size=2G; gcache.page_size=1G" +## Galera Cluster configuration +wsrep_cluster_name="MSO-automated-tests-cluster" +wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3" +##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186" +## Galera Synchronization configuration +wsrep_sst_method=rsync +#wsrep_sst_method=xtrabackup-v2 +#wsrep_sst_auth="sstuser:Mon#2o!6" +## Galera Node configuration +wsrep_node_name="mariadb3" +##wsrep_node_address="192.169.3.184" +wsrep_on=ON +## Status notification +#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify +####### + + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20971520 + +##[mysqlhotcopy] +##interactive-timeout +##[mysqld_safe] +##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1 +##log-error=//opt/app/mysql/log/mysqld.log \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/docker/mso/mso-docker.json b/packages/arquillian-unit-tests/src/test/resources/docker/mso/mso-docker.json new file mode 100644 index 0000000..994d17e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/docker/mso/mso-docker.json @@ -0,0 +1,219 @@ +{ + "name": "mso-docker", + "description": "MSO Docker Images", + "chef_type": "environment", + "json_class": "Chef::Environment", + "default_attributes": + { + "mso_config_path": "/etc/mso/config.d/", + + "mso-api-handler-infra-config": + { + "bpelURL": "http://mso:8080", + "bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1", + "camundaURL": "http://mso:8080", + "camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1" + }, + + "asdc-connections": + { + "asdc-controller1": + { + "user": "user", + "consumerGroup": "mso", + "consumerId": "mso", + "environmentName": "PROD", + "asdcAddress": "asdc_hostname1:8443", + "password": "f3895035812addbf115bfaf7d2dc850e", + "pollingInterval": 30, + "pollingTimeout": 30, + "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL", + "activateServerTLSAuth": "false", + "keyStorePassword": "", + "keyStorePath": "" + }, + + "asdc-controller2": + { + "user": "user", + "consumerGroup": "mso", + "consumerId": "mso", + "environmentName": "PROD", + "asdcAddress": "asdc_hostname2:8443", + "password": "f3895035812addbf115bfaf7d2dc850e", + "pollingInterval": 30, + "pollingTimeout": 30, + "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL", + "activateServerTLSAuth": "false", + "keyStorePassword": "", + "keyStorePath": "" + } + }, + + "mso-sdnc-adapter-config": + { + "sdncurls": + [ + "https://localhost:8443/restconf/operations/L3SDN-API:", + "https://localhost:8443/restconf/config/L3SDN-API:", + "https://localhost:8443/restconf/operations/Firewall-API:", + "https://localhost:8443/restconf/config", + "https://localhost:8443/restconf/operations/VNF-API:", + "https://localhost:8443/restconf/operations/NBNC-API:" + ], + + "bpelurl": "http://mso:8080/mso/SDNCAdapterCallbackService", + "myurl": "http://mso:8080/adapters/rest/SDNCNotify", + "sdncauth": "406B2AE613211B6FB52466DE6E1769AC", + "bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1", + "sdncconnecttime": "5000" + }, + + "mso-po-adapter-config": + { + "identity_services": + [ + { + "dcp_clli": "MT_KEYSTONE", + "identity_url": "https://localhost:5000/v2.0", + "mso_id": "userid", + "mso_pass": "password", + "admin_tenant": "service", + "member_role": "admin", + "tenant_metadata": "true", + "identity_server_type": "KEYSTONE", + "identity_authentication_type": "RACKSPACE_APIKEY" + }, + + { + "dcp_clli": "MT_KEYSTONE2", + "identity_url": "https://localhost:5000/v2.0", + "mso_id": "userid", + "mso_pass": "password", + "admin_tenant": "service", + "member_role": "admin", + "tenant_metadata": "true", + "identity_server_type": "KEYSTONE", + "identity_authentication_type": "USERNAME_PASSWORD" + } + ], + + "cloud_sites": + [ + { + "id": "MT", + "aic_version": "2.5", + "lcp_clli": "MT", + "region_id": "lcp_region", + "identity_service_id": "MT_KEYSTONE" + }, + + { + "id": "MT2", + "aic_version": "2.5", + "lcp_clli": "MT2", + "region_id": "lcp_region", + "identity_service_id": "MT_KEYSTONE2" + } + ], + + "vnfbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1", + "checkrequiredparameters": "true", + "nwbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1" + }, + + "mso-bpmn-config": + { + "urnFileSystemLoadingEnabled": "true" + }, + + "mso-bpmn-urn-config": + { + "logDebugAsyncQueryAAICustomer": "false", + "logDebugChangeFeatureActivateV1": "false", + "logDebugChangeLayer3ServiceActivateV1": "false", + "logDebugChangeLayer3ServiceProvV1": "false", + "logDebugLayer3TestAndTurnUpV1": "false", + "logDebugVnfAdapterRollbackV1": "false", + "logDebugVnfAdapterQueryV1": "false", + "logDebugCreateNetworkV1": "false", + "logDebugCreateCinderVolumeV1": "false", + "logDebugDeleteCinderVolumeV1": "false", + "logDebugUpdateCinderVolumeV1": "false", + "logDebugDeleteGenericVNFV1": "false", + "logDebugDisconnectLayer3Service": "false", + "logDebugCompleteMsoProcess": "false", + "logDebugCreateCustomerV1": "false", + "logDebugCreateTenantV1": "false", + "logDebugDeleteNetworkV1": "false", + "logDebugDeleteTenantV1": "false", + "logDebugDeleteVCEV1": "false", + "logDebugGetLayer3ServiceDetailsV1": "false", + "logDebugL3ToHigherLayerAddBonding": "false", + "logDebugL3ToHigherLayerDeleteBonding": "false", + "logDebugLayer3ServiceActivateV1": "false", + "logDebugQueryAAICustomer": "false", + "logDebugQueryTenantInfo": "false", + "logDebugSdncAdapter": "false", + "logDebugVnfAdapterCreateV1": "false", + "logDebugVnfAdapterDeleteV1": "false", + "logDebugRemoveLayer3Service": "false", + "logDebugUpdateNetworkV2": "false", + "logDebugCreateVfModuleVolumeInfraV1": "false", + "logDebugDeleteVfModuleVolumeInfraV1": "false", + "logDebugUpdateVfModuleVolumeInfraV1": "false", + "logDebugCreateServiceInstanceInfra": "false", + "logDebugDeleteServiceInstanceInfra": "false", + "logDebugCreateNetworkInstanceInfra": "false", + "logDebugDeleteNetworkInstanceInfra": "false", + "logDebugUpdateNetworkInstanceInfra": "false", + "aaiEndpoint": "http://mso:8080/aai-emul", + "adaptersCompletemsoprocessEndpoint": "http://mso:8080/CompleteMsoProcess", + "adaptersDbEndpoint": "http://mso:8080/dbadapters/RequestsDbAdapter", + "adaptersSdncEndpoint": "http://mso:8080/adapters/SDNCAdapter", + "adaptersTenantEndpoint": "http://mso:8080/tenants/TenantAdapter", + "workflowSdncadapterCallback": "http://mso:8080/mso/SDNCAdapterCallbackService", + "msoKey": "07a7159d3bf51a0e53be7a8f89699be7", + "adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74", + "sdncTimeout": "PT5M", + "rollback": "true", + "adaptersNetworkEndpoint": "http://mso:8080/networks/NetworkAdapter", + "adaptersNetworkRestEndpoint": "http://mso:8080/networks/rest/v1/networks", + "adaptersVnfAsyncEndpoint": "http://mso/vnfs/VnfAdapterAsync", + "workflowVnfAdapterDeleteCallback": "http://mso:8080/mso/vnfAdapterNotify", + "workflowVnfAdapterCreateCallback": "http://mso:8080/mso/vnfAdapterNotify", + "adaptersVnfRestEndpoint": "http://mso:8080/vnfs/rest/v1/vnfs", + "workflowVnfAdapterRestCallback": "http://mso:8080/mso/vnfAdapterRestNotify", + "poTimeout": "PT5M", + "sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui", + "sdncFirewallYangModelVersion": "2015-05-15", + "sdncTimeoutFirewall": "20", + "callbackRetryAttempts": "30", + "callbackRetrySleepTime": "1000", + "workflowDefaultAAINetworkGenericVnfUri": "/aai/v8/network/generic-vnfs/generic-vnf", + "workflowDeleteGenericVNFV1AAINetworkGenericVnfUri": "/aai/v8/network/generic-vnfs/generic-vnf", + "workflowDefaultAAINetworkVpnBindingUri": "/aai/v8/network/vpn-bindings/vpn-binding", + "workflowCreateNetworkV1AAINetworkVpnBindingUri": "", + "workflowDefaultAAINetworkVceUri": "/aai/v8/network/vces/vce", + "workflowDeleteVCEV1AAINetworkVceUri": "", + "workflowDefaultAAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network", + "workflowCreateNetworkV1AAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network", + "workflowDeleteNetworkV1AAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network", + "workflowDefaultAAIBusinessCustomerUri": "/aai/v8/business/customers/customer", + "workflowDefaultAAICloudInfrastructureVolumeGroupUri": "/aai/v8/cloud-infrastructure/volume-groups/volume-group", + "workflowCreateCinderVolumeV1AAICloudInfrastructureVolumeGroupUri": "", + "workflowDefaultAAICloudInfrastructureTenantUri": "/aai/v8/cloud-infrastructure/tenants/tenant", + "workflowDefaultAAISearchGenericQueryUri": "/aai/v8/search/generic-query", + "aaiAuth": "2630606608347B7124C244AB0FE34F6F" + } + }, + + "override_attributes": + { + }, + + "cookbook_versions": + { + "mso-config": "~> 1.0.0" + } +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.env new file mode 100644 index 0000000..b8cb810 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.env @@ -0,0 +1,20 @@ +parameters: + vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + vlb_flavor_name: 4 GB General Purpose v1 + public_net_id: 00000000-0000-0000-0000-000000000000 + vlb_private_net_id: zdfw1lb01_private + ecomp_private_net_id: oam_ecomp + vlb_private_net_cidr: 192.168.10.0/24 + ecomp_private_net_cidr: 192.168.9.0/24 + vlb_private_ip_0: 192.168.10.100 + vlb_private_ip_1: 192.168.20.100 + vdns_private_ip_0: 192.168.10.200 + vdns_private_ip_1: 192.168.9.200 + vlb_name_0: zdfw1lb01lb01 + vdns_name_0: zdfw1lb01dns01 + vnf_id: vLoadBalancer_demo_app + vf_module_id: vLoadBalancer + webserver_ip: 162.242.237.182 + dcae_collector_ip: 192.168.9.1 + key_name: vfw_key + pub_key: INSERT PUBLIC KEY HERE diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.yaml new file mode 100644 index 0000000..089fcee --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/base_vlb.yaml @@ -0,0 +1,188 @@ +heat_template_version: 2013-05-23 + +description: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP + +parameters: + vlb_image_name: + type: string + label: Image name or ID + description: Image to be used for compute instance + vlb_flavor_name: + type: string + label: Flavor + description: Type of instance (flavor) to be used + public_net_id: + type: string + label: Public network name or ID + description: Public network that enables remote connection to VNF + vlb_private_net_id: + type: string + label: vLoadBalancer private network name or ID + description: Private network that connects vLoadBalancer with vDNSs + ecomp_private_net_id: + type: string + label: ECOMP management network name or ID + description: Private network that connects ECOMP component and the VNF + vlb_private_net_cidr: + type: string + label: vLoadBalancer private network CIDR + description: The CIDR of the vLoadBalancer private network + ecomp_private_net_cidr: + type: string + label: ECOMP private network CIDR + description: The CIDR of the protected private network + vlb_private_ip_0: + type: string + label: vLoadBalancer private IP address towards the private network + description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs + vlb_private_ip_1: + type: string + label: vLoadBalancer private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components + vdns_private_ip_0: + type: string + label: vDNS private IP address towards the private network + description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer + vdns_private_ip_1: + type: string + label: vDNS private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vDNS to communicate with ECOMP components + vlb_name_0: + type: string + label: vLoadBalancer name + description: Name of the vLoadBalancer + vdsn_name_0: + type: string + label: vDNS name + description: Name of the vDNS + vnf_id: + type: string + label: VNF ID + description: The VNF ID is provided by ECOMP + vf_module_id: + type: string + label: vFirewall module ID + description: The vLoadBalancer Module ID is provided by ECOMP + webserver_ip: + type: string + label: Webserver IP address + description: IP address of the webserver that hosts the source code and binaries + dcae_collector_ip: + type: string + label: DCAE collector IP address + description: IP address of the DCAE collector + key_name: + type: string + label: Key pair name + description: Public/Private key pair name + pub_key: + type: string + label: Public key + description: Public key to be installed on the compute instance + +resources: + my_keypair: + type: OS::Nova::KeyPair + properties: + name: { get_param: key_name } + public_key: { get_param: pub_key } + save_private_key: false + + vlb_private_network: + type: OS::Neutron::Net + properties: + name: { get_param: vlb_private_net_id } + + vlb_private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: vlb_private_network } + cidr: { get_param: vlb_private_net_cidr } + + vlb_0: + type: OS::Nova::Server + properties: + image: { get_param: vlb_image_name } + flavor: { get_param: vlb_flavor_name } + name: { get_param: vlb_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vlb_private_0_port } + - port: { get_resource: vlb_private_1_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __dcae_collector_ip__ : { get_param: dcae_collector_ip } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + DCAE_COLLECTOR_IP=__dcae_collector_ip__ + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_lb_init.sh + chmod +x v_lb_init.sh + echo $WEBSERVER_IP > config/webserver_ip.txt + echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt + ./v_lb_init.sh + + vlb_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_resource: vlb_private_network } + fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vlb_private_ip_0 }}] + + vlb_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vlb_private_ip_1 }}] + + vdns_0: + type: OS::Nova::Server + properties: + image: { get_param: vlb_image_name } + flavor: { get_param: vlb_flavor_name } + name: { get_param: vdsn_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vdns_private_0_port } + - port: { get_resource: vdns_private_1_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __fw_ipaddr__: { get_param: vlb_private_ip_0 } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + LB_IPADDR=__lb_ipaddr__ + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh + chmod +x v_dns_init.sh + echo $WEBSERVER_IP > config/webserver_ip.txt + echo $LB_IPADDR > config/lb_ipaddr.txt + ./v_dns_init.sh + + vdns_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_resource: vlb_private_network } + fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vdns_private_ip_0 }}] + + vdns_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.env new file mode 100644 index 0000000..15895ac --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.env @@ -0,0 +1,16 @@ +parameters: + vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + vlb_flavor_name: 4 GB General Purpose v1 + public_net_id: 00000000-0000-0000-0000-000000000000 + vlb_private_net_id: zdfw1lb01_private + ecomp_private_net_id: oam_ecomp + vlb_private_ip_0: 192.168.10.100 + vdns_private_ip_0: 192.168.10.200 + vdns_private_ip_1: 192.168.9.200 + vdns_name_0: zdfw1lb01dns01 + vnf_id: vLoadBalancer_demo_app + vf_module_id: vLoadBalancer + webserver_ip: 162.242.237.182 + dcae_collector_ip: 192.168.9.1 + key_name: vfw_key + pub_key: INSERT PUBLIC KEY HERE \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.yaml new file mode 100644 index 0000000..6ec4b0b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/dnsscaling.yaml @@ -0,0 +1,117 @@ +heat_template_version: 2013-05-23 + +description: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario) + +parameters: + vlb_image_name: + type: string + label: Image name or ID + description: Image to be used for compute instance + vlb_flavor_name: + type: string + label: Flavor + description: Type of instance (flavor) to be used + public_net_id: + type: string + label: Public network name or ID + description: Public network that enables remote connection to VNF + vlb_private_net_id: + type: string + label: vLoadBalancer private network name or ID + description: Private network that connects vLoadBalancer with vDNSs + ecomp_private_net_id: + type: string + label: ECOMP management network name or ID + description: Private network that connects ECOMP component and the VNF + vlb_private_ip_0: + type: string + label: vLoadBalancer private IP address towards the private network + description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs + vdns_private_ip_0: + type: string + label: vDNS private IP address towards the private network + description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer + vdns_private_ip_1: + type: string + label: vDNS private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vDNS to communicate with ECOMP components + vdsn_name_0: + type: string + label: vDNS name + description: Name of the vDNS + vnf_id: + type: string + label: VNF ID + description: The VNF ID is provided by ECOMP + vf_module_id: + type: string + label: vFirewall module ID + description: The vLoadBalancer Module ID is provided by ECOMP + webserver_ip: + type: string + label: Webserver IP address + description: IP address of the webserver that hosts the source code and binaries + dcae_collector_ip: + type: string + label: DCAE collector IP address + description: IP address of the DCAE collector + key_name: + type: string + label: Key pair name + description: Public/Private key pair name + pub_key: + type: string + label: Public key + description: Public key to be installed on the compute instance + +resources: + my_keypair: + type: OS::Nova::KeyPair + properties: + name: { get_param: key_name } + public_key: { get_param: pub_key } + save_private_key: false + + vdns_0: + type: OS::Nova::Server + properties: + image: { get_param: vlb_image_name } + flavor: { get_param: vlb_flavor_name } + name: { get_param: vdsn_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vdns_private_0_port } + - port: { get_resource: vdns_private_1_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __fw_ipaddr__: { get_param: vlb_private_ip_0 } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + LB_IPADDR=__lb_ipaddr__ + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh + chmod +x v_dns_init.sh + echo $WEBSERVER_IP > config/webserver_ip.txt + echo $LB_IPADDR > config/lb_ipaddr.txt + ./v_dns_init.sh + + vdns_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_param: vlb_private_net_id } + fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}] + + vdns_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..91e6ac8 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/artifacts/vnf-module-artifact.json @@ -0,0 +1,24 @@ +[ + { + "vfModuleModelName": "VF_RI1_DNS::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID1" + ] + }, + { + "vfModuleModelName": "VF_RI1_DNS::module-2", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f133", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group", + "isBase": false, + "artifacts": [ + "Artifact-UUID2", + "EnvArtifact-UUID2" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/notif-structure.json new file mode 100644 index 0000000..63f32cb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-dns-V1/notif-structure.json @@ -0,0 +1,94 @@ +{ + "serviceName": "dns-service", + "serviceInvariantUUID": "585822c8-4027-4f84-ba50-e9248606f111", + "serviceUUID": "1e34774e-715e-4fd6-bd09-7b654622f35i", + "serviceVersion": "1.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "DNSResource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f112", + "resourceName": "DNSResource", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f131", + "resourceVersion": "1.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID1", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Base VLB Heat", + "artifactName": "base_vlb.yaml", + "artifactTimeout": 300, + "artifactType": "HEAT", + "artifactURL": "base_vlb.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID1", + "relatedArtifact": + [ + + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "BASE VLB ENV file", + "artifactName": "base_vlb.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "base_vlb.env", + "artifactUUID": "EnvArtifact-UUID1", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "DNS Scaling Heat", + "artifactName": "dnsscaling.yaml", + "artifactTimeout": 300, + "artifactType": "HEAT", + "artifactURL": "dnsscaling.yaml", + "artifactUUID": "Artifact-UUID2", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "DNS Scaling ENV file", + "artifactName": "dnsscaling.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "dnsscaling.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + } + + ] + } + ], + + "serviceDescription": "dns service for unit test", + "distributionID": "35120a87-1f83-4276-9735-f6de5a244d61" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.env new file mode 100644 index 0000000..27ccb3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.env @@ -0,0 +1,26 @@ +parameters: + vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + vfw_flavor_name: 4 GB General Purpose v1 + public_net_id: 00000000-0000-0000-0000-000000000000 + unprotected_private_net_id: zdfw1fwl01_unprotected + protected_private_net_id: zdfw1fwl01_protected + ecomp_private_net_id: oam_ecomp + unprotected_private_net_cidr: 192.168.10.0/24 + protected_private_net_cidr: 192.168.20.0/24 + ecomp_private_net_cidr: 192.168.9.0/24 + vfw_private_ip_0: 192.168.10.100 + vfw_private_ip_1: 192.168.20.100 + vfw_private_ip_2: 192.168.9.100 + vpg_private_ip_0: 192.168.10.200 + vpg_private_ip_1: 192.168.9.200 + vsn_private_ip_0: 192.168.20.250 + vsn_private_ip_1: 192.168.9.250 + vfw_name_0: zdfw1fwl01fwl01 + vpg_name_0: zdfw1fwl01pgn01 + vsn_name_0: zdfw1fwl01snk01 + vnf_id: vFirewall_demo_app + vf_module_id: vFirewall + webserver_ip: 162.242.237.182 + dcae_collector_ip: 192.168.9.1 + key_name: vfw_key + pub_key: PUT YOUR PUBLIC KEY HERE diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.yaml new file mode 100644 index 0000000..d4e89ad --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/base_vfw.yaml @@ -0,0 +1,298 @@ +heat_template_version: 2013-05-23 + +description: Heat template to deploy vFirewall demo app for OpenECOMP + +parameters: + vfw_image_name: + type: string + label: Image name or ID + description: Image to be used for compute instance + vfw_flavor_name: + type: string + label: Flavor + description: Type of instance (flavor) to be used + public_net_id: + type: string + label: Public network name or ID + description: Public network that enables remote connection to VNF + unprotected_private_net_id: + type: string + label: Unprotected private network name or ID + description: Private network that connects vPacketGenerator with vFirewall + protected_private_net_id: + type: string + label: Protected private network name or ID + description: Private network that connects vFirewall with vSink + ecomp_private_net_id: + type: string + label: ECOMP management network name or ID + description: Private network that connects ECOMP component and the VNF + unprotected_private_net_cidr: + type: string + label: Unprotected private network CIDR + description: The CIDR of the unprotected private network + protected_private_net_cidr: + type: string + label: Protected private network CIDR + description: The CIDR of the protected private network + ecomp_private_net_cidr: + type: string + label: ECOMP private network CIDR + description: The CIDR of the protected private network + vfw_private_ip_0: + type: string + label: vFirewall private IP address towards the unprotected network + description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator + vfw_private_ip_1: + type: string + label: vFirewall private IP address towards the protected network + description: Private IP address that is assigned to the vFirewall to communicate with the vSink + vfw_private_ip_2: + type: string + label: vFirewall private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components + vpg_private_ip_0: + type: string + label: vPacketGenerator private IP address towards the unprotected network + description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall + vpg_private_ip_1: + type: string + label: vPacketGenerator private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components + vsn_private_ip_0: + type: string + label: vSink private IP address towards the protected network + description: Private IP address that is assigned to the vSink to communicate with the vFirewall + vsn_private_ip_1: + type: string + label: vSink private IP address towards the ECOMP management network + description: Private IP address that is assigned to the vSink to communicate with ECOMP components + vfw_name_0: + type: string + label: vFirewall name + description: Name of the vFirewall + vpg_name_0: + type: string + label: vPacketGenerator name + description: Name of the vPacketGenerator + vsn_name_0: + type: string + label: vSink name + description: Name of the vSink + vnf_id: + type: string + label: VNF ID + description: The VNF ID is provided by ECOMP + vf_module_id: + type: string + label: vFirewall module ID + description: The vFirewall Module ID is provided by ECOMP + webserver_ip: + type: string + label: Webserver IP address + description: IP address of the webserver that hosts the source code and binaries + dcae_collector_ip: + type: string + label: DCAE collector IP address + description: IP address of the DCAE collector + key_name: + type: string + label: Key pair name + description: Public/Private key pair name + pub_key: + type: string + label: Public key + description: Public key to be installed on the compute instance + +resources: + my_keypair: + type: OS::Nova::KeyPair + properties: + name: { get_param: key_name } + public_key: { get_param: pub_key } + save_private_key: false + + unprotected_private_network: + type: OS::Neutron::Net + properties: + name: { get_param: unprotected_private_net_id } + + protected_private_network: + type: OS::Neutron::Net + properties: + name: { get_param: protected_private_net_id } + + unprotected_private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: unprotected_private_network } + cidr: { get_param: unprotected_private_net_cidr } + + protected_private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: protected_private_network } + cidr: { get_param: protected_private_net_cidr } + + vfw_0: + type: OS::Nova::Server + properties: + image: { get_param: vfw_image_name } + flavor: { get_param: vfw_flavor_name } + name: { get_param: vfw_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vfw_private_0_port } + - port: { get_resource: vfw_private_1_port } + - port: { get_resource: vfw_private_2_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __dcae_collector_ip__ : { get_param: dcae_collector_ip } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + DCAE_COLLECTOR_IP=__dcae_collector_ip__ + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh + wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh + chmod +x v_firewall_init.sh + chmod +x vfirewall.sh + echo $WEBSERVER_IP > config/webserver_ip.txt + echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt + echo "no" > config/install.txt + mv vfirewall.sh /etc/init.d + sudo update-rc.d vfirewall.sh defaults + ./v_firewall_init.sh + + vfw_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_resource: unprotected_private_network } + fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}] + + vfw_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_resource: protected_private_network } + fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}] + + vfw_private_2_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vfw_private_ip_2 }}] + + vpg_0: + type: OS::Nova::Server + properties: + image: { get_param: vfw_image_name } + flavor: { get_param: vfw_flavor_name } + name: { get_param: vpg_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vpg_private_0_port } + - port: { get_resource: vpg_private_1_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __fw_ipaddr__: { get_param: vfw_private_ip_0 } + __protected_net_cidr__: { get_param: protected_private_net_cidr } + __sink_ipaddr__: { get_param: vsn_private_ip_0 } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + FW_IPADDR=__fw_ipaddr__ + PROTECTED_NET_CIDR=__protected_net_cidr__ + SINK_IPADDR=__sink_ipaddr__ + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh + wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh + chmod +x v_packetgen_init.sh + chmod +x vpacketgen.sh + echo $WEBSERVER_IP > config/webserver_ip.txt + echo $FW_IPADDR > config/fw_ipaddr.txt + echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt + echo $SINK_IPADDR > config/sink_ipaddr.txt + echo "no" > config/install.txt + mv vpacketgen.sh /etc/init.d + sudo update-rc.d vpacketgen.sh defaults + ./v_packetgen_init.sh + + vpg_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_resource: unprotected_private_network } + fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vpg_private_ip_0 }}] + + vpg_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vpg_private_ip_1 }}] + + vsn_0: + type: OS::Nova::Server + properties: + image: { get_param: vfw_image_name } + flavor: { get_param: vfw_flavor_name } + name: { get_param: vsn_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vsn_private_0_port } + - port: { get_resource: vsn_private_1_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __webserver__: { get_param: webserver_ip } + __protected_net_gw__: { get_param: vfw_private_ip_1 } + __unprotected_net__: { get_param: unprotected_private_net_cidr } + template: | + #!/bin/bash + + WEBSERVER_IP=__webserver__ + PROTECTED_NET_GW=__protected_net_gw__ + UNPROTECTED_NET=__unprotected_net__ + UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d'/' -f1) + + mkdir /opt/config + cd /opt + wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh + wget http://$WEBSERVER_IP/demo_repo/vsink.sh + chmod +x v_sink_init.sh + chmod +x vsink.sh + echo $PROTECTED_NET_GW > config/protected_net_gw.txt + echo $UNPROTECTED_NET > config/unprotected_net.txt + echo "no" > config/install.txt + mv vsink.sh /etc/init.d + sudo update-rc.d vsink.sh defaults + ./v_sink_init.sh + + vsn_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_resource: protected_private_network } + fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}] + + vsn_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: ecomp_private_net_id } + fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vsn_private_ip_1 }}] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..5a732fc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/artifacts/vnf-module-artifact.json @@ -0,0 +1,13 @@ +[ + { + "vfModuleModelName": "VF_RI1_VFW::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID3", + "EnvArtifact-UUID3" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/notif-structure.json new file mode 100644 index 0000000..63ca36e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/demo-vfw-V1/notif-structure.json @@ -0,0 +1,65 @@ +{ + "serviceName": "vfw-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f112", + "serviceUUID": "2e34774e-715e-4fd5-bd09-7b654622f35i", + "serviceVersion": "1.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "VFWResource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f113", + "resourceName": "VFWResource", + "resourceType": "VF", + "resourceUUID": "685822c7-4027-4f84-ba50-e9248606f132", + "resourceVersion": "1.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID2", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Base VFW Heat", + "artifactName": "base_vfw.yaml", + "artifactTimeout": 300, + "artifactType": "HEAT", + "artifactURL": "base_vfw.yaml", + "artifactUUID": "Artifact-UUID3", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID3", + "relatedArtifact": + [ + + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "base_vfw ENV file", + "artifactName": "base_vfw.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "base_vfw.env", + "artifactUUID": "EnvArtifact-UUID3", + "artifactVersion": "1.0" + } + ] + } + ], + + "serviceDescription": "VFW service", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d62" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..98c4e3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/notif-structure.json new file mode 100644 index 0000000..2fb12ed --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/notif-without-modules-metadata/notif-structure.json @@ -0,0 +1,68 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f33e", + "serviceVersion": "1.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "wrong-resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "wrong-resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "1.0", + "artifacts": + [ + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + "NestedArtifact-UUID3" + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + "artifactTimeout": 100, + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "test service for unit testing", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d65" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.env new file mode 100644 index 0000000..b494d8c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.env @@ -0,0 +1,6 @@ +parameters: + pcrf_oam_vol_size: 500 + pcrf_oam_volume_silver-1: Silver + pcrf_oam_volume_silver-2: Silver + pcrf_oam_vol_name_1: sde1-pcrfx01-oam001-vol-1 + pcrf_oam_vol_name_2: sde1-pcrfx01-oam001-vol-2 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.yaml new file mode 100644 index 0000000..9e12054 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam-volumes_v1.0.yaml @@ -0,0 +1,45 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_oam_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_oam_vol_name_1: + type: string + label: OAM volume name 1 + description: Assigning name to volume + pcrf_oam_vol_name_2: + type: string + label: OAM volume name 2 + description: Assigning name to volume + pcrf_oam_volume_silver-1: + type: string + label: vm volume type + description: the name of the target volume backend for OAM1 + pcrf_oam_volume_silver-2: + type: string + label: vm volume type + description: the name of the target volume backend for OAM2 + +resources: + pcrf_oam_volume_1: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-1} + name: {get_param: pcrf_oam_vol_name_1} + + pcrf_oam_volume_2: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-2} + name: {get_param: pcrf_oam_vol_name_2} +outputs: + pcrf_oam_volume_id_1: + description: the oam 001 volume id + value: { get_resource: pcrf_oam_volume_1 } + pcrf_oam_volume_id_2: + description: the oam 002 volume id + value: { get_resource: pcrf_oam_volume_2 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..98c4e3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.env new file mode 100644 index 0000000..788365d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.env @@ -0,0 +1,4 @@ +parameters: + pcrf_pcm_vol_size: 50 + pcrf_pcm_volume_silver: Silver + pcrf_pcm_vol_name_1: sde1-pcrfx01-pcm001-vol-1 diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml new file mode 100644 index 0000000..bcc3e89 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml @@ -0,0 +1,28 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_pcm_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_pcm_vol_name_1: + type: string + label: PCM volume name + description: Assigning name to volume + pcrf_pcm_volume_silver: + type: string + label: vm volume type + description: the name of the target volume backend for PCM + +resources: + pcrf_pcm_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: pcrf_pcm_vol_size } + volume_type: { get_param: pcrf_pcm_volume_silver } + name: { get_param: pcrf_pcm_vol_name_1 } + +outputs: + pcrf_pcm_volume_id_1: + description: the pcrf_pcm_volume_id + value: { get_resource: pcrf_pcm_volume_1 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.env new file mode 100644 index 0000000..b23014d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.env @@ -0,0 +1,16 @@ +parameters: + pcrf_pcm_server_names: ZRDM1PCRF01PCM001 + pcrf_pcm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pcm_flavor_name: lc.2xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.113 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.121 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_pcm_volume_id_1: 3438a3fe-1241-4390-80f2-d0b86238c40e + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.yaml new file mode 100644 index 0000000..defb373 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pcm_v1.0.yaml @@ -0,0 +1,80 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_names: + type: comma_delimited_list + label: PCRF CM server names + description: name of the PCRF CM instance + pcrf_pcm_image_name: + type: string + label: PCRF CM image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id_1: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pcm_001: + type: nested-pcm_v1.0.yaml + properties: + pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] } + pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name } + pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.0.yaml new file mode 100644 index 0000000..8631592 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.0.yaml @@ -0,0 +1,286 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_names: + type: comma_delimited_list + label: PCRF PD server names + description: name of the PCRF PD instance + pcrf_ppd_image_name: + type: string + label: PCRF PD image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ips: + type: comma_delimited_list + label: Gx network ips + description: Gx network ips + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ips: + type: comma_delimited_list + label: Sp network ips + description: Sp network ips + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ips: + type: comma_delimited_list + label: Sy network ips + description: Sy network ips + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ips: + type: comma_delimited_list + label: Rx network ips + description: Rx network ips + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ips: + type: comma_delimited_list + label: Sd network ips + description: Sd network ips + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ips: + type: comma_delimited_list + label: Sgi Sy network ips + description: Sgi Sy network ips + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_ppd_001: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 0] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 0] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 0] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 0] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 0] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 0] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 0] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_002: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 1] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 1] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 1] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 1] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 1] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 1] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 1] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_003: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 2] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 2] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 2] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 2] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 2] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 2] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 2] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 2] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_004: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 3] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 3] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 3] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 3] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 3] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 3] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 3] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 3] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.1.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.1.env new file mode 100644 index 0000000..10697bc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-ppd_v1.1.env @@ -0,0 +1,35 @@ +parameters: + pcrf_ppd_server_names: ZRDM1PCRF01PPD001,ZRDM1PCRF01PPD002,ZRDM1PCRF01PPD003,ZRDM1PCRF01PPD004 + pcrf_ppd_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_ppd_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.3,172.26.16.4,172.26.16.5,172.26.16.6 + pcrf_lb_internal_vip: 172.26.16.114 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.113,107.239.64.114,107.239.64.115,107.239.64.116 + pcrf_lb_management_vip: 107.239.64.123 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_gx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_gx_net_0 + pcrf_gx_net_ips: 107.239.24.67,107.239.24.68,107.239.24.69,107.239.24.70 + pcrf_gx_net_mask: 255.255.255.248 + pcrf_sp_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sp_net_0 + pcrf_sp_net_ips: 107.239.24.75,107.239.24.76,107.239.24.77,107.239.24.78 + pcrf_sp_net_mask: 255.255.255.248 + pcrf_sy_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sy_net_0 + pcrf_sy_net_ips: 107.239.24.83,107.239.24.84,107.239.24.85,107.239.24.86 + pcrf_sy_net_mask: 255.255.255.248 + pcrf_rx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_rx_net_0 + pcrf_rx_net_ips: 107.239.24.91,107.239.24.92,107.239.24.93,107.239.24.94 + pcrf_rx_net_mask: 255.255.255.248 + pcrf_sd_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sd_net_0 + pcrf_sd_net_ips: 107.239.24.99,107.239.24.100,107.239.24.101,107.239.24.102 + pcrf_sd_net_mask: 255.255.255.248 + pcrf_sgi_sy_net_name: Mobisupport-25193-I-INT1_sgi_pcrf_sy_net_0 + pcrf_sgi_sy_net_ips: 107.239.26.131,107.239.26.132,107.239.26.133,107.239.26.134 + pcrf_sgi_sy_net_mask: 255.255.255.248 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.env new file mode 100644 index 0000000..18c064c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.env @@ -0,0 +1,11 @@ +parameters: + pcrf_pps_server_names: ZRDM1PCRF01PPS001,ZRDM1PCRF01PPS002,ZRDM1PCRF01PPS003,ZRDM1PCRF01PPS004,ZRDM1PCRF01PPS005,ZRDM1PCRF01PPS006 + pcrf_pps_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pps_flavor_name: lc.3xlarge + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.7,172.26.16.8,172.26.16.9,172.26.16.10,172.26.16.11,172.26.16.12 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.yaml new file mode 100644 index 0000000..0fadd00 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-pps_v1.0.yaml @@ -0,0 +1,121 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_names: + type: comma_delimited_list + label: PCRF PS server names + description: PCRF PS server names + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pps_001: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_002: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_003: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_004: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_005: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_006: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.env new file mode 100644 index 0000000..95e450e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.env @@ -0,0 +1,10 @@ +parameters: + pcrf_psm_server_names: ZRDM1PCRF01PSM001,ZRDM1PCRF01PSM002,ZRDM1PCRF01PSM003,ZRDM1PCRF01PSM004,ZRDM1PCRF01PSM005,ZRDM1PCRF01PSM006,ZRDM1PCRF01PSM007,ZRDM1PCRF01PSM008,ZRDM1PCRF01PSM009,ZRDM1PCRF01PSM010,ZRDM1PCRF01PSM011,ZRDM1PCRF01PSM012 + pcrf_psm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_psm_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.63,172.26.16.64,172.26.16.65,172.26.16.66,172.26.16.67,172.26.16.68,172.26.16.69,172.26.16.70,172.26.16.71,172.26.16.72,172.26.16.73,172.26.16.74 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.yaml new file mode 100644 index 0000000..217b0fe --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-psm_v1.0.yaml @@ -0,0 +1,199 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_names: + type: comma_delimited_list + label: PCRF SM server names + description: name of the PCRF SM instance + pcrf_psm_image_name: + type: string + label: PCRF SM image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_psm_001: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_002: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_003: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_004: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_005: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_006: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_007: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_008: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_009: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_010: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_011: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_012: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.env new file mode 100644 index 0000000..5267ee4 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.env @@ -0,0 +1,3 @@ +parameters: + pcrf_swift_container_name_1: PCRF_Config_Container_1 + pcrf_swift_container_purge_on_delete_flag_1: false diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.yaml new file mode 100644 index 0000000..ab427bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/hot-nimbus-swift-container_v1.0.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_swift_container_name_1: + type: string + label: Swift Container name + description: Swift Container Name + pcrf_swift_container_purge_on_delete_flag_1: + type: boolean + label: Purge on Delete Flag + description: Purge on Delete Flag + +resources: + pcrf_swift_container_1: + type: OS::Swift::Container + properties: + name: { get_param: pcrf_swift_container_name_1 } + PurgeOnDelete: { get_param: pcrf_swift_container_purge_on_delete_flag_1 } + X-Container-Read: ".r:*" + +outputs: + pcrf_swift_container_id_1: + description: the pcrf_swift_container_1 id + value: { get_resource: pcrf_swift_container_1 } + pcrf_swift_container_url_1: + description: the pcrf_swift_container_1 url + value: { get_attr: [ pcrf_swift_container_1, WebsiteURL ] } + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/mount_iso_script.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/mount_iso_script.sh new file mode 100644 index 0000000..91df598 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/mount_iso_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +#. .config +#following would be in the .config file + device_name="/dev/vde" + install_script="install_nimbus.sh" + enable_logic_flag_file=".flag" +#end of config file + +#get the semaphore, 0 - disbaled, 1- enabled +flag=$(cat ${enable_logic_flag_file}) + +#check if device is mounted already +test=$(mount | grep ${device_name}) +if [ "$flag" == "1" ]; then + if [ -e ${device_name} ] && [ ! "${test}" ]; then + #mount the iso image + mount -t iso9660 -v -o loop /dev/vde/ /mnt/iso + #if availabe run the install script (it contains the install.sh steps) + if [ -e "${install_script}" ] && [ -f "${install_script}" ]; then + ${install_script} + fi + #disable the script from attempting to + # mount and run install again until needed; + echo "0" > ${enable_logic_flag_file} + #if nedeed add step to comment out the crontab line here; + fi +else + echo "Auto mounting ISO & run install logic disabled!" +fi + +#cron job +# * * * * * /mount_iso_script.sh + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pcm_v1.0.yaml new file mode 100644 index 0000000..a3129bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pcm_v1.0.yaml @@ -0,0 +1,150 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_name: + type: string + label: PCRF CM server name + description: PCRF CM server name + pcrf_pcm_image_name: + type: string + label: image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pcm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pcm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pcm_server_name } + image: { get_param: pcrf_pcm_image_name } + flavor: { get_param: pcrf_pcm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pcm_port_0} + - port: { get_resource: pcrf_pcm_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pcm_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_pcm_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_pcm_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_pcm } + +outputs: + pcrf_server_pcm_id: + description: the pcm server id + value: { get_resource: pcrf_server_pcm } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-ppd_v1.0.yaml new file mode 100644 index 0000000..169522b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-ppd_v1.0.yaml @@ -0,0 +1,333 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_name: + type: string + label: PCRF PD server name + description: PCRF PD server name + pcrf_ppd_image_name: + type: string + label: image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ip: + type: string + label: Gx network ip + description: Gx network ip + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ip: + type: string + label: Sp network ip + description: Sp network ip + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ip: + type: string + label: Sy network ip + description: Sy network ip + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ip: + type: string + label: Rx network ip + description: Rx network ip + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ip: + type: string + label: Sd network ip + description: Sd network ip + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ip: + type: string + label: Sgi Sy network ip + description: Sgi Sy network ip + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + - path: /etc/sysconfig/network-scripts/ifcfg-eth2 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth2 + $ip: { get_param: pcrf_gx_net_ip } + $netmask: { get_param: pcrf_gx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth3 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth3 + $ip: { get_param: pcrf_sp_net_ip } + $netmask: { get_param: pcrf_sp_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth4 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth4 + $ip: { get_param: pcrf_sy_net_ip } + $netmask: { get_param: pcrf_sy_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth5 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth5 + $ip: { get_param: pcrf_rx_net_ip } + $netmask: { get_param: pcrf_rx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth6 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth6 + $ip: { get_param: pcrf_sd_net_ip } + $netmask: { get_param: pcrf_sd_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth7 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth7 + $ip: { get_param: pcrf_sgi_sy_net_ip } + $netmask: { get_param: pcrf_sgi_sy_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + - ifdown eth2 && ifup eth2 + - ifdown eth3 && ifup eth3 + - ifdown eth4 && ifup eth4 + - ifdown eth5 && ifup eth5 + - ifdown eth6 && ifup eth6 + - ifdown eth7 && ifup eth7 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_ppd_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_ppd: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_ppd_server_name } + image: { get_param: pcrf_ppd_image_name } + flavor: { get_param: pcrf_ppd_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_ppd_port_0} + - port: { get_resource: pcrf_ppd_port_1} + - port: { get_resource: pcrf_ppd_port_2} + - port: { get_resource: pcrf_ppd_port_3} + - port: { get_resource: pcrf_ppd_port_4} + - port: { get_resource: pcrf_ppd_port_5} + - port: { get_resource: pcrf_ppd_port_6} + - port: { get_resource: pcrf_ppd_port_7} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_ppd_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_internal_vip } + + pcrf_ppd_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_management_vip } + + pcrf_ppd_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_gx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_gx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_3: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sp_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sp_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_4: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_5: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_rx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_rx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_6: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sd_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sd_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_7: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sgi_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sgi_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pps_v1.0.yaml new file mode 100644 index 0000000..8cb6e15 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-pps_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_name: + type: string + label: PCRF PS server name + description: PCRF PS server name + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pps_server_name } + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pps: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pps_server_name } + image: { get_param: pcrf_pps_image_name } + flavor: { get_param: pcrf_pps_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pps_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pps_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-psm_v1.0.yaml new file mode 100644 index 0000000..64c7484 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/nested-psm_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_name: + type: string + label: PCRF SM server name + description: PCRF SM server name + pcrf_psm_image_name: + type: string + label: image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_psm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_psm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_psm_server_name } + image: { get_param: pcrf_psm_image_name } + flavor: { get_param: pcrf_psm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: psm01_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + #scheduler_hints: {group: { get_resource: servergroup_nimbus }} + + psm01_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..f196467 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/artifacts/vnf-module-artifact.json @@ -0,0 +1,14 @@ +[ + { + "vfModuleModelName": "VF_RI2_G6_withArtifacts::module-0", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f131", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI2_G6_withArtifacts::module-0.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID2", + "NestedArtifact-UUID3" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/notif-structure.json new file mode 100644 index 0000000..1f5e081 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V1/notif-structure.json @@ -0,0 +1,75 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f33e", + "serviceVersion": "1.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "1.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID1", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "vfw service for unit test", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d65" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.env new file mode 100644 index 0000000..b494d8c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.env @@ -0,0 +1,6 @@ +parameters: + pcrf_oam_vol_size: 500 + pcrf_oam_volume_silver-1: Silver + pcrf_oam_volume_silver-2: Silver + pcrf_oam_vol_name_1: sde1-pcrfx01-oam001-vol-1 + pcrf_oam_vol_name_2: sde1-pcrfx01-oam001-vol-2 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.yaml new file mode 100644 index 0000000..9e12054 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam-volumes_v1.0.yaml @@ -0,0 +1,45 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_oam_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_oam_vol_name_1: + type: string + label: OAM volume name 1 + description: Assigning name to volume + pcrf_oam_vol_name_2: + type: string + label: OAM volume name 2 + description: Assigning name to volume + pcrf_oam_volume_silver-1: + type: string + label: vm volume type + description: the name of the target volume backend for OAM1 + pcrf_oam_volume_silver-2: + type: string + label: vm volume type + description: the name of the target volume backend for OAM2 + +resources: + pcrf_oam_volume_1: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-1} + name: {get_param: pcrf_oam_vol_name_1} + + pcrf_oam_volume_2: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-2} + name: {get_param: pcrf_oam_vol_name_2} +outputs: + pcrf_oam_volume_id_1: + description: the oam 001 volume id + value: { get_resource: pcrf_oam_volume_1 } + pcrf_oam_volume_id_2: + description: the oam 002 volume id + value: { get_resource: pcrf_oam_volume_2 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..98c4e3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.env new file mode 100644 index 0000000..788365d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.env @@ -0,0 +1,4 @@ +parameters: + pcrf_pcm_vol_size: 50 + pcrf_pcm_volume_silver: Silver + pcrf_pcm_vol_name_1: sde1-pcrfx01-pcm001-vol-1 diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml new file mode 100644 index 0000000..bcc3e89 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml @@ -0,0 +1,28 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_pcm_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_pcm_vol_name_1: + type: string + label: PCM volume name + description: Assigning name to volume + pcrf_pcm_volume_silver: + type: string + label: vm volume type + description: the name of the target volume backend for PCM + +resources: + pcrf_pcm_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: pcrf_pcm_vol_size } + volume_type: { get_param: pcrf_pcm_volume_silver } + name: { get_param: pcrf_pcm_vol_name_1 } + +outputs: + pcrf_pcm_volume_id_1: + description: the pcrf_pcm_volume_id + value: { get_resource: pcrf_pcm_volume_1 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.env new file mode 100644 index 0000000..b23014d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.env @@ -0,0 +1,16 @@ +parameters: + pcrf_pcm_server_names: ZRDM1PCRF01PCM001 + pcrf_pcm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pcm_flavor_name: lc.2xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.113 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.121 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_pcm_volume_id_1: 3438a3fe-1241-4390-80f2-d0b86238c40e + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.yaml new file mode 100644 index 0000000..defb373 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pcm_v1.0.yaml @@ -0,0 +1,80 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_names: + type: comma_delimited_list + label: PCRF CM server names + description: name of the PCRF CM instance + pcrf_pcm_image_name: + type: string + label: PCRF CM image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id_1: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pcm_001: + type: nested-pcm_v1.0.yaml + properties: + pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] } + pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name } + pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.0.yaml new file mode 100644 index 0000000..8631592 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.0.yaml @@ -0,0 +1,286 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_names: + type: comma_delimited_list + label: PCRF PD server names + description: name of the PCRF PD instance + pcrf_ppd_image_name: + type: string + label: PCRF PD image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ips: + type: comma_delimited_list + label: Gx network ips + description: Gx network ips + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ips: + type: comma_delimited_list + label: Sp network ips + description: Sp network ips + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ips: + type: comma_delimited_list + label: Sy network ips + description: Sy network ips + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ips: + type: comma_delimited_list + label: Rx network ips + description: Rx network ips + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ips: + type: comma_delimited_list + label: Sd network ips + description: Sd network ips + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ips: + type: comma_delimited_list + label: Sgi Sy network ips + description: Sgi Sy network ips + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_ppd_001: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 0] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 0] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 0] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 0] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 0] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 0] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 0] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_002: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 1] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 1] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 1] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 1] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 1] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 1] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 1] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_003: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 2] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 2] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 2] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 2] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 2] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 2] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 2] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 2] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_004: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 3] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 3] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 3] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 3] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 3] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 3] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 3] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 3] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.1.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.1.env new file mode 100644 index 0000000..10697bc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-ppd_v1.1.env @@ -0,0 +1,35 @@ +parameters: + pcrf_ppd_server_names: ZRDM1PCRF01PPD001,ZRDM1PCRF01PPD002,ZRDM1PCRF01PPD003,ZRDM1PCRF01PPD004 + pcrf_ppd_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_ppd_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.3,172.26.16.4,172.26.16.5,172.26.16.6 + pcrf_lb_internal_vip: 172.26.16.114 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.113,107.239.64.114,107.239.64.115,107.239.64.116 + pcrf_lb_management_vip: 107.239.64.123 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_gx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_gx_net_0 + pcrf_gx_net_ips: 107.239.24.67,107.239.24.68,107.239.24.69,107.239.24.70 + pcrf_gx_net_mask: 255.255.255.248 + pcrf_sp_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sp_net_0 + pcrf_sp_net_ips: 107.239.24.75,107.239.24.76,107.239.24.77,107.239.24.78 + pcrf_sp_net_mask: 255.255.255.248 + pcrf_sy_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sy_net_0 + pcrf_sy_net_ips: 107.239.24.83,107.239.24.84,107.239.24.85,107.239.24.86 + pcrf_sy_net_mask: 255.255.255.248 + pcrf_rx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_rx_net_0 + pcrf_rx_net_ips: 107.239.24.91,107.239.24.92,107.239.24.93,107.239.24.94 + pcrf_rx_net_mask: 255.255.255.248 + pcrf_sd_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sd_net_0 + pcrf_sd_net_ips: 107.239.24.99,107.239.24.100,107.239.24.101,107.239.24.102 + pcrf_sd_net_mask: 255.255.255.248 + pcrf_sgi_sy_net_name: Mobisupport-25193-I-INT1_sgi_pcrf_sy_net_0 + pcrf_sgi_sy_net_ips: 107.239.26.131,107.239.26.132,107.239.26.133,107.239.26.134 + pcrf_sgi_sy_net_mask: 255.255.255.248 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.env new file mode 100644 index 0000000..18c064c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.env @@ -0,0 +1,11 @@ +parameters: + pcrf_pps_server_names: ZRDM1PCRF01PPS001,ZRDM1PCRF01PPS002,ZRDM1PCRF01PPS003,ZRDM1PCRF01PPS004,ZRDM1PCRF01PPS005,ZRDM1PCRF01PPS006 + pcrf_pps_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pps_flavor_name: lc.3xlarge + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.7,172.26.16.8,172.26.16.9,172.26.16.10,172.26.16.11,172.26.16.12 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.yaml new file mode 100644 index 0000000..0fadd00 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-pps_v1.0.yaml @@ -0,0 +1,121 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_names: + type: comma_delimited_list + label: PCRF PS server names + description: PCRF PS server names + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pps_001: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_002: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_003: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_004: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_005: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_006: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.env new file mode 100644 index 0000000..95e450e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.env @@ -0,0 +1,10 @@ +parameters: + pcrf_psm_server_names: ZRDM1PCRF01PSM001,ZRDM1PCRF01PSM002,ZRDM1PCRF01PSM003,ZRDM1PCRF01PSM004,ZRDM1PCRF01PSM005,ZRDM1PCRF01PSM006,ZRDM1PCRF01PSM007,ZRDM1PCRF01PSM008,ZRDM1PCRF01PSM009,ZRDM1PCRF01PSM010,ZRDM1PCRF01PSM011,ZRDM1PCRF01PSM012 + pcrf_psm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_psm_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.63,172.26.16.64,172.26.16.65,172.26.16.66,172.26.16.67,172.26.16.68,172.26.16.69,172.26.16.70,172.26.16.71,172.26.16.72,172.26.16.73,172.26.16.74 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.yaml new file mode 100644 index 0000000..217b0fe --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-psm_v1.0.yaml @@ -0,0 +1,199 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_names: + type: comma_delimited_list + label: PCRF SM server names + description: name of the PCRF SM instance + pcrf_psm_image_name: + type: string + label: PCRF SM image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_psm_001: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_002: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_003: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_004: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_005: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_006: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_007: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_008: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_009: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_010: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_011: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_012: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.env new file mode 100644 index 0000000..5267ee4 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.env @@ -0,0 +1,3 @@ +parameters: + pcrf_swift_container_name_1: PCRF_Config_Container_1 + pcrf_swift_container_purge_on_delete_flag_1: false diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.yaml new file mode 100644 index 0000000..ab427bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/hot-nimbus-swift-container_v1.0.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_swift_container_name_1: + type: string + label: Swift Container name + description: Swift Container Name + pcrf_swift_container_purge_on_delete_flag_1: + type: boolean + label: Purge on Delete Flag + description: Purge on Delete Flag + +resources: + pcrf_swift_container_1: + type: OS::Swift::Container + properties: + name: { get_param: pcrf_swift_container_name_1 } + PurgeOnDelete: { get_param: pcrf_swift_container_purge_on_delete_flag_1 } + X-Container-Read: ".r:*" + +outputs: + pcrf_swift_container_id_1: + description: the pcrf_swift_container_1 id + value: { get_resource: pcrf_swift_container_1 } + pcrf_swift_container_url_1: + description: the pcrf_swift_container_1 url + value: { get_attr: [ pcrf_swift_container_1, WebsiteURL ] } + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/mount_iso_script.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/mount_iso_script.sh new file mode 100644 index 0000000..91df598 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/mount_iso_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +#. .config +#following would be in the .config file + device_name="/dev/vde" + install_script="install_nimbus.sh" + enable_logic_flag_file=".flag" +#end of config file + +#get the semaphore, 0 - disbaled, 1- enabled +flag=$(cat ${enable_logic_flag_file}) + +#check if device is mounted already +test=$(mount | grep ${device_name}) +if [ "$flag" == "1" ]; then + if [ -e ${device_name} ] && [ ! "${test}" ]; then + #mount the iso image + mount -t iso9660 -v -o loop /dev/vde/ /mnt/iso + #if availabe run the install script (it contains the install.sh steps) + if [ -e "${install_script}" ] && [ -f "${install_script}" ]; then + ${install_script} + fi + #disable the script from attempting to + # mount and run install again until needed; + echo "0" > ${enable_logic_flag_file} + #if nedeed add step to comment out the crontab line here; + fi +else + echo "Auto mounting ISO & run install logic disabled!" +fi + +#cron job +# * * * * * /mount_iso_script.sh + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pcm_v1.0.yaml new file mode 100644 index 0000000..a3129bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pcm_v1.0.yaml @@ -0,0 +1,150 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_name: + type: string + label: PCRF CM server name + description: PCRF CM server name + pcrf_pcm_image_name: + type: string + label: image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pcm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pcm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pcm_server_name } + image: { get_param: pcrf_pcm_image_name } + flavor: { get_param: pcrf_pcm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pcm_port_0} + - port: { get_resource: pcrf_pcm_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pcm_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_pcm_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_pcm_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_pcm } + +outputs: + pcrf_server_pcm_id: + description: the pcm server id + value: { get_resource: pcrf_server_pcm } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-ppd_v1.0.yaml new file mode 100644 index 0000000..169522b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-ppd_v1.0.yaml @@ -0,0 +1,333 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_name: + type: string + label: PCRF PD server name + description: PCRF PD server name + pcrf_ppd_image_name: + type: string + label: image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ip: + type: string + label: Gx network ip + description: Gx network ip + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ip: + type: string + label: Sp network ip + description: Sp network ip + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ip: + type: string + label: Sy network ip + description: Sy network ip + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ip: + type: string + label: Rx network ip + description: Rx network ip + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ip: + type: string + label: Sd network ip + description: Sd network ip + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ip: + type: string + label: Sgi Sy network ip + description: Sgi Sy network ip + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + - path: /etc/sysconfig/network-scripts/ifcfg-eth2 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth2 + $ip: { get_param: pcrf_gx_net_ip } + $netmask: { get_param: pcrf_gx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth3 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth3 + $ip: { get_param: pcrf_sp_net_ip } + $netmask: { get_param: pcrf_sp_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth4 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth4 + $ip: { get_param: pcrf_sy_net_ip } + $netmask: { get_param: pcrf_sy_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth5 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth5 + $ip: { get_param: pcrf_rx_net_ip } + $netmask: { get_param: pcrf_rx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth6 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth6 + $ip: { get_param: pcrf_sd_net_ip } + $netmask: { get_param: pcrf_sd_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth7 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth7 + $ip: { get_param: pcrf_sgi_sy_net_ip } + $netmask: { get_param: pcrf_sgi_sy_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + - ifdown eth2 && ifup eth2 + - ifdown eth3 && ifup eth3 + - ifdown eth4 && ifup eth4 + - ifdown eth5 && ifup eth5 + - ifdown eth6 && ifup eth6 + - ifdown eth7 && ifup eth7 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_ppd_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_ppd: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_ppd_server_name } + image: { get_param: pcrf_ppd_image_name } + flavor: { get_param: pcrf_ppd_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_ppd_port_0} + - port: { get_resource: pcrf_ppd_port_1} + - port: { get_resource: pcrf_ppd_port_2} + - port: { get_resource: pcrf_ppd_port_3} + - port: { get_resource: pcrf_ppd_port_4} + - port: { get_resource: pcrf_ppd_port_5} + - port: { get_resource: pcrf_ppd_port_6} + - port: { get_resource: pcrf_ppd_port_7} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_ppd_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_internal_vip } + + pcrf_ppd_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_management_vip } + + pcrf_ppd_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_gx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_gx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_3: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sp_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sp_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_4: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_5: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_rx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_rx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_6: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sd_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sd_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_7: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sgi_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sgi_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pps_v1.0.yaml new file mode 100644 index 0000000..8cb6e15 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-pps_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_name: + type: string + label: PCRF PS server name + description: PCRF PS server name + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pps_server_name } + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pps: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pps_server_name } + image: { get_param: pcrf_pps_image_name } + flavor: { get_param: pcrf_pps_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pps_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pps_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-psm_v1.0.yaml new file mode 100644 index 0000000..64c7484 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/nested-psm_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_name: + type: string + label: PCRF SM server name + description: PCRF SM server name + pcrf_psm_image_name: + type: string + label: image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_psm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_psm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_psm_server_name } + image: { get_param: pcrf_psm_image_name } + flavor: { get_param: pcrf_psm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: psm01_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + #scheduler_hints: {group: { get_resource: servergroup_nimbus }} + + psm01_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..f196467 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/artifacts/vnf-module-artifact.json @@ -0,0 +1,14 @@ +[ + { + "vfModuleModelName": "VF_RI2_G6_withArtifacts::module-0", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f131", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI2_G6_withArtifacts::module-0.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID2", + "NestedArtifact-UUID3" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/notif-structure.json new file mode 100644 index 0000000..0b2b312 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V2/notif-structure.json @@ -0,0 +1,78 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f33f", + "serviceVersion": "2.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "1.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID1", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + "NestedArtifact-UUID3" + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "test service for unit testing", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d65" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.env new file mode 100644 index 0000000..b494d8c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.env @@ -0,0 +1,6 @@ +parameters: + pcrf_oam_vol_size: 500 + pcrf_oam_volume_silver-1: Silver + pcrf_oam_volume_silver-2: Silver + pcrf_oam_vol_name_1: sde1-pcrfx01-oam001-vol-1 + pcrf_oam_vol_name_2: sde1-pcrfx01-oam001-vol-2 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.yaml new file mode 100644 index 0000000..9e12054 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam-volumes_v1.0.yaml @@ -0,0 +1,45 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_oam_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_oam_vol_name_1: + type: string + label: OAM volume name 1 + description: Assigning name to volume + pcrf_oam_vol_name_2: + type: string + label: OAM volume name 2 + description: Assigning name to volume + pcrf_oam_volume_silver-1: + type: string + label: vm volume type + description: the name of the target volume backend for OAM1 + pcrf_oam_volume_silver-2: + type: string + label: vm volume type + description: the name of the target volume backend for OAM2 + +resources: + pcrf_oam_volume_1: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-1} + name: {get_param: pcrf_oam_vol_name_1} + + pcrf_oam_volume_2: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-2} + name: {get_param: pcrf_oam_vol_name_2} +outputs: + pcrf_oam_volume_id_1: + description: the oam 001 volume id + value: { get_resource: pcrf_oam_volume_1 } + pcrf_oam_volume_id_2: + description: the oam 002 volume id + value: { get_resource: pcrf_oam_volume_2 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..98c4e3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.env new file mode 100644 index 0000000..788365d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.env @@ -0,0 +1,4 @@ +parameters: + pcrf_pcm_vol_size: 50 + pcrf_pcm_volume_silver: Silver + pcrf_pcm_vol_name_1: sde1-pcrfx01-pcm001-vol-1 diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml new file mode 100644 index 0000000..bcc3e89 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml @@ -0,0 +1,28 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_pcm_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_pcm_vol_name_1: + type: string + label: PCM volume name + description: Assigning name to volume + pcrf_pcm_volume_silver: + type: string + label: vm volume type + description: the name of the target volume backend for PCM + +resources: + pcrf_pcm_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: pcrf_pcm_vol_size } + volume_type: { get_param: pcrf_pcm_volume_silver } + name: { get_param: pcrf_pcm_vol_name_1 } + +outputs: + pcrf_pcm_volume_id_1: + description: the pcrf_pcm_volume_id + value: { get_resource: pcrf_pcm_volume_1 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.env new file mode 100644 index 0000000..b23014d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.env @@ -0,0 +1,16 @@ +parameters: + pcrf_pcm_server_names: ZRDM1PCRF01PCM001 + pcrf_pcm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pcm_flavor_name: lc.2xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.113 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.121 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_pcm_volume_id_1: 3438a3fe-1241-4390-80f2-d0b86238c40e + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.yaml new file mode 100644 index 0000000..defb373 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pcm_v1.0.yaml @@ -0,0 +1,80 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_names: + type: comma_delimited_list + label: PCRF CM server names + description: name of the PCRF CM instance + pcrf_pcm_image_name: + type: string + label: PCRF CM image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id_1: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pcm_001: + type: nested-pcm_v1.0.yaml + properties: + pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] } + pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name } + pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.0.yaml new file mode 100644 index 0000000..8631592 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.0.yaml @@ -0,0 +1,286 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_names: + type: comma_delimited_list + label: PCRF PD server names + description: name of the PCRF PD instance + pcrf_ppd_image_name: + type: string + label: PCRF PD image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ips: + type: comma_delimited_list + label: Gx network ips + description: Gx network ips + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ips: + type: comma_delimited_list + label: Sp network ips + description: Sp network ips + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ips: + type: comma_delimited_list + label: Sy network ips + description: Sy network ips + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ips: + type: comma_delimited_list + label: Rx network ips + description: Rx network ips + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ips: + type: comma_delimited_list + label: Sd network ips + description: Sd network ips + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ips: + type: comma_delimited_list + label: Sgi Sy network ips + description: Sgi Sy network ips + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_ppd_001: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 0] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 0] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 0] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 0] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 0] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 0] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 0] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_002: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 1] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 1] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 1] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 1] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 1] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 1] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 1] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_003: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 2] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 2] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 2] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 2] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 2] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 2] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 2] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 2] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_004: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 3] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 3] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 3] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 3] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 3] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 3] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 3] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 3] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.1.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.1.env new file mode 100644 index 0000000..10697bc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-ppd_v1.1.env @@ -0,0 +1,35 @@ +parameters: + pcrf_ppd_server_names: ZRDM1PCRF01PPD001,ZRDM1PCRF01PPD002,ZRDM1PCRF01PPD003,ZRDM1PCRF01PPD004 + pcrf_ppd_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_ppd_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.3,172.26.16.4,172.26.16.5,172.26.16.6 + pcrf_lb_internal_vip: 172.26.16.114 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.113,107.239.64.114,107.239.64.115,107.239.64.116 + pcrf_lb_management_vip: 107.239.64.123 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_gx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_gx_net_0 + pcrf_gx_net_ips: 107.239.24.67,107.239.24.68,107.239.24.69,107.239.24.70 + pcrf_gx_net_mask: 255.255.255.248 + pcrf_sp_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sp_net_0 + pcrf_sp_net_ips: 107.239.24.75,107.239.24.76,107.239.24.77,107.239.24.78 + pcrf_sp_net_mask: 255.255.255.248 + pcrf_sy_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sy_net_0 + pcrf_sy_net_ips: 107.239.24.83,107.239.24.84,107.239.24.85,107.239.24.86 + pcrf_sy_net_mask: 255.255.255.248 + pcrf_rx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_rx_net_0 + pcrf_rx_net_ips: 107.239.24.91,107.239.24.92,107.239.24.93,107.239.24.94 + pcrf_rx_net_mask: 255.255.255.248 + pcrf_sd_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sd_net_0 + pcrf_sd_net_ips: 107.239.24.99,107.239.24.100,107.239.24.101,107.239.24.102 + pcrf_sd_net_mask: 255.255.255.248 + pcrf_sgi_sy_net_name: Mobisupport-25193-I-INT1_sgi_pcrf_sy_net_0 + pcrf_sgi_sy_net_ips: 107.239.26.131,107.239.26.132,107.239.26.133,107.239.26.134 + pcrf_sgi_sy_net_mask: 255.255.255.248 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.env new file mode 100644 index 0000000..18c064c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.env @@ -0,0 +1,11 @@ +parameters: + pcrf_pps_server_names: ZRDM1PCRF01PPS001,ZRDM1PCRF01PPS002,ZRDM1PCRF01PPS003,ZRDM1PCRF01PPS004,ZRDM1PCRF01PPS005,ZRDM1PCRF01PPS006 + pcrf_pps_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pps_flavor_name: lc.3xlarge + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.7,172.26.16.8,172.26.16.9,172.26.16.10,172.26.16.11,172.26.16.12 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.yaml new file mode 100644 index 0000000..0fadd00 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-pps_v1.0.yaml @@ -0,0 +1,121 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_names: + type: comma_delimited_list + label: PCRF PS server names + description: PCRF PS server names + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pps_001: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_002: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_003: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_004: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_005: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_006: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.env new file mode 100644 index 0000000..95e450e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.env @@ -0,0 +1,10 @@ +parameters: + pcrf_psm_server_names: ZRDM1PCRF01PSM001,ZRDM1PCRF01PSM002,ZRDM1PCRF01PSM003,ZRDM1PCRF01PSM004,ZRDM1PCRF01PSM005,ZRDM1PCRF01PSM006,ZRDM1PCRF01PSM007,ZRDM1PCRF01PSM008,ZRDM1PCRF01PSM009,ZRDM1PCRF01PSM010,ZRDM1PCRF01PSM011,ZRDM1PCRF01PSM012 + pcrf_psm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_psm_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.63,172.26.16.64,172.26.16.65,172.26.16.66,172.26.16.67,172.26.16.68,172.26.16.69,172.26.16.70,172.26.16.71,172.26.16.72,172.26.16.73,172.26.16.74 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.yaml new file mode 100644 index 0000000..217b0fe --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-psm_v1.0.yaml @@ -0,0 +1,199 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_names: + type: comma_delimited_list + label: PCRF SM server names + description: name of the PCRF SM instance + pcrf_psm_image_name: + type: string + label: PCRF SM image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_psm_001: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_002: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_003: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_004: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_005: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_006: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_007: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_008: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_009: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_010: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_011: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_012: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.env new file mode 100644 index 0000000..5267ee4 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.env @@ -0,0 +1,3 @@ +parameters: + pcrf_swift_container_name_1: PCRF_Config_Container_1 + pcrf_swift_container_purge_on_delete_flag_1: false diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.yaml new file mode 100644 index 0000000..ab427bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/hot-nimbus-swift-container_v1.0.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_swift_container_name_1: + type: string + label: Swift Container name + description: Swift Container Name + pcrf_swift_container_purge_on_delete_flag_1: + type: boolean + label: Purge on Delete Flag + description: Purge on Delete Flag + +resources: + pcrf_swift_container_1: + type: OS::Swift::Container + properties: + name: { get_param: pcrf_swift_container_name_1 } + PurgeOnDelete: { get_param: pcrf_swift_container_purge_on_delete_flag_1 } + X-Container-Read: ".r:*" + +outputs: + pcrf_swift_container_id_1: + description: the pcrf_swift_container_1 id + value: { get_resource: pcrf_swift_container_1 } + pcrf_swift_container_url_1: + description: the pcrf_swift_container_1 url + value: { get_attr: [ pcrf_swift_container_1, WebsiteURL ] } + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/mount_iso_script.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/mount_iso_script.sh new file mode 100644 index 0000000..91df598 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/mount_iso_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +#. .config +#following would be in the .config file + device_name="/dev/vde" + install_script="install_nimbus.sh" + enable_logic_flag_file=".flag" +#end of config file + +#get the semaphore, 0 - disbaled, 1- enabled +flag=$(cat ${enable_logic_flag_file}) + +#check if device is mounted already +test=$(mount | grep ${device_name}) +if [ "$flag" == "1" ]; then + if [ -e ${device_name} ] && [ ! "${test}" ]; then + #mount the iso image + mount -t iso9660 -v -o loop /dev/vde/ /mnt/iso + #if availabe run the install script (it contains the install.sh steps) + if [ -e "${install_script}" ] && [ -f "${install_script}" ]; then + ${install_script} + fi + #disable the script from attempting to + # mount and run install again until needed; + echo "0" > ${enable_logic_flag_file} + #if nedeed add step to comment out the crontab line here; + fi +else + echo "Auto mounting ISO & run install logic disabled!" +fi + +#cron job +# * * * * * /mount_iso_script.sh + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pcm_v1.0.yaml new file mode 100644 index 0000000..a3129bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pcm_v1.0.yaml @@ -0,0 +1,150 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_name: + type: string + label: PCRF CM server name + description: PCRF CM server name + pcrf_pcm_image_name: + type: string + label: image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pcm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pcm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pcm_server_name } + image: { get_param: pcrf_pcm_image_name } + flavor: { get_param: pcrf_pcm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pcm_port_0} + - port: { get_resource: pcrf_pcm_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pcm_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_pcm_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_pcm_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_pcm } + +outputs: + pcrf_server_pcm_id: + description: the pcm server id + value: { get_resource: pcrf_server_pcm } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-ppd_v1.0.yaml new file mode 100644 index 0000000..169522b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-ppd_v1.0.yaml @@ -0,0 +1,333 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_name: + type: string + label: PCRF PD server name + description: PCRF PD server name + pcrf_ppd_image_name: + type: string + label: image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ip: + type: string + label: Gx network ip + description: Gx network ip + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ip: + type: string + label: Sp network ip + description: Sp network ip + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ip: + type: string + label: Sy network ip + description: Sy network ip + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ip: + type: string + label: Rx network ip + description: Rx network ip + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ip: + type: string + label: Sd network ip + description: Sd network ip + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ip: + type: string + label: Sgi Sy network ip + description: Sgi Sy network ip + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + - path: /etc/sysconfig/network-scripts/ifcfg-eth2 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth2 + $ip: { get_param: pcrf_gx_net_ip } + $netmask: { get_param: pcrf_gx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth3 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth3 + $ip: { get_param: pcrf_sp_net_ip } + $netmask: { get_param: pcrf_sp_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth4 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth4 + $ip: { get_param: pcrf_sy_net_ip } + $netmask: { get_param: pcrf_sy_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth5 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth5 + $ip: { get_param: pcrf_rx_net_ip } + $netmask: { get_param: pcrf_rx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth6 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth6 + $ip: { get_param: pcrf_sd_net_ip } + $netmask: { get_param: pcrf_sd_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth7 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth7 + $ip: { get_param: pcrf_sgi_sy_net_ip } + $netmask: { get_param: pcrf_sgi_sy_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + - ifdown eth2 && ifup eth2 + - ifdown eth3 && ifup eth3 + - ifdown eth4 && ifup eth4 + - ifdown eth5 && ifup eth5 + - ifdown eth6 && ifup eth6 + - ifdown eth7 && ifup eth7 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_ppd_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_ppd: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_ppd_server_name } + image: { get_param: pcrf_ppd_image_name } + flavor: { get_param: pcrf_ppd_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_ppd_port_0} + - port: { get_resource: pcrf_ppd_port_1} + - port: { get_resource: pcrf_ppd_port_2} + - port: { get_resource: pcrf_ppd_port_3} + - port: { get_resource: pcrf_ppd_port_4} + - port: { get_resource: pcrf_ppd_port_5} + - port: { get_resource: pcrf_ppd_port_6} + - port: { get_resource: pcrf_ppd_port_7} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_ppd_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_internal_vip } + + pcrf_ppd_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_management_vip } + + pcrf_ppd_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_gx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_gx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_3: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sp_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sp_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_4: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_5: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_rx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_rx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_6: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sd_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sd_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_7: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sgi_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sgi_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pps_v1.0.yaml new file mode 100644 index 0000000..8cb6e15 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-pps_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_name: + type: string + label: PCRF PS server name + description: PCRF PS server name + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pps_server_name } + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pps: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pps_server_name } + image: { get_param: pcrf_pps_image_name } + flavor: { get_param: pcrf_pps_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pps_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pps_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-psm_v1.0.yaml new file mode 100644 index 0000000..64c7484 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/nested-psm_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_name: + type: string + label: PCRF SM server name + description: PCRF SM server name + pcrf_psm_image_name: + type: string + label: image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_psm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_psm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_psm_server_name } + image: { get_param: pcrf_psm_image_name } + flavor: { get_param: pcrf_psm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: psm01_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + #scheduler_hints: {group: { get_resource: servergroup_nimbus }} + + psm01_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..7f1051d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/artifacts/vnf-module-artifact.json @@ -0,0 +1,17 @@ +[ + { + "vfModuleModelName": "VF_RI2_G6_withArtifacts::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI2_G6_withArtifacts::module-1.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID2", + "NestedArtifact-UUID3", + "ScriptArtifact-UUID1", + "VolumeArtifact-UUID1", + "VolumeEnvArtifact-UUID1" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/notif-structure.json new file mode 100644 index 0000000..fc017ac --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V3/notif-structure.json @@ -0,0 +1,116 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f133", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f34g", + "serviceVersion": "3.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "2.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID2", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + "NestedArtifact-UUID3", + "ScriptArtifact-UUID1" + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Script for OAM", + "artifactName": "mount_iso_script.sh", + + "artifactType": "HEAT_ARTIFACT", + "artifactURL": "mount_iso_script.sh", + "artifactUUID": "ScriptArtifact-UUID1", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_VOL", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactUUID": "VolumeArtifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "VolumeEnvArtifact-UUID1" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Env Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.env", + "artifactUUID": "VolumeEnvArtifact-UUID1", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "test service for unit testing", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d65" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.env new file mode 100644 index 0000000..b494d8c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.env @@ -0,0 +1,6 @@ +parameters: + pcrf_oam_vol_size: 500 + pcrf_oam_volume_silver-1: Silver + pcrf_oam_volume_silver-2: Silver + pcrf_oam_vol_name_1: sde1-pcrfx01-oam001-vol-1 + pcrf_oam_vol_name_2: sde1-pcrfx01-oam001-vol-2 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.yaml new file mode 100644 index 0000000..9e12054 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam-volumes_v1.0.yaml @@ -0,0 +1,45 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_oam_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_oam_vol_name_1: + type: string + label: OAM volume name 1 + description: Assigning name to volume + pcrf_oam_vol_name_2: + type: string + label: OAM volume name 2 + description: Assigning name to volume + pcrf_oam_volume_silver-1: + type: string + label: vm volume type + description: the name of the target volume backend for OAM1 + pcrf_oam_volume_silver-2: + type: string + label: vm volume type + description: the name of the target volume backend for OAM2 + +resources: + pcrf_oam_volume_1: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-1} + name: {get_param: pcrf_oam_vol_name_1} + + pcrf_oam_volume_2: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-2} + name: {get_param: pcrf_oam_vol_name_2} +outputs: + pcrf_oam_volume_id_1: + description: the oam 001 volume id + value: { get_resource: pcrf_oam_volume_1 } + pcrf_oam_volume_id_2: + description: the oam 002 volume id + value: { get_resource: pcrf_oam_volume_2 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..98c4e3b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.env new file mode 100644 index 0000000..788365d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.env @@ -0,0 +1,4 @@ +parameters: + pcrf_pcm_vol_size: 50 + pcrf_pcm_volume_silver: Silver + pcrf_pcm_vol_name_1: sde1-pcrfx01-pcm001-vol-1 diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml new file mode 100644 index 0000000..bcc3e89 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml @@ -0,0 +1,28 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_pcm_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_pcm_vol_name_1: + type: string + label: PCM volume name + description: Assigning name to volume + pcrf_pcm_volume_silver: + type: string + label: vm volume type + description: the name of the target volume backend for PCM + +resources: + pcrf_pcm_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: pcrf_pcm_vol_size } + volume_type: { get_param: pcrf_pcm_volume_silver } + name: { get_param: pcrf_pcm_vol_name_1 } + +outputs: + pcrf_pcm_volume_id_1: + description: the pcrf_pcm_volume_id + value: { get_resource: pcrf_pcm_volume_1 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.env new file mode 100644 index 0000000..b23014d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.env @@ -0,0 +1,16 @@ +parameters: + pcrf_pcm_server_names: ZRDM1PCRF01PCM001 + pcrf_pcm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pcm_flavor_name: lc.2xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.113 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.121 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_pcm_volume_id_1: 3438a3fe-1241-4390-80f2-d0b86238c40e + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.yaml new file mode 100644 index 0000000..defb373 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pcm_v1.0.yaml @@ -0,0 +1,80 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_names: + type: comma_delimited_list + label: PCRF CM server names + description: name of the PCRF CM instance + pcrf_pcm_image_name: + type: string + label: PCRF CM image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id_1: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pcm_001: + type: nested-pcm_v1.0.yaml + properties: + pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] } + pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name } + pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.0.yaml new file mode 100644 index 0000000..8631592 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.0.yaml @@ -0,0 +1,286 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_names: + type: comma_delimited_list + label: PCRF PD server names + description: name of the PCRF PD instance + pcrf_ppd_image_name: + type: string + label: PCRF PD image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ips: + type: comma_delimited_list + label: Gx network ips + description: Gx network ips + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ips: + type: comma_delimited_list + label: Sp network ips + description: Sp network ips + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ips: + type: comma_delimited_list + label: Sy network ips + description: Sy network ips + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ips: + type: comma_delimited_list + label: Rx network ips + description: Rx network ips + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ips: + type: comma_delimited_list + label: Sd network ips + description: Sd network ips + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ips: + type: comma_delimited_list + label: Sgi Sy network ips + description: Sgi Sy network ips + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_ppd_001: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 0] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 0] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 0] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 0] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 0] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 0] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 0] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_002: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 1] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 1] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 1] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 1] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 1] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 1] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 1] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_003: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 2] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 2] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 2] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 2] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 2] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 2] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 2] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 2] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_004: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 3] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 3] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 3] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 3] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 3] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 3] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 3] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 3] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.1.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.1.env new file mode 100644 index 0000000..10697bc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-ppd_v1.1.env @@ -0,0 +1,35 @@ +parameters: + pcrf_ppd_server_names: ZRDM1PCRF01PPD001,ZRDM1PCRF01PPD002,ZRDM1PCRF01PPD003,ZRDM1PCRF01PPD004 + pcrf_ppd_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_ppd_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.3,172.26.16.4,172.26.16.5,172.26.16.6 + pcrf_lb_internal_vip: 172.26.16.114 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.113,107.239.64.114,107.239.64.115,107.239.64.116 + pcrf_lb_management_vip: 107.239.64.123 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_gx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_gx_net_0 + pcrf_gx_net_ips: 107.239.24.67,107.239.24.68,107.239.24.69,107.239.24.70 + pcrf_gx_net_mask: 255.255.255.248 + pcrf_sp_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sp_net_0 + pcrf_sp_net_ips: 107.239.24.75,107.239.24.76,107.239.24.77,107.239.24.78 + pcrf_sp_net_mask: 255.255.255.248 + pcrf_sy_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sy_net_0 + pcrf_sy_net_ips: 107.239.24.83,107.239.24.84,107.239.24.85,107.239.24.86 + pcrf_sy_net_mask: 255.255.255.248 + pcrf_rx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_rx_net_0 + pcrf_rx_net_ips: 107.239.24.91,107.239.24.92,107.239.24.93,107.239.24.94 + pcrf_rx_net_mask: 255.255.255.248 + pcrf_sd_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sd_net_0 + pcrf_sd_net_ips: 107.239.24.99,107.239.24.100,107.239.24.101,107.239.24.102 + pcrf_sd_net_mask: 255.255.255.248 + pcrf_sgi_sy_net_name: Mobisupport-25193-I-INT1_sgi_pcrf_sy_net_0 + pcrf_sgi_sy_net_ips: 107.239.26.131,107.239.26.132,107.239.26.133,107.239.26.134 + pcrf_sgi_sy_net_mask: 255.255.255.248 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.env new file mode 100644 index 0000000..18c064c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.env @@ -0,0 +1,11 @@ +parameters: + pcrf_pps_server_names: ZRDM1PCRF01PPS001,ZRDM1PCRF01PPS002,ZRDM1PCRF01PPS003,ZRDM1PCRF01PPS004,ZRDM1PCRF01PPS005,ZRDM1PCRF01PPS006 + pcrf_pps_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pps_flavor_name: lc.3xlarge + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.7,172.26.16.8,172.26.16.9,172.26.16.10,172.26.16.11,172.26.16.12 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.yaml new file mode 100644 index 0000000..0fadd00 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-pps_v1.0.yaml @@ -0,0 +1,121 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_names: + type: comma_delimited_list + label: PCRF PS server names + description: PCRF PS server names + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pps_001: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_002: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_003: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_004: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_005: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_006: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.env new file mode 100644 index 0000000..95e450e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.env @@ -0,0 +1,10 @@ +parameters: + pcrf_psm_server_names: ZRDM1PCRF01PSM001,ZRDM1PCRF01PSM002,ZRDM1PCRF01PSM003,ZRDM1PCRF01PSM004,ZRDM1PCRF01PSM005,ZRDM1PCRF01PSM006,ZRDM1PCRF01PSM007,ZRDM1PCRF01PSM008,ZRDM1PCRF01PSM009,ZRDM1PCRF01PSM010,ZRDM1PCRF01PSM011,ZRDM1PCRF01PSM012 + pcrf_psm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_psm_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.63,172.26.16.64,172.26.16.65,172.26.16.66,172.26.16.67,172.26.16.68,172.26.16.69,172.26.16.70,172.26.16.71,172.26.16.72,172.26.16.73,172.26.16.74 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.yaml new file mode 100644 index 0000000..217b0fe --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-psm_v1.0.yaml @@ -0,0 +1,199 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_names: + type: comma_delimited_list + label: PCRF SM server names + description: name of the PCRF SM instance + pcrf_psm_image_name: + type: string + label: PCRF SM image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_psm_001: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_002: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_003: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_004: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_005: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_006: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_007: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_008: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_009: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_010: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_011: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_012: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.env new file mode 100644 index 0000000..5267ee4 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.env @@ -0,0 +1,3 @@ +parameters: + pcrf_swift_container_name_1: PCRF_Config_Container_1 + pcrf_swift_container_purge_on_delete_flag_1: false diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.yaml new file mode 100644 index 0000000..ab427bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/hot-nimbus-swift-container_v1.0.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_swift_container_name_1: + type: string + label: Swift Container name + description: Swift Container Name + pcrf_swift_container_purge_on_delete_flag_1: + type: boolean + label: Purge on Delete Flag + description: Purge on Delete Flag + +resources: + pcrf_swift_container_1: + type: OS::Swift::Container + properties: + name: { get_param: pcrf_swift_container_name_1 } + PurgeOnDelete: { get_param: pcrf_swift_container_purge_on_delete_flag_1 } + X-Container-Read: ".r:*" + +outputs: + pcrf_swift_container_id_1: + description: the pcrf_swift_container_1 id + value: { get_resource: pcrf_swift_container_1 } + pcrf_swift_container_url_1: + description: the pcrf_swift_container_1 url + value: { get_attr: [ pcrf_swift_container_1, WebsiteURL ] } + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/mount_iso_script.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/mount_iso_script.sh new file mode 100644 index 0000000..91df598 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/mount_iso_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +#. .config +#following would be in the .config file + device_name="/dev/vde" + install_script="install_nimbus.sh" + enable_logic_flag_file=".flag" +#end of config file + +#get the semaphore, 0 - disbaled, 1- enabled +flag=$(cat ${enable_logic_flag_file}) + +#check if device is mounted already +test=$(mount | grep ${device_name}) +if [ "$flag" == "1" ]; then + if [ -e ${device_name} ] && [ ! "${test}" ]; then + #mount the iso image + mount -t iso9660 -v -o loop /dev/vde/ /mnt/iso + #if availabe run the install script (it contains the install.sh steps) + if [ -e "${install_script}" ] && [ -f "${install_script}" ]; then + ${install_script} + fi + #disable the script from attempting to + # mount and run install again until needed; + echo "0" > ${enable_logic_flag_file} + #if nedeed add step to comment out the crontab line here; + fi +else + echo "Auto mounting ISO & run install logic disabled!" +fi + +#cron job +# * * * * * /mount_iso_script.sh + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pcm_v1.0.yaml new file mode 100644 index 0000000..a3129bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pcm_v1.0.yaml @@ -0,0 +1,150 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_name: + type: string + label: PCRF CM server name + description: PCRF CM server name + pcrf_pcm_image_name: + type: string + label: image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pcm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pcm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pcm_server_name } + image: { get_param: pcrf_pcm_image_name } + flavor: { get_param: pcrf_pcm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pcm_port_0} + - port: { get_resource: pcrf_pcm_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pcm_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_pcm_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_pcm_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_pcm } + +outputs: + pcrf_server_pcm_id: + description: the pcm server id + value: { get_resource: pcrf_server_pcm } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-ppd_v1.0.yaml new file mode 100644 index 0000000..169522b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-ppd_v1.0.yaml @@ -0,0 +1,333 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_name: + type: string + label: PCRF PD server name + description: PCRF PD server name + pcrf_ppd_image_name: + type: string + label: image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ip: + type: string + label: Gx network ip + description: Gx network ip + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ip: + type: string + label: Sp network ip + description: Sp network ip + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ip: + type: string + label: Sy network ip + description: Sy network ip + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ip: + type: string + label: Rx network ip + description: Rx network ip + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ip: + type: string + label: Sd network ip + description: Sd network ip + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ip: + type: string + label: Sgi Sy network ip + description: Sgi Sy network ip + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + - path: /etc/sysconfig/network-scripts/ifcfg-eth2 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth2 + $ip: { get_param: pcrf_gx_net_ip } + $netmask: { get_param: pcrf_gx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth3 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth3 + $ip: { get_param: pcrf_sp_net_ip } + $netmask: { get_param: pcrf_sp_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth4 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth4 + $ip: { get_param: pcrf_sy_net_ip } + $netmask: { get_param: pcrf_sy_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth5 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth5 + $ip: { get_param: pcrf_rx_net_ip } + $netmask: { get_param: pcrf_rx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth6 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth6 + $ip: { get_param: pcrf_sd_net_ip } + $netmask: { get_param: pcrf_sd_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth7 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth7 + $ip: { get_param: pcrf_sgi_sy_net_ip } + $netmask: { get_param: pcrf_sgi_sy_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + - ifdown eth2 && ifup eth2 + - ifdown eth3 && ifup eth3 + - ifdown eth4 && ifup eth4 + - ifdown eth5 && ifup eth5 + - ifdown eth6 && ifup eth6 + - ifdown eth7 && ifup eth7 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_ppd_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_ppd: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_ppd_server_name } + image: { get_param: pcrf_ppd_image_name } + flavor: { get_param: pcrf_ppd_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_ppd_port_0} + - port: { get_resource: pcrf_ppd_port_1} + - port: { get_resource: pcrf_ppd_port_2} + - port: { get_resource: pcrf_ppd_port_3} + - port: { get_resource: pcrf_ppd_port_4} + - port: { get_resource: pcrf_ppd_port_5} + - port: { get_resource: pcrf_ppd_port_6} + - port: { get_resource: pcrf_ppd_port_7} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_ppd_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_internal_vip } + + pcrf_ppd_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_management_vip } + + pcrf_ppd_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_gx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_gx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_3: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sp_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sp_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_4: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_5: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_rx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_rx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_6: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sd_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sd_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_7: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sgi_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sgi_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pps_v1.0.yaml new file mode 100644 index 0000000..8cb6e15 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-pps_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_name: + type: string + label: PCRF PS server name + description: PCRF PS server name + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pps_server_name } + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pps: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pps_server_name } + image: { get_param: pcrf_pps_image_name } + flavor: { get_param: pcrf_pps_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pps_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pps_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-psm_v1.0.yaml new file mode 100644 index 0000000..64c7484 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/nested-psm_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_name: + type: string + label: PCRF SM server name + description: PCRF SM server name + pcrf_psm_image_name: + type: string + label: image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_psm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_psm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_psm_server_name } + image: { get_param: pcrf_psm_image_name } + flavor: { get_param: pcrf_psm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: psm01_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + #scheduler_hints: {group: { get_resource: servergroup_nimbus }} + + psm01_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..7f1051d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/artifacts/vnf-module-artifact.json @@ -0,0 +1,17 @@ +[ + { + "vfModuleModelName": "VF_RI2_G6_withArtifacts::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI2_G6_withArtifacts::module-1.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID2", + "NestedArtifact-UUID3", + "ScriptArtifact-UUID1", + "VolumeArtifact-UUID1", + "VolumeEnvArtifact-UUID1" + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/notif-structure.json new file mode 100644 index 0000000..ccf80ce --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V4/notif-structure.json @@ -0,0 +1,116 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f35h", + "serviceVersion": "4.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "2.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID2", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + "NestedArtifact-UUID3", + "ScriptArtifact-UUID1" + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Script for OAM", + "artifactName": "mount_iso_script.sh", + + "artifactType": "HEAT_ARTIFACT", + "artifactURL": "mount_iso_script.sh", + "artifactUUID": "ScriptArtifact-UUID1", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_VOL", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactUUID": "VolumeArtifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "VolumeEnvArtifact-UUID1" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Env Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.env", + "artifactUUID": "VolumeEnvArtifact-UUID1", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "test service for unit testing", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d65" +} \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/att_nimbus_vsaegw_ht_base_v13_0728v1.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/att_nimbus_vsaegw_ht_base_v13_0728v1.yaml new file mode 100644 index 0000000..2aa58fb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/att_nimbus_vsaegw_ht_base_v13_0728v1.yaml @@ -0,0 +1,3374 @@ + +heat_template_version: 2013-05-23 + + +description: SAEGW (version 20.1.0v) HEAT Template (2CFs and 10SFs) + +parameters: +# description: instance name + vnf_name: + type: string + description: Unique name for this VF instance +# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC + vnf_id: + type: string + description: Unique ID for this VF instance +# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC + vf_module_id: + type: string + description: Unique ID for this VF Module instance +# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC + admin_password: + type: string + description: cf instance admin password + cf_oam_protected_vip: + type: string + description: cf instance mgmt vip address + cf_vpc_vip_gateway: + type: string + description: cf instance mgmt gateway address + availability_zone_0: + type: string + description: Availability_zone where the VNF should be created + cf_image_name_0: + type: string + description: instance cf1 image + cf_image_name_1: + type: string + description: instance cf2 image + sf_image_name: + type: string + description: instance sf image + cf_flavor_name: + type: string + description: instance flavor for CFs + sf_flavor_name: + type: string + description: instance flavor for SFs + oam_protected_net_name: + type: string + description: instance oam network + oam_calea_net_name: + type: string + description: network name of service network 5 + int_icsr_net_name: + type: string + description: network name of service network 6 + cgwy_int_di2_net_name: + type: string + description: network name of DI Internal network + cf_oam_protected_ip_0: + type: string + description: Static IP for CF01 management Neutron port + cf_oam_protected_ip_1: + type: string + description: Static IP for CF02 management Neutron port + sf_gn_ips: + type: comma_delimited_list + description: Static IPs for Gn IPv4 Ports + sf_cor_ips: + type: comma_delimited_list + description: Static IPs for Cor IPv4 Ports + sf_sgi_prot_ips: + type: comma_delimited_list + description: Static IPs for SGi Ports + sf_sgi_ims_ips: + type: comma_delimited_list + description: Static IPs for Sgi IMS Ports + sf_oam_calea_ips: + type: comma_delimited_list + description: Static IPs for OAM Calea Ports + sf_int_icsr_ips: + type: comma_delimited_list + description: Static IPs for icsr Ports + + sf_gn_v6_ips: + type: comma_delimited_list + description: Static IPs for Gn IPv6 Ports + sf_cor_v6_ips: + type: comma_delimited_list + description: Static IPs for Cor IPv6 Ports + sf_sgi_prot_v6_ips: + type: comma_delimited_list + description: Static IPs for SGi Ports + sf_sgi_ims_v6_ips: + type: comma_delimited_list + description: Static IPs for Sgi IMS Ports +# Added per AIC team request +# srv_grp_sf: +# type: string +# description: Service Group Description + + cgwy_names: + type: comma_delimited_list + description: VM hostname + cf_name: + type: string + description: CF GW Cluster Name + cf_volume_size_0: + type: string + description: volume for CF1 + cf_volume_size_1: + type: string + description: volume for CF2 + gn_net_fqdn: + type: string + description: GN network FQ name + sgi_net_fqdn: + type: string + description: SGI network FQ name + ims_net_fqdn: + type: string + description: IMS network FQ name + cor_net_fqdn: + type: string + description: COR network FQ name + vmi_allowed_address_pair_address_mode: + type: string + description: allow address paire active-active mode + vmi_allowed_address_pair_prefix_lenth: + type: string + description: IPv4 VIP prefix length + sf_gn_rii_v6: + type: string + description: GN IPv6 VIP loopback + sf_cor_rii_v6: + type: string + description: COR IPv6 VIP loopback + sf_sgi_rii_v6: + type: string + description: SGI IPv6 VIP loopback + sf_ims_rii_v6: + type: string + description: IMS IPv4 VIP loopback + vmi_allowed_address_pair_prefix_lenth_v6: + type: string + description: IPv6 VIP prefix length + instance_ip_family_v6: + type: string + description: iip address family IPv6 + + + + bgpaas_name: + type: comma_delimited_list + description: name for the BgpAsAService + bgpaas_autonomous_system: + type: number + description: AS for the BgpAsAService + constraints: + - range: {min: 0, max: 999999} + bgpaas_ip_address: + type: comma_delimited_list + description: bgpaas peer address for the BgpAsAService + bgpaas_session_attributes_passive: + type: boolean + description: passive mode selection for the BgpAsAService + bgpaas_session_attributes_hold_time: + type: number + description: hold_time for the BgpAsAService + constraints: + - range: {min: 0, max: 999} + bgpaas_session_attributes_admin_down: + type: boolean + description: admin_down for the BgpAsAService + bgpaas_session_attributes_address_families_family_4: + type: string + description: family for the BgpAsAService + bgpaas_session_attributes_address_families_family_6: + type: string + description: family for the BgpAsAService + bgpaas_session_attributes_family_attributes_af_4: + type: string + description: address_family ipv4 unitcast for the BgpAsAService + bgpaas_session_attributes_family_attributes_loop_count_4: + type: number + description: loop_count ipv4 unitcast for the BgpAsAService + constraints: + - range: {min: 0, max: 999} + bgpaas_session_attributes_family_attributes_prefix_limit_maximum_4: + type: number + description: maximum prefix ipv4 unicast for the BgpAsAService + constraints: + - range: {min: 0, max: 9999} + bgpaas_session_attributes_family_attributes_af_6: + type: string + description: address_family v6_ips unicast for the BgpAsAService + bgpaas_session_attributes_family_attributes_loop_count_6: + type: number + description: loop_count v6_ips unicast for the BgpAsAService + constraints: + - range: {min: 0, max: 999} + bgpaas_session_attributes_family_attributes_prefix_limit_maximum_6: + type: number + description: maximum v6_ips unicast for the BgpAsAService + constraints: + - range: {min: 0, max: 9999} + sf_shc_enabled: + type: boolean + description: enabled for the ServiceHealthCheck + sf_shc_monitor_type: + type: string + description: monitor_type for the ServiceHealthCheck + sf_shc_delay: + type: number + description: delay for the ServiceHealthCheck + constraints: + - range: {min: 0, max: 999} + sf_shc_timeout: + type: number + description: timeout for the ServiceHealthCheck + constraints: + - range: {min: 0, max: 999} + sf_shc_max_retries: + type: number + description: max_retries for the ServiceHealthCheck + constraints: + - range: {min: 0, max: 999} + sf_shc_url_path: + type: string + description: url for the ServiceHealthCheck + + +resources: + # Create anti-affinity Server Group + cf_vpc-servergroup: + type: OS::Nova::ServerGroup + properties: + policies: + - anti-affinity + # Create anti-affinity Server Group + sf_vpc-servergroup: + type: OS::Nova::ServerGroup + properties: + policies: + - anti-affinity + + + # Create CF1 and CF2 ports on DI Internal Network DI Management Network + cf_int_di2_0_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} + + cf_mgmt_0_port: + type: OS::Neutron::Port + properties: + network: {get_param: oam_protected_net_name} + fixed_ips: [{"ip_address": {get_param: cf_oam_protected_ip_0}}] + allowed_address_pairs: [{"ip_address": {get_param: cf_oam_protected_vip}}] + + cf_int_di2_1_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} + + cf_mgmt_1_port: + type: OS::Neutron::Port + properties: + network: {get_param: oam_protected_net_name} + fixed_ips: [{"ip_address": {get_param: cf_oam_protected_ip_1}}] + allowed_address_pairs: [{"ip_address": {get_param: cf_oam_protected_vip}}] + + # Create hard drives for CF1 and CF2 to store CDR + cf_volume_name_0: + type: OS::Cinder::Volume + properties: + size: { get_param: cf_volume_size_0 } + # volume_type: iscsi + + cf_volume_name_1: + type: OS::Cinder::Volume + properties: + size: { get_param: cf_volume_size_1 } + # volume_type: iscsi + + # Create CF1 instance + cf_server0: + type: OS::Nova::Server + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DCF +# ${VM_NUM}: "001" + name: {get_param: [cgwy_names, 0]} + image: {get_param: cf_image_name_0} + flavor: {get_param: cf_flavor_name} + availability_zone: {get_param: availability_zone_0} + config_drive: True + networks: + - port: {get_resource: cf_int_di2_0_port} + - port: {get_resource: cf_mgmt_0_port} +# Tempoarry comment out for testing + scheduler_hints: + group: {get_resource: cf_vpc-servergroup} + personality: + # Associate VM to slot-1 and identify it is a CF + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=${CARD_NUMBER} + CARDTYPE=${CARD_TYPE} + CPUID=${CPUID} + params: + ${CARD_NUMBER}: 1 + ${CARD_TYPE}: CFC + ${CPUID}: 0 + # Day-0 config for CF1 + "staros_config.txt": + str_replace: + template: | + config + system hostname ${HOSTNAME} + ssh key-gen wait-time 0 + context local + administrator admin password ${ADMIN_PASSWD} ftp + interface LOCAL1 + ip address ${CF_VIP_ADDR} 255.255.255.0 + #exit + ip route 0.0.0.0 0.0.0.0 ${CF_VIP_GATEWAY} LOCAL1 + ssh generate key + server sshd + subsystem sftp + #exit + #exit + port ethernet 1/1 + bind interface LOCAL1 local + no shutdown + #exit + snmp community public read-only + end + chassis key value Cisco12345 + params: +# system hostname Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} + +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DCF + #${VM_NUM}: "01" + ${HOSTNAME}: {get_param: cf_name} + ${ADMIN_PASSWD}: {get_param: admin_password} + ${CF_VIP_ADDR}: {get_param: cf_oam_protected_vip} + ${CF_VIP_GATEWAY}: {get_param: cf_vpc_vip_gateway} + + # Attach hard drive (CDR) to CF1 instance + cf_volume_att_0: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: cf_server0 } + volume_id: { get_resource: cf_volume_name_0 } + + # Create CF2 instance + cf_server1: + type: OS::Nova::Server + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DCF +# ${VM_NUM}: "002" + name: {get_param: [cgwy_names, 1]} + image: {get_param: cf_image_name_1} + flavor: {get_param: cf_flavor_name} + availability_zone: {get_param: availability_zone_0} + config_drive: True + networks: + - port: {get_resource: cf_int_di2_1_port} + - port: {get_resource: cf_mgmt_1_port} +# commented out for testing only + scheduler_hints: + group: {get_resource: cf_vpc-servergroup} + personality: + # Associate VM to slot-2 and identify it is a CF + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=${CARD_NUMBER} + CARDTYPE=${CARD_TYPE} + CPUID=${CPUID} + params: + ${CARD_NUMBER}: 2 + ${CARD_TYPE}: CFC + ${CPUID}: 0 + # Day-0 config for CF2 + "staros_config.txt": + str_replace: + template: | + config + system hostname ${HOSTNAME} + ssh key-gen wait-time 0 + context local + administrator admin password ${ADMIN_PASSWD} ftp + interface LOCAL1 + ip address ${CF_VIP_ADDR} 255.255.255.0 + #exit + ip route 0.0.0.0 0.0.0.0 ${CF_VIP_GATEWAY} LOCAL1 + ssh generate key + server sshd + subsystem sftp + #exit + #exit + port ethernet 1/1 + bind interface LOCAL1 local + no shutdown + #exit + snmp community public read-only + end + chassis key value Cisco12345 + params: +# system hostname Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DCF +# ${VM_NUM}: "01" + ${HOSTNAME}: {get_param: cf_name} + ${ADMIN_PASSWD}: {get_param: admin_password} + ${CF_VIP_ADDR}: {get_param: cf_oam_protected_vip} + ${CF_VIP_GATEWAY}: {get_param: cf_vpc_vip_gateway} + + # Attach hard drive (CDR) to CF2 instance + cf_volume_att_1: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: cf_server1 } + volume_id: { get_resource: cf_volume_name_1 } + + #### SF03 ###### + # Create port for DI-Internal Network + sf_int_di2_2_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF3_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - {get_param: gn_net_fqdn} +# service_health_check_refs: +# - { get_resource: SF3_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF3_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 0] } + + SF3_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 0] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF3_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF3_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF3_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF3_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF3_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 0] } + + SF3_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 0] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF3_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF3_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF3_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF3_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF3_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 0] } + + SF3_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 0] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF3_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF3_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF3_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF3_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF3_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 0] } + + SF3_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF3_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF3_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 0] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF3_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF3_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + + + + # Create port for Transport interface in LI Context + SF3_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 0]}}] + # Create port for Transport interface in SRP Context + SF3_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 0]}}] + + # Create VPC SF 03 Instance + sf_server_2: + type: OS::Nova::Server + depends_on: [ SF3_GN_10_RII, SF3_GN_10_v6_RII, SF3_SGI_11_RII, SF3_SGI_11_v6_RII, SF3_IMS_12_RII, SF3_IMS_12_v6_RII, SF3_COR_13_RII, SF3_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "003" + name: {get_param: [cgwy_names, 2]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_2_port} + - port: {get_resource: SF3_GN_10_RVMI} + - port: {get_resource: SF3_SGI_11_RVMI} + - port: {get_resource: SF3_IMS_12_RVMI} + - port: {get_resource: SF3_COR_13_RVMI} + - port: {get_resource: SF3_OAM_CALEA_14_PORT} + - port: {get_resource: SF3_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 3 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + #### SF04 ###### + # Create port for DI-Internal Network + sf_int_di2_3_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF4_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF4_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF4_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 1] } + + SF4_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 1] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF4_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF4_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF4_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF4_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF4_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 1] } + + SF4_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 1] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF4_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF4_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF4_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF4_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF4_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 1] } + + SF4_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 1] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF4_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF4_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF4_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF4_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF4_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 1] } + + SF4_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF4_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF4_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 1] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF4_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF4_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + + SF4_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 1]}}] + # Create port for Transport interface in SRP Context + SF4_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 1]}}] + + # Create VPC SF 04 Instance + sf_server_3: + type: OS::Nova::Server + depends_on: [ SF4_GN_10_RII, SF4_GN_10_v6_RII, SF4_SGI_11_RII, SF4_SGI_11_v6_RII, SF4_IMS_12_RII, SF4_IMS_12_v6_RII, SF4_COR_13_RII, SF4_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "004" + name: {get_param: [cgwy_names, 3]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_3_port} + - port: {get_resource: SF4_GN_10_RVMI} + - port: {get_resource: SF4_SGI_11_RVMI} + - port: {get_resource: SF4_IMS_12_RVMI} + - port: {get_resource: SF4_COR_13_RVMI} + - port: {get_resource: SF4_OAM_CALEA_14_PORT} + - port: {get_resource: SF4_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 4 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + + #### SF05 ###### + # Create port for DI-Internal Network + sf_int_di2_4_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} + # Create port for Transport Interface in SAEGW Context + SF5_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF5_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF5_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 2] } + + SF5_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 2] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF5_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF5_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF5_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF5_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF5_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 2] } + + SF5_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 2] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF5_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF5_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF5_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF5_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF5_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 2] } + + SF5_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 2] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF5_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF5_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF5_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF5_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF5_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 2] } + + SF5_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF5_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF5_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 2] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF5_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF5_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + + # Create port for Transport interface in LI Context + SF5_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 2]}}] + # Create port for Transport interface in SRP Context + SF5_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 2]}}] + + # Create VPC SF 05 Instance + sf_server_4: + type: OS::Nova::Server + depends_on: [ SF5_GN_10_RII, SF5_GN_10_v6_RII, SF5_SGI_11_RII, SF5_SGI_11_v6_RII, SF5_IMS_12_RII, SF5_IMS_12_v6_RII, SF5_COR_13_RII, SF5_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "005" + name: {get_param: [cgwy_names, 4]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_4_port} + - port: {get_resource: SF5_GN_10_RVMI} + - port: {get_resource: SF5_SGI_11_RVMI} + - port: {get_resource: SF5_IMS_12_RVMI} + - port: {get_resource: SF5_COR_13_RVMI} + - port: {get_resource: SF5_OAM_CALEA_14_PORT} + - port: {get_resource: SF5_INT_ICSR_15_PORT} + + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 5 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + + #### SF06 ###### + # Create port for DI-Internal Network + sf_int_di2_5_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} + # Create port for Transport Interface in SAEGW Context + SF6_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF6_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF6_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 3] } + + SF6_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF6_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + SF6_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 3] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + # Create port for Transport interface(SGi-data) in SGi Context + SF6_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF6_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF6_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 3] } + + SF6_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 3] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF6_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF6_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF6_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF6_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF6_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 3] } + + SF6_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 3] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF6_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF6_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF6_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF6_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF6_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 3] } + + SF6_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF6_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF6_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 3] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF6_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF6_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + + # Create port for Transport interface in LI Context + SF6_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 3]}}] + # Create port for Transport interface in SRP Context + SF6_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 3]}}] + + # Create VPC SF 06 Instance + sf_server_5: + type: OS::Nova::Server + depends_on: [ SF6_GN_10_RII, SF6_GN_10_v6_RII, SF6_SGI_11_RII, SF6_SGI_11_v6_RII, SF6_IMS_12_RII, SF6_IMS_12_v6_RII, SF6_COR_13_RII, SF6_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "006" + name: {get_param: [cgwy_names, 5]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_5_port} + - port: {get_resource: SF6_GN_10_RVMI} + - port: {get_resource: SF6_SGI_11_RVMI} + - port: {get_resource: SF6_IMS_12_RVMI} + - port: {get_resource: SF6_COR_13_RVMI} + - port: {get_resource: SF6_OAM_CALEA_14_PORT} + - port: {get_resource: SF6_INT_ICSR_15_PORT} + + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 6 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + ### SF07 ###### + # Create port for DI-Internal Network + sf_int_di2_6_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF7_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF7_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF7_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 4] } + + SF7_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 4] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF7_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF7_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF7_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF7_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF7_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 4] } + + SF7_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 4] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF7_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF7_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF7_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF7_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF7_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 4] } + + SF7_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 4] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF7_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF7_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF7_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF7_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF7_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 4] } + + SF7_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF7_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF7_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 4] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF7_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF7_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface in LI Context + SF7_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 4]}}] + # Create port for Transport interface in SRP Context + SF7_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 4]}}] + + # Create VPC SF 07 Instance + sf_server_6: + type: OS::Nova::Server + depends_on: [ SF7_GN_10_RII, SF7_GN_10_v6_RII, SF7_SGI_11_RII, SF7_SGI_11_v6_RII, SF7_IMS_12_RII, SF7_IMS_12_v6_RII, SF7_COR_13_RII, SF7_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "007" + name: {get_param: [cgwy_names, 6]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_6_port} + - port: {get_resource: SF7_GN_10_RVMI} + - port: {get_resource: SF7_SGI_11_RVMI} + - port: {get_resource: SF7_IMS_12_RVMI} + - port: {get_resource: SF7_COR_13_RVMI} + - port: {get_resource: SF7_OAM_CALEA_14_PORT} + - port: {get_resource: SF7_INT_ICSR_15_PORT} + + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 7 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + ### SF08 ###### + # Create port for DI-Internal Network + sf_int_di2_7_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF8_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF8_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF8_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 5] } + + SF8_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 5] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF8_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF8_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF8_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF8_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF8_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 5] } + + SF8_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 5] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF8_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF8_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF8_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF8_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF8_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 5] } + + SF8_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 5] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF8_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF8_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF8_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF8_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF8_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 5] } + + SF8_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF8_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF8_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 5] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF8_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF8_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + + SF8_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 5]}}] + # Create port for Transport interface in SRP Context + SF8_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 5]}}] + + # Create VPC SF 08 Instance + sf_server_7: + type: OS::Nova::Server + depends_on: [ SF8_GN_10_RII, SF8_GN_10_v6_RII, SF8_SGI_11_RII, SF8_SGI_11_v6_RII, SF8_IMS_12_RII, SF8_IMS_12_v6_RII, SF8_COR_13_RII, SF8_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "008" + name: {get_param: [cgwy_names, 7]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_7_port} + - port: {get_resource: SF8_GN_10_RVMI} + - port: {get_resource: SF8_SGI_11_RVMI} + - port: {get_resource: SF8_IMS_12_RVMI} + - port: {get_resource: SF8_COR_13_RVMI} + - port: {get_resource: SF8_OAM_CALEA_14_PORT} + - port: {get_resource: SF8_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 8 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + ### SF09 ###### + # Create port for DI-Internal Network + sf_int_di2_8_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF9_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF9_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF9_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 6] } + + SF9_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 6] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF9_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF9_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF9_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF9_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF9_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 6] } + + SF9_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 6] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF9_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF9_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF9_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF9_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF9_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 6] } + + SF9_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 6] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF9_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF9_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF9_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF9_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF9_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 6] } + + SF9_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF9_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF9_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 6] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF9_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF9_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface in LI Context + SF9_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 6]}}] + # Create port for Transport interface in SRP Context + SF9_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 6]}}] + + # Create VPC SF 09 Instance + sf_server_8: + type: OS::Nova::Server + depends_on: [ SF9_GN_10_RII, SF9_GN_10_v6_RII, SF9_SGI_11_RII, SF9_SGI_11_v6_RII, SF9_IMS_12_RII, SF9_IMS_12_v6_RII, SF9_COR_13_RII, SF9_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "009" + name: {get_param: [cgwy_names, 8]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_8_port} + - port: {get_resource: SF9_GN_10_RVMI} + - port: {get_resource: SF9_SGI_11_RVMI} + - port: {get_resource: SF9_IMS_12_RVMI} + - port: {get_resource: SF9_COR_13_RVMI} + - port: {get_resource: SF9_OAM_CALEA_14_PORT} + - port: {get_resource: SF9_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 9 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + ### SF10 ###### + # Create port for DI-Internal Network + sf_int_di2_9_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF10_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF10_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF10_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 7] } + + SF10_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 7] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF10_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF10_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF10_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF10_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF10_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 7] } + + SF10_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 7] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF10_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF10_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF10_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF10_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF10_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 7] } + + SF10_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 7] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF10_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF10_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF10_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF10_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF10_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 7] } + + SF10_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF10_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF10_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 7] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF10_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF10_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface in LI Context + SF10_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 7]}}] + # Create port for Transport interface in SRP Context + SF10_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 7]}}] + + # Create VPC SF 10 Instance + sf_server_9: + type: OS::Nova::Server + depends_on: [ SF10_GN_10_RII, SF10_GN_10_v6_RII, SF10_SGI_11_RII, SF10_SGI_11_v6_RII, SF10_IMS_12_RII, SF10_IMS_12_v6_RII, SF10_COR_13_RII, SF10_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "010" + name: {get_param: [cgwy_names, 9]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_9_port} + - port: {get_resource: SF10_GN_10_RVMI} + - port: {get_resource: SF10_SGI_11_RVMI} + - port: {get_resource: SF10_IMS_12_RVMI} + - port: {get_resource: SF10_COR_13_RVMI} + - port: {get_resource: SF10_OAM_CALEA_14_PORT} + - port: {get_resource: SF10_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 10 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + ### SF11 ###### + # Create port for DI-Internal Network + sf_int_di2_10_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF11_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF11_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF11_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 8] } + + SF11_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 8] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF11_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF11_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF11_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF11_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF11_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 8] } + + SF11_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 8] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF11_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF11_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF11_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF11_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF11_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 8] } + + SF11_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 8] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF11_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF11_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF11_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF11_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF11_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 8] } + + SF11_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF11_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF11_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 8] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF11_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF11_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface in LI Context + SF11_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 8]}}] + # Create port for Transport interface in SRP Context + SF11_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 8]}}] + + # Create VPC SF 11 Instance + sf_server_10: + type: OS::Nova::Server + depends_on: [ SF11_GN_10_RII, SF11_GN_10_v6_RII, SF11_SGI_11_RII, SF11_SGI_11_v6_RII, SF11_IMS_12_RII, SF11_IMS_12_v6_RII, SF11_COR_13_RII, SF11_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "011" + name: {get_param: [cgwy_names, 10]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_10_port} + - port: {get_resource: SF11_GN_10_RVMI} + - port: {get_resource: SF11_SGI_11_RVMI} + - port: {get_resource: SF11_IMS_12_RVMI} + - port: {get_resource: SF11_COR_13_RVMI} + - port: {get_resource: SF11_OAM_CALEA_14_PORT} + - port: {get_resource: SF11_INT_ICSR_15_PORT} + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 11 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + + ### SF12 ###### + # Create port for DI-Internal Network + sf_int_di2_11_port: + type: OS::Neutron::Port + properties: + network: {get_param: cgwy_int_di2_net_name} +# Create port for Transport Interface in SAEGW Context + SF12_GN_10_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: gn_net_fqdn +# service_health_check_refs: +# - { get_resource: SF12_GN_10_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,0] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_gn_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF12_GN_10_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_ips, 9] } + + SF12_GN_10_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_GN_10_RVMI ] + properties: + virtual_network_refs: + - get_param: gn_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_GN_10_RVMI + instance_ip_address: { get_param: [sf_gn_v6_ips, 9] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF12_GN_10_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF12_GN_10_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-data) in SGi Context + SF12_SGI_11_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn +# service_health_check_refs: +# - { get_resource: SF12_SGI_11_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,1] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_sgi_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF12_SGI_11_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_ips, 9] } + + SF12_SGI_11_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_SGI_11_RVMI ] + properties: + virtual_network_refs: + - get_param: sgi_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_SGI_11_RVMI + instance_ip_address: { get_param: [sf_sgi_prot_v6_ips, 9] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF12_SGI_11_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF12_SGI_11_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface(SGi-ims) in SGi Context + SF12_IMS_12_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: ims_net_fqdn +# service_health_check_refs: +# - { get_resource: SF12_IMS_12_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,2] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_ims_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF12_IMS_12_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_ips, 9] } + + SF12_IMS_12_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_IMS_12_RVMI ] + properties: + virtual_network_refs: + - get_param: ims_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_IMS_12_RVMI + instance_ip_address: { get_param: [sf_sgi_ims_v6_ips, 9] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF12_IMS_12_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF12_IMS_12_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport Interface in SUPPORT Context + SF12_COR_13_RVMI: + type: OS::ContrailV2::VirtualMachineInterface + properties: + virtual_network_refs: + - get_param: cor_net_fqdn +# service_health_check_refs: +# - { get_resource: SF12_COR_13_RSHC } + virtual_machine_interface_allowed_address_pairs: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: [bgpaas_ip_address,3] } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth } + - virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: { get_param: vmi_allowed_address_pair_address_mode } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: sf_cor_rii_v6 } + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: { get_param: vmi_allowed_address_pair_prefix_lenth_v6 } + + SF12_COR_13_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_ips, 9] } + + SF12_COR_13_v6_RII: + type: OS::ContrailV2::InstanceIp + depends_on: [ SF12_COR_13_RVMI ] + properties: + virtual_network_refs: + - get_param: cor_net_fqdn + virtual_machine_interface_refs: + - get_resource: SF12_COR_13_RVMI + instance_ip_address: { get_param: [sf_cor_v6_ips, 9] } + instance_ip_family: { get_param: instance_ip_family_v6 } + + SF12_COR_13_RSHC: + type: OS::ContrailV2::ServiceHealthCheck + properties: + name: SF12_COR_13_RSHC + service_health_check_properties: + service_health_check_properties_enabled: { get_param: sf_shc_enabled } + service_health_check_properties_monitor_type: { get_param: sf_shc_monitor_type } + service_health_check_properties_delay: { get_param: sf_shc_delay } + service_health_check_properties_timeout: { get_param: sf_shc_timeout } + service_health_check_properties_max_retries: { get_param: sf_shc_max_retries } + service_health_check_properties_url_path: { get_param: sf_shc_url_path } + + # Create port for Transport interface in LI Context + SF12_OAM_CALEA_14_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: oam_calea_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_oam_calea_ips, 9]}}] + # Create port for Transport interface in SRP Context + SF12_INT_ICSR_15_PORT: + type: OS::Neutron::Port + properties: + network: {get_param: int_icsr_net_name} + fixed_ips: [{"ip_address": {get_param: [sf_int_icsr_ips, 9]}}] + + # Create VPC SF 12 Instance + sf_server_11: + type: OS::Nova::Server + depends_on: [ SF12_GN_10_RII, SF12_GN_10_v6_RII, SF12_SGI_11_RII, SF12_SGI_11_v6_RII, SF12_IMS_12_RII, SF12_IMS_12_v6_RII, SF12_COR_13_RII, SF12_COR_13_v6_RII ] + properties: + metadata: + vnf_id: { get_param: vnf_id } + vnf_name: { get_param: vnf_name } + vf_module_id: { get_param: vf_module_id } + +# name: +# str_replace: +# template: Z${CZ_ID}CGWY${VF_ID}${VM_TYPE}${VM_NUM} +# params: +# ${CZ_ID}: {get_param: czid} +# ${VF_ID}: {get_param: vf_inst_number} +# ${VM_TYPE}: DSF +# ${VM_NUM}: "012" + name: {get_param: [cgwy_names, 11]} + config_drive: True + image: {get_param: sf_image_name} + flavor: {get_param: sf_flavor_name} + networks: + - port: {get_resource: sf_int_di2_11_port} + - port: {get_resource: SF12_GN_10_RVMI} + - port: {get_resource: SF12_SGI_11_RVMI} + - port: {get_resource: SF12_IMS_12_RVMI} + - port: {get_resource: SF12_COR_13_RVMI} + - port: {get_resource: SF12_OAM_CALEA_14_PORT} + - port: {get_resource: SF12_INT_ICSR_15_PORT} + + personality: + "staros_param.cfg": + str_replace: + template: | + CARDSLOT=$CARD_NUMBER + CARDTYPE=$CARD_TYPE + CPUID=$CPUID + params: + $CARD_NUMBER: 12 + $CARD_TYPE: SFC + $CPUID: 0 + availability_zone: {get_param: availability_zone_0} + scheduler_hints: + group: {get_resource: sf_vpc-servergroup} + + BgpAsAService_GN: + type: OS::ContrailV2::BgpAsAService + depends_on: + - SF3_GN_10_RVMI + - SF4_GN_10_RVMI + - SF5_GN_10_RVMI + - SF6_GN_10_RVMI + - SF7_GN_10_RVMI + - SF8_GN_10_RVMI + - SF9_GN_10_RVMI + - SF10_GN_10_RVMI + - SF11_GN_10_RVMI + - SF12_GN_10_RVMI + + properties: + name: { get_param: [bgpaas_name, 0] } + autonomous_system: { get_param: bgpaas_autonomous_system } + virtual_machine_interface_refs: + - { get_resource: SF3_GN_10_RVMI } + - { get_resource: SF4_GN_10_RVMI } + - { get_resource: SF5_GN_10_RVMI } + - { get_resource: SF6_GN_10_RVMI } + - { get_resource: SF7_GN_10_RVMI } + - { get_resource: SF8_GN_10_RVMI } + - { get_resource: SF9_GN_10_RVMI } + - { get_resource: SF10_GN_10_RVMI } + - { get_resource: SF11_GN_10_RVMI } + - { get_resource: SF12_GN_10_RVMI } + + bgpaas_ip_address: { get_param: [bgpaas_ip_address,0] } + bgpaas_session_attributes: + bgpaas_session_attributes_passive: { get_param: bgpaas_session_attributes_passive } + bgpaas_session_attributes_hold_time: { get_param: bgpaas_session_attributes_hold_time } + bgpaas_session_attributes_admin_down: { get_param: bgpaas_session_attributes_admin_down } + bgpaas_session_attributes_address_families: + bgpaas_session_attributes_address_families_family: + - { get_param: bgpaas_session_attributes_address_families_family_4 } + - { get_param: bgpaas_session_attributes_address_families_family_6 } + bgpaas_session_attributes_family_attributes: + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_4 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_4 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_4 } + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_6 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_6 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_6 } + + BgpAsAService_SGI: + type: OS::ContrailV2::BgpAsAService + depends_on: + - SF3_SGI_11_RVMI + - SF4_SGI_11_RVMI + - SF5_SGI_11_RVMI + - SF6_SGI_11_RVMI + - SF7_SGI_11_RVMI + - SF8_SGI_11_RVMI + - SF9_SGI_11_RVMI + - SF10_SGI_11_RVMI + - SF11_SGI_11_RVMI + - SF12_SGI_11_RVMI + + properties: + name: { get_param: [bgpaas_name, 1] } + autonomous_system: { get_param: bgpaas_autonomous_system } + virtual_machine_interface_refs: + - { get_resource: SF3_SGI_11_RVMI } + - { get_resource: SF4_SGI_11_RVMI } + - { get_resource: SF5_SGI_11_RVMI } + - { get_resource: SF6_SGI_11_RVMI } + - { get_resource: SF7_SGI_11_RVMI } + - { get_resource: SF8_SGI_11_RVMI } + - { get_resource: SF9_SGI_11_RVMI } + - { get_resource: SF10_SGI_11_RVMI } + - { get_resource: SF11_SGI_11_RVMI } + - { get_resource: SF12_SGI_11_RVMI } + + bgpaas_ip_address: { get_param: [bgpaas_ip_address,1] } + bgpaas_session_attributes: + bgpaas_session_attributes_passive: { get_param: bgpaas_session_attributes_passive } + bgpaas_session_attributes_hold_time: { get_param: bgpaas_session_attributes_hold_time } + bgpaas_session_attributes_admin_down: { get_param: bgpaas_session_attributes_admin_down } + bgpaas_session_attributes_address_families: + bgpaas_session_attributes_address_families_family: + - { get_param: bgpaas_session_attributes_address_families_family_4 } + - { get_param: bgpaas_session_attributes_address_families_family_6 } + bgpaas_session_attributes_family_attributes: + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_4 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_4 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_4 } + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_6 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_6 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_6 } + + BgpAsAService_IMS: + type: OS::ContrailV2::BgpAsAService + depends_on: + - SF3_IMS_12_RVMI + - SF4_IMS_12_RVMI + - SF5_IMS_12_RVMI + - SF6_IMS_12_RVMI + - SF7_IMS_12_RVMI + - SF8_IMS_12_RVMI + - SF9_IMS_12_RVMI + - SF10_IMS_12_RVMI + - SF11_IMS_12_RVMI + - SF12_IMS_12_RVMI + + properties: + name: { get_param: [bgpaas_name, 2] } + autonomous_system: { get_param: bgpaas_autonomous_system } + virtual_machine_interface_refs: + - { get_resource: SF3_IMS_12_RVMI } + - { get_resource: SF4_IMS_12_RVMI } + - { get_resource: SF5_IMS_12_RVMI } + - { get_resource: SF6_IMS_12_RVMI } + - { get_resource: SF7_IMS_12_RVMI } + - { get_resource: SF8_IMS_12_RVMI } + - { get_resource: SF9_IMS_12_RVMI } + - { get_resource: SF10_IMS_12_RVMI } + - { get_resource: SF11_IMS_12_RVMI } + - { get_resource: SF12_IMS_12_RVMI } + + bgpaas_ip_address: { get_param: [bgpaas_ip_address,2] } + bgpaas_session_attributes: + bgpaas_session_attributes_passive: { get_param: bgpaas_session_attributes_passive } + bgpaas_session_attributes_hold_time: { get_param: bgpaas_session_attributes_hold_time } + bgpaas_session_attributes_admin_down: { get_param: bgpaas_session_attributes_admin_down } + bgpaas_session_attributes_address_families: + bgpaas_session_attributes_address_families_family: + - { get_param: bgpaas_session_attributes_address_families_family_4 } + - { get_param: bgpaas_session_attributes_address_families_family_6 } + bgpaas_session_attributes_family_attributes: + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_4 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_4 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_4 } + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_6 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_6 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_6 } + + BgpAsAService_COR: + type: OS::ContrailV2::BgpAsAService + depends_on: + - SF3_COR_13_RVMI + - SF4_COR_13_RVMI + - SF5_COR_13_RVMI + - SF6_COR_13_RVMI + - SF7_COR_13_RVMI + - SF8_COR_13_RVMI + - SF9_COR_13_RVMI + - SF10_COR_13_RVMI + - SF11_COR_13_RVMI + - SF12_COR_13_RVMI + + properties: + name: { get_param: [bgpaas_name, 3] } + autonomous_system: { get_param: bgpaas_autonomous_system } + virtual_machine_interface_refs: + - { get_resource: SF3_COR_13_RVMI } + - { get_resource: SF4_COR_13_RVMI } + - { get_resource: SF5_COR_13_RVMI } + - { get_resource: SF6_COR_13_RVMI } + - { get_resource: SF7_COR_13_RVMI } + - { get_resource: SF8_COR_13_RVMI } + - { get_resource: SF9_COR_13_RVMI } + - { get_resource: SF10_COR_13_RVMI } + - { get_resource: SF11_COR_13_RVMI } + - { get_resource: SF12_COR_13_RVMI } + + bgpaas_ip_address: { get_param: [bgpaas_ip_address,3] } + bgpaas_session_attributes: + bgpaas_session_attributes_passive: { get_param: bgpaas_session_attributes_passive } + bgpaas_session_attributes_hold_time: { get_param: bgpaas_session_attributes_hold_time } + bgpaas_session_attributes_admin_down: { get_param: bgpaas_session_attributes_admin_down } + bgpaas_session_attributes_address_families: + bgpaas_session_attributes_address_families_family: + - { get_param: bgpaas_session_attributes_address_families_family_4 } + - { get_param: bgpaas_session_attributes_address_families_family_6 } + bgpaas_session_attributes_family_attributes: + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_4 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_4 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_4 } + - bgpaas_session_attributes_family_attributes_address_family: { get_param: bgpaas_session_attributes_family_attributes_af_6 } + bgpaas_session_attributes_family_attributes_loop_count: { get_param: bgpaas_session_attributes_family_attributes_loop_count_6 } + bgpaas_session_attributes_family_attributes_prefix_limit: + bgpaas_session_attributes_family_attributes_prefix_limit_maximum: { get_param: bgpaas_session_attributes_family_attributes_prefix_limit_maximum_6 } + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/cloud-nimbus.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/cloud-nimbus.sh new file mode 100644 index 0000000..48485f3 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/cloud-nimbus.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo "Running first-boot script" +FLAG="first-boot.sh" +echo "First boot run" > ${FLAG} +echo "$vm_name" >> ${FLAG} +touch /var/lib/cloud/instance/payload/launch-params +chmod 644 /var/lib/cloud/instance/payload/launch-params +#for i in $(ls /sys/class/net); do +# echo "Restart $i" >> ${FLAG} +# ifdown ${i} +# ifup ${i} +#done diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.env new file mode 100644 index 0000000..b494d8c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.env @@ -0,0 +1,6 @@ +parameters: + pcrf_oam_vol_size: 500 + pcrf_oam_volume_silver-1: Silver + pcrf_oam_volume_silver-2: Silver + pcrf_oam_vol_name_1: sde1-pcrfx01-oam001-vol-1 + pcrf_oam_vol_name_2: sde1-pcrfx01-oam001-vol-2 \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.yaml new file mode 100644 index 0000000..9e12054 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam-volumes_v1.0.yaml @@ -0,0 +1,45 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_oam_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_oam_vol_name_1: + type: string + label: OAM volume name 1 + description: Assigning name to volume + pcrf_oam_vol_name_2: + type: string + label: OAM volume name 2 + description: Assigning name to volume + pcrf_oam_volume_silver-1: + type: string + label: vm volume type + description: the name of the target volume backend for OAM1 + pcrf_oam_volume_silver-2: + type: string + label: vm volume type + description: the name of the target volume backend for OAM2 + +resources: + pcrf_oam_volume_1: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-1} + name: {get_param: pcrf_oam_vol_name_1} + + pcrf_oam_volume_2: + type: OS::Cinder::Volume + properties: + size: {get_param: pcrf_oam_vol_size} + volume_type: {get_param: pcrf_oam_volume_silver-2} + name: {get_param: pcrf_oam_vol_name_2} +outputs: + pcrf_oam_volume_id_1: + description: the oam 001 volume id + value: { get_resource: pcrf_oam_volume_1 } + pcrf_oam_volume_id_2: + description: the oam 002 volume id + value: { get_resource: pcrf_oam_volume_2 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.env new file mode 100644 index 0000000..7e51e67 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.env @@ -0,0 +1,18 @@ +parameters: + pcrf_oam_server_names: ZRDM1PCRF01OAM001,ZRDM1PCRF01OAM002 + pcrf_oam_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_oam_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.111,172.26.16.112 + pcrf_arbiter_vip: 172.26.16.115 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.117,107.239.64.118 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_oam_volume_id_1: a4aa05fb-fcdc-457b-8077-6845fdfc3257 + pcrf_oam_volume_id_2: 93d8fc1f-f1c3-4933-86b2-039881ee910f + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.yaml new file mode 100644 index 0000000..8f3aae9 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-oam_v1.0.yaml @@ -0,0 +1,109 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates multiple PCRF OAM nodes stack + +parameters: + pcrf_oam_server_names: + type: comma_delimited_list + label: PCRF OAM server names + description: name of the PCRF OAM instance + pcrf_oam_image_name: + type: string + label: PCRF OAM image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id_1: + type: string + label: CPS OAM 001 Cinder Volume + description: CPS OAM 001 Cinder Volumes + pcrf_oam_volume_id_2: + type: string + label: CPS OAM 002 Cinder Volume + description: CPS OAM 002 Cinder Volumes + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_oam_001: + type: file:///nested-oam_v1.0.yaml + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 0] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_oam_002: + type: file:///nested-oam_v1.0.yaml + depends_on: [server_pcrf_oam_001] + properties: + pcrf_oam_server_name: { get_param: [pcrf_oam_server_names, 1] } + pcrf_oam_image_name: { get_param: pcrf_oam_image_name } + pcrf_oam_flavor_name: { get_param: pcrf_oam_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_oam_volume_id: { get_param: pcrf_oam_volume_id_2 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_arbiter_vip: { get_param: pcrf_arbiter_vip } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.env new file mode 100644 index 0000000..788365d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.env @@ -0,0 +1,4 @@ +parameters: + pcrf_pcm_vol_size: 50 + pcrf_pcm_volume_silver: Silver + pcrf_pcm_vol_name_1: sde1-pcrfx01-pcm001-vol-1 diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml new file mode 100644 index 0000000..bcc3e89 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm-volumes_v1.0.yaml @@ -0,0 +1,28 @@ +heat_template_version: 2013-05-23 + +parameters: + pcrf_pcm_vol_size: + type: number + label: Cinder volume size + description: the size of the Cinder volume + pcrf_pcm_vol_name_1: + type: string + label: PCM volume name + description: Assigning name to volume + pcrf_pcm_volume_silver: + type: string + label: vm volume type + description: the name of the target volume backend for PCM + +resources: + pcrf_pcm_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: pcrf_pcm_vol_size } + volume_type: { get_param: pcrf_pcm_volume_silver } + name: { get_param: pcrf_pcm_vol_name_1 } + +outputs: + pcrf_pcm_volume_id_1: + description: the pcrf_pcm_volume_id + value: { get_resource: pcrf_pcm_volume_1 } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.env new file mode 100644 index 0000000..b23014d --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.env @@ -0,0 +1,16 @@ +parameters: + pcrf_pcm_server_names: ZRDM1PCRF01PCM001 + pcrf_pcm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pcm_flavor_name: lc.2xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.113 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.121 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_pcm_volume_id_1: 3438a3fe-1241-4390-80f2-d0b86238c40e + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.yaml new file mode 100644 index 0000000..defb373 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pcm_v1.0.yaml @@ -0,0 +1,80 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_names: + type: comma_delimited_list + label: PCRF CM server names + description: name of the PCRF CM instance + pcrf_pcm_image_name: + type: string + label: PCRF CM image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id_1: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pcm_001: + type: nested-pcm_v1.0.yaml + properties: + pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] } + pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name } + pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.0.yaml new file mode 100644 index 0000000..8631592 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.0.yaml @@ -0,0 +1,286 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_names: + type: comma_delimited_list + label: PCRF PD server names + description: name of the PCRF PD instance + pcrf_ppd_image_name: + type: string + label: PCRF PD image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ips: + type: comma_delimited_list + label: OAM network ips + description: OAM network ips + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ips: + type: comma_delimited_list + label: Gx network ips + description: Gx network ips + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ips: + type: comma_delimited_list + label: Sp network ips + description: Sp network ips + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ips: + type: comma_delimited_list + label: Sy network ips + description: Sy network ips + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ips: + type: comma_delimited_list + label: Rx network ips + description: Rx network ips + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ips: + type: comma_delimited_list + label: Sd network ips + description: Sd network ips + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ips: + type: comma_delimited_list + label: Sgi Sy network ips + description: Sgi Sy network ips + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_ppd_001: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 0] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 0] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 0] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 0] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 0] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 0] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 0] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_002: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 1] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 1] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 1] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 1] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 1] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 1] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 1] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 1] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_003: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 2] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 2] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 2] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 2] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 2] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 2] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 2] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 2] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_ppd_004: + type: nested-ppd_v1.0.yaml + properties: + pcrf_ppd_server_name: { get_param: [pcrf_ppd_server_names, 3] } + pcrf_ppd_image_name: { get_param: pcrf_ppd_image_name } + pcrf_ppd_flavor_name: { get_param: pcrf_ppd_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_lb_internal_vip: { get_param: pcrf_lb_internal_vip } + pcrf_oam_net_name: { get_param: pcrf_oam_net_name } + pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 3] } + pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask } + pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw } + pcrf_lb_management_vip: { get_param: pcrf_lb_management_vip } + pcrf_gx_net_name: { get_param: pcrf_gx_net_name } + pcrf_gx_net_ip: { get_param: [pcrf_gx_net_ips, 3] } + pcrf_gx_net_mask: { get_param: pcrf_gx_net_mask } + pcrf_sp_net_name: { get_param: pcrf_sp_net_name } + pcrf_sp_net_ip: { get_param: [pcrf_sp_net_ips, 3] } + pcrf_sp_net_mask: { get_param: pcrf_sp_net_mask } + pcrf_sy_net_name: { get_param: pcrf_sy_net_name } + pcrf_sy_net_ip: { get_param: [pcrf_sy_net_ips, 3] } + pcrf_sy_net_mask: { get_param: pcrf_sy_net_mask } + pcrf_rx_net_name: { get_param: pcrf_rx_net_name } + pcrf_rx_net_ip: { get_param: [pcrf_rx_net_ips, 3] } + pcrf_rx_net_mask: { get_param: pcrf_rx_net_mask } + pcrf_sd_net_name: { get_param: pcrf_sd_net_name } + pcrf_sd_net_ip: { get_param: [pcrf_sd_net_ips, 3] } + pcrf_sd_net_mask: { get_param: pcrf_sd_net_mask } + pcrf_sgi_sy_net_name: { get_param: pcrf_sgi_sy_net_name } + pcrf_sgi_sy_net_ip: { get_param: [pcrf_sgi_sy_net_ips, 3] } + pcrf_sgi_sy_net_mask: { get_param: pcrf_sgi_sy_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.1.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.1.env new file mode 100644 index 0000000..10697bc --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-ppd_v1.1.env @@ -0,0 +1,35 @@ +parameters: + pcrf_ppd_server_names: ZRDM1PCRF01PPD001,ZRDM1PCRF01PPD002,ZRDM1PCRF01PPD003,ZRDM1PCRF01PPD004 + pcrf_ppd_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_ppd_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.3,172.26.16.4,172.26.16.5,172.26.16.6 + pcrf_lb_internal_vip: 172.26.16.114 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_oam_net_name: MNS-25180-L-01_oam_protected_net_0 + pcrf_oam_net_ips: 107.239.64.113,107.239.64.114,107.239.64.115,107.239.64.116 + pcrf_lb_management_vip: 107.239.64.123 + pcrf_oam_net_gw: 107.239.64.1 + pcrf_oam_net_mask: 255.255.248.0 + pcrf_gx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_gx_net_0 + pcrf_gx_net_ips: 107.239.24.67,107.239.24.68,107.239.24.69,107.239.24.70 + pcrf_gx_net_mask: 255.255.255.248 + pcrf_sp_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sp_net_0 + pcrf_sp_net_ips: 107.239.24.75,107.239.24.76,107.239.24.77,107.239.24.78 + pcrf_sp_net_mask: 255.255.255.248 + pcrf_sy_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sy_net_0 + pcrf_sy_net_ips: 107.239.24.83,107.239.24.84,107.239.24.85,107.239.24.86 + pcrf_sy_net_mask: 255.255.255.248 + pcrf_rx_net_name: Mobisupport-25193-I-INT1_cor_pcrf_rx_net_0 + pcrf_rx_net_ips: 107.239.24.91,107.239.24.92,107.239.24.93,107.239.24.94 + pcrf_rx_net_mask: 255.255.255.248 + pcrf_sd_net_name: Mobisupport-25193-I-INT1_cor_pcrf_sd_net_0 + pcrf_sd_net_ips: 107.239.24.99,107.239.24.100,107.239.24.101,107.239.24.102 + pcrf_sd_net_mask: 255.255.255.248 + pcrf_sgi_sy_net_name: Mobisupport-25193-I-INT1_sgi_pcrf_sy_net_0 + pcrf_sgi_sy_net_ips: 107.239.26.131,107.239.26.132,107.239.26.133,107.239.26.134 + pcrf_sgi_sy_net_mask: 255.255.255.248 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.env new file mode 100644 index 0000000..18c064c --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.env @@ -0,0 +1,11 @@ +parameters: + pcrf_pps_server_names: ZRDM1PCRF01PPS001,ZRDM1PCRF01PPS002,ZRDM1PCRF01PPS003,ZRDM1PCRF01PPS004,ZRDM1PCRF01PPS005,ZRDM1PCRF01PPS006 + pcrf_pps_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_pps_flavor_name: lc.3xlarge + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.7,172.26.16.8,172.26.16.9,172.26.16.10,172.26.16.11,172.26.16.12 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.yaml new file mode 100644 index 0000000..0fadd00 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-pps_v1.0.yaml @@ -0,0 +1,121 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_names: + type: comma_delimited_list + label: PCRF PS server names + description: PCRF PS server names + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_pps_001: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_002: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_003: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_004: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_005: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_pps_006: + type: nested-pps_v1.0.yaml + properties: + pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] } + pcrf_pps_image_name: { get_param: pcrf_pps_image_name } + pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.env new file mode 100644 index 0000000..95e450e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.env @@ -0,0 +1,10 @@ +parameters: + pcrf_psm_server_names: ZRDM1PCRF01PSM001,ZRDM1PCRF01PSM002,ZRDM1PCRF01PSM003,ZRDM1PCRF01PSM004,ZRDM1PCRF01PSM005,ZRDM1PCRF01PSM006,ZRDM1PCRF01PSM007,ZRDM1PCRF01PSM008,ZRDM1PCRF01PSM009,ZRDM1PCRF01PSM010,ZRDM1PCRF01PSM011,ZRDM1PCRF01PSM012 + pcrf_psm_image_name: PCRF_8.995-ATTM1.0.3.qcow2 + pcrf_psm_flavor_name: lc.4xlarge4 + availabilityzone_name: nova + pcrf_cps_net_name: Mobisupport-25193-I-INT1_int_pcrf_net_0 + pcrf_cps_net_ips: 172.26.16.63,172.26.16.64,172.26.16.65,172.26.16.66,172.26.16.67,172.26.16.68,172.26.16.69,172.26.16.70,172.26.16.71,172.26.16.72,172.26.16.73,172.26.16.74 + pcrf_cps_net_mask: 255.255.255.0 + pcrf_security_group_name: nimbus_security_group + pcrf_vnf_id: 730797234b4a40aa99335157b02871cd diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.yaml new file mode 100644 index 0000000..217b0fe --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-psm_v1.0.yaml @@ -0,0 +1,199 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_names: + type: comma_delimited_list + label: PCRF SM server names + description: name of the PCRF SM instance + pcrf_psm_image_name: + type: string + label: PCRF SM image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ips: + type: comma_delimited_list + label: CPS network ips + description: CPS network ips + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + server_pcrf_psm_001: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_002: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_003: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_004: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_005: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_006: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_007: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_008: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_009: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_010: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_011: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + + server_pcrf_psm_012: + type: nested-psm_v1.0.yaml + properties: + pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] } + pcrf_psm_image_name: { get_param: pcrf_psm_image_name } + pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name } + availabilityzone_name: { get_param: availabilityzone_name } + pcrf_security_group_name: { get_param: pcrf_security_group_name } + pcrf_cps_net_name: { get_param: pcrf_cps_net_name } + pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] } + pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask } + pcrf_vnf_id: {get_param: pcrf_vnf_id} + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.env b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.env new file mode 100644 index 0000000..5267ee4 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.env @@ -0,0 +1,3 @@ +parameters: + pcrf_swift_container_name_1: PCRF_Config_Container_1 + pcrf_swift_container_purge_on_delete_flag_1: false diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.yaml new file mode 100644 index 0000000..ab427bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/hot-nimbus-swift-container_v1.0.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_swift_container_name_1: + type: string + label: Swift Container name + description: Swift Container Name + pcrf_swift_container_purge_on_delete_flag_1: + type: boolean + label: Purge on Delete Flag + description: Purge on Delete Flag + +resources: + pcrf_swift_container_1: + type: OS::Swift::Container + properties: + name: { get_param: pcrf_swift_container_name_1 } + PurgeOnDelete: { get_param: pcrf_swift_container_purge_on_delete_flag_1 } + X-Container-Read: ".r:*" + +outputs: + pcrf_swift_container_id_1: + description: the pcrf_swift_container_1 id + value: { get_resource: pcrf_swift_container_1 } + pcrf_swift_container_url_1: + description: the pcrf_swift_container_1 url + value: { get_attr: [ pcrf_swift_container_1, WebsiteURL ] } + \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/mount_iso_script.sh b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/mount_iso_script.sh new file mode 100644 index 0000000..91df598 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/mount_iso_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +#. .config +#following would be in the .config file + device_name="/dev/vde" + install_script="install_nimbus.sh" + enable_logic_flag_file=".flag" +#end of config file + +#get the semaphore, 0 - disbaled, 1- enabled +flag=$(cat ${enable_logic_flag_file}) + +#check if device is mounted already +test=$(mount | grep ${device_name}) +if [ "$flag" == "1" ]; then + if [ -e ${device_name} ] && [ ! "${test}" ]; then + #mount the iso image + mount -t iso9660 -v -o loop /dev/vde/ /mnt/iso + #if availabe run the install script (it contains the install.sh steps) + if [ -e "${install_script}" ] && [ -f "${install_script}" ]; then + ${install_script} + fi + #disable the script from attempting to + # mount and run install again until needed; + echo "0" > ${enable_logic_flag_file} + #if nedeed add step to comment out the crontab line here; + fi +else + echo "Auto mounting ISO & run install logic disabled!" +fi + +#cron job +# * * * * * /mount_iso_script.sh + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-oam_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-oam_v1.0.yaml new file mode 100644 index 0000000..fa3b04e --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-oam_v1.0.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2013-05-23 + +description: nested heat template that creates a PCRF OAM node stack + +parameters: + pcrf_oam_server_name: + type: string + label: PCRF OAM server name + description: PCRF OAM server name + pcrf_oam_image_name: + type: string + label: image name + description: PCRF OAM image name + pcrf_oam_flavor_name: + type: string + label: PCRF OAM flavor name + description: flavor name of PCRF OAM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_arbiter_vip: + type: string + label: OAM Arbiter LB VIP + description: OAM Arbiter LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_volume_id: + type: string + label: CPS OAM Cinder Volume + description: CPS OAM Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_oam_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_oam: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_oam_server_name } + image: { get_param: pcrf_oam_image_name } + flavor: { get_param: pcrf_oam_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_oam_port_0} + - port: { get_resource: pcrf_oam_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_oam_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + allowed_address_pairs: + - ip_address: { get_param: pcrf_arbiter_vip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_oam_vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_oam_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_oam } + +outputs: + pcrf_oam_vol_attachment_id: + description: the pcrf_oam_vol_attachment_id id + value: { get_resource: pcrf_oam_vol_attachment } diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pcm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pcm_v1.0.yaml new file mode 100644 index 0000000..a3129bb --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pcm_v1.0.yaml @@ -0,0 +1,150 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Cluman stack + +parameters: + pcrf_pcm_server_name: + type: string + label: PCRF CM server name + description: PCRF CM server name + pcrf_pcm_image_name: + type: string + label: image name + description: PCRF CM image name + pcrf_pcm_flavor_name: + type: string + label: PCRF CM flavor name + description: flavor name of PCRF CM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_pcm_volume_id: + type: string + label: CPS Cluman Cinder Volume + description: CPS Cluman Cinder Volume + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pcm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pcm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pcm_server_name } + image: { get_param: pcrf_pcm_image_name } + flavor: { get_param: pcrf_pcm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pcm_port_0} + - port: { get_resource: pcrf_pcm_port_1} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pcm_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_pcm_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: pcrf_pcm_volume_id } + mountpoint: /dev/vdd + instance_uuid: { get_resource: pcrf_server_pcm } + +outputs: + pcrf_server_pcm_id: + description: the pcm server id + value: { get_resource: pcrf_server_pcm } \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-ppd_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-ppd_v1.0.yaml new file mode 100644 index 0000000..169522b --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-ppd_v1.0.yaml @@ -0,0 +1,333 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Director stack + +parameters: + pcrf_ppd_server_name: + type: string + label: PCRF PD server name + description: PCRF PD server name + pcrf_ppd_image_name: + type: string + label: image name + description: PCRF PD image name + pcrf_ppd_flavor_name: + type: string + label: PCRF PD flavor name + description: flavor name of PCRF PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_internal_vip: + type: string + label: CPS Internal LB VIP + description: CPS Internal LB VIP + pcrf_oam_net_name: + type: string + label: OAM network name + description: OAM network name + pcrf_oam_net_ip: + type: string + label: OAM network ip + description: OAM network ip + pcrf_oam_net_gw: + type: string + label: CPS network gateway + description: CPS network gateway + pcrf_oam_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_lb_management_vip: + type: string + label: CPS OAM LB VIP + description: CPS OAM LB VIP + pcrf_gx_net_name: + type: string + label: Gx network name + description: Gx network name + pcrf_gx_net_ip: + type: string + label: Gx network ip + description: Gx network ip + pcrf_gx_net_mask: + type: string + label: Gx network mask + description: Gx network mask + pcrf_sp_net_name: + type: string + label: Sp network name + description: Sp network name + pcrf_sp_net_ip: + type: string + label: Sp network ip + description: Sp network ip + pcrf_sp_net_mask: + type: string + label: Sp network mask + description: Sp network mask + pcrf_sy_net_name: + type: string + label: Sy network name + description: Sy network name + pcrf_sy_net_ip: + type: string + label: Sy network ip + description: Sy network ip + pcrf_sy_net_mask: + type: string + label: Sy network mask + description: Sy network mask + pcrf_rx_net_name: + type: string + label: Rx network name + description: Rx network name + pcrf_rx_net_ip: + type: string + label: Rx network ip + description: Rx network ip + pcrf_rx_net_mask: + type: string + label: Rx network mask + description: Rx network mask + pcrf_sd_net_name: + type: string + label: Sd network name + description: Sd network name + pcrf_sd_net_ip: + type: string + label: Sd network ip + description: Sd network ip + pcrf_sd_net_mask: + type: string + label: Sd network mask + description: Sd network mask + pcrf_sgi_sy_net_name: + type: string + label: Sgi Sy network name + description: Sgi Sy network name + pcrf_sgi_sy_net_ip: + type: string + label: Sgi Sy network ip + description: Sgi Sy network ip + pcrf_sgi_sy_net_mask: + type: string + label: Sgi Sy network mask + description: Sgi Sy network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth1 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet-gw } + params: + $dev: eth1 + $ip: { get_param: pcrf_oam_net_ip } + $netmask: { get_param: pcrf_oam_net_mask } + $gateway: { get_param: pcrf_oam_net_gw } + - path: /etc/sysconfig/network-scripts/ifcfg-eth2 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth2 + $ip: { get_param: pcrf_gx_net_ip } + $netmask: { get_param: pcrf_gx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth3 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth3 + $ip: { get_param: pcrf_sp_net_ip } + $netmask: { get_param: pcrf_sp_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth4 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth4 + $ip: { get_param: pcrf_sy_net_ip } + $netmask: { get_param: pcrf_sy_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth5 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth5 + $ip: { get_param: pcrf_rx_net_ip } + $netmask: { get_param: pcrf_rx_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth6 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth6 + $ip: { get_param: pcrf_sd_net_ip } + $netmask: { get_param: pcrf_sd_net_mask } + - path: /etc/sysconfig/network-scripts/ifcfg-eth7 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth7 + $ip: { get_param: pcrf_sgi_sy_net_ip } + $netmask: { get_param: pcrf_sgi_sy_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + - ifdown eth1 && ifup eth1 + - ifdown eth2 && ifup eth2 + - ifdown eth3 && ifup eth3 + - ifdown eth4 && ifup eth4 + - ifdown eth5 && ifup eth5 + - ifdown eth6 && ifup eth6 + - ifdown eth7 && ifup eth7 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_ppd_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_ppd: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_ppd_server_name } + image: { get_param: pcrf_ppd_image_name } + flavor: { get_param: pcrf_ppd_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_ppd_port_0} + - port: { get_resource: pcrf_ppd_port_1} + - port: { get_resource: pcrf_ppd_port_2} + - port: { get_resource: pcrf_ppd_port_3} + - port: { get_resource: pcrf_ppd_port_4} + - port: { get_resource: pcrf_ppd_port_5} + - port: { get_resource: pcrf_ppd_port_6} + - port: { get_resource: pcrf_ppd_port_7} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_ppd_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_internal_vip } + + pcrf_ppd_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_oam_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_oam_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + allowed_address_pairs: + - ip_address: { get_param: pcrf_lb_management_vip } + + pcrf_ppd_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_gx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_gx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_3: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sp_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sp_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_4: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_5: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_rx_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_rx_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_6: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sd_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sd_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + + pcrf_ppd_port_7: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_sgi_sy_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_sgi_sy_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] + diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pps_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pps_v1.0.yaml new file mode 100644 index 0000000..8cb6e15 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-pps_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Policy Server stack + +parameters: + pcrf_pps_server_name: + type: string + label: PCRF PS server name + description: PCRF PS server name + pcrf_pps_image_name: + type: string + label: PCRF PS image name + description: PCRF PS image name + pcrf_pps_flavor_name: + type: string + label: PCRF PS flavor name + description: flavor name of PCRF PS instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_pps_server_name } + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_pps: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_pps_server_name } + image: { get_param: pcrf_pps_image_name } + flavor: { get_param: pcrf_pps_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: pcrf_pps_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + + pcrf_pps_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-psm_v1.0.yaml b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-psm_v1.0.yaml new file mode 100644 index 0000000..64c7484 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/nested-psm_v1.0.yaml @@ -0,0 +1,99 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates PCRF Session Manager stack + +parameters: + pcrf_psm_server_name: + type: string + label: PCRF SM server name + description: PCRF SM server name + pcrf_psm_image_name: + type: string + label: image name + description: PCRF SM image name + pcrf_psm_flavor_name: + type: string + label: PCRF SM flavor name + description: flavor name of PCRF SM instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + pcrf_cps_net_name: + type: string + label: CPS network name + description: CPS network name + pcrf_cps_net_ip: + type: string + label: CPS network ip + description: CPS network ip + pcrf_cps_net_mask: + type: string + label: CPS network mask + description: CPS network mask + pcrf_security_group_name: + type: string + label: security group name + description: the name of security group + pcrf_vnf_id: + type: string + label: PCRF VNF Id + description: PCRF VNF Id + +resources: + network: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /etc/sysconfig/network-scripts/ifcfg-eth0 + permissions: "0644" + content: + str_replace: + template: { get_file: nimbus-ethernet } + params: + $dev: eth0 + $ip: { get_param: pcrf_cps_net_ip } + $netmask: { get_param: pcrf_cps_net_mask } + runcmd: + - ifdown eth0 && ifup eth0 + script_init: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + template: { get_file: cloud-nimbus.sh } + params: + $vm_name: { get_param: pcrf_psm_server_name } + pcrf_server_init: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: network} + - config: { get_resource: script_init} + + pcrf_server_psm: + type: OS::Nova::Server + properties: + config_drive: "True" + name: { get_param: pcrf_psm_server_name } + image: { get_param: pcrf_psm_image_name } + flavor: { get_param: pcrf_psm_flavor_name } + availability_zone: { get_param: availabilityzone_name } + networks: + - port: { get_resource: psm01_port_0} + user_data_format: RAW + user_data: + get_resource: pcrf_server_init + metadata: + vnf_id: {get_param: pcrf_vnf_id} + #scheduler_hints: {group: { get_resource: servergroup_nimbus }} + + psm01_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: pcrf_cps_net_name } + fixed_ips: + - ip_address: { get_param: pcrf_cps_net_ip } + security_groups: [{ get_param: pcrf_security_group_name }] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/vnf-module-artifact.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/vnf-module-artifact.json new file mode 100644 index 0000000..111bf04 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/artifacts/vnf-module-artifact.json @@ -0,0 +1,29 @@ +[ + { + "vfModuleModelName": "VF_RI2_G6_withArtifacts::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f132", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI2_G6_withArtifacts::module-1.group", + "isBase": true, + "artifacts": [ + "Artifact-UUID1", + "EnvArtifact-UUID2", + "NestedArtifact-UUID3", + "NestedArtifact-UUID4", + "ScriptArtifact-UUID1", + "VolumeArtifact-UUID1", + "VolumeEnvArtifact-UUID1" + ] + }, + { + "vfModuleModelName": "VF_RI2_G91_withArtifacts::module-1", + "vfModuleModelInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f169", + "vfModuleModelVersion": "1.0", + "vfModuleModelUUID": "1e34774e-715e-4fd5-bd08-7b654622f63g.VF_RI2_G9_withArtifacts::module-1.group", + "isBase": true, + "artifacts": [ + "HeatArtifactE2E-UUIDTest" + + ] + } +] \ No newline at end of file diff --git a/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/notif-structure.json b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/notif-structure.json new file mode 100644 index 0000000..7ae9ff5 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/resources/resource-examples/asdc/simpleNotif-V5/notif-structure.json @@ -0,0 +1,155 @@ +{ + "serviceName": "test-service", + "serviceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "serviceUUID": "1e34774e-715e-4fd5-bd09-7b654622f35i", + "serviceVersion": "5.0", + "serviceArtifacts": + [ + + ], + + "resources": + [ + { + "resourceInstanceName": "resource-1", + "resourceInvariantUUID": "585822c7-4027-4f84-ba50-e9248606f134", + "resourceName": "resourceName-1", + "resourceType": "VF", + "resourceUUID": "585822c7-4027-4f84-ba50-e9248606f136", + "resourceVersion": "3.0", + "artifacts": + [ + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "vnf-module-artifact.json", + + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "vnf-module-artifact.json", + "artifactUUID": "VfArtifact-UUID2", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat OAM", + "artifactName": "hot-nimbus-oam_v1.0.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "hot-nimbus-oam_v1.0.yaml", + "artifactUUID": "Artifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "EnvArtifact-UUID2", + "relatedArtifact": + [ + "NestedArtifact-UUID3", + "ScriptArtifact-UUID1" + ] + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nimbus Heat ENV OAM", + "artifactName": "hot-nimbus-oam_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam_v1.0.env", + "artifactUUID": "EnvArtifact-UUID2", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested OAM", + "artifactName": "nested-oam_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-oam_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID3", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Nested PSM", + "artifactName": "nested-psm_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_NESTED", + "artifactURL": "nested-psm_v1.0.yaml", + "artifactUUID": "NestedArtifact-UUID4", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Script for Nimbus", + "artifactName": "cloud-nimbus.sh", + + "artifactType": "HEAT_ARTIFACT", + "artifactURL": "cloud-nimbus.sh", + "artifactUUID": "ScriptNimbusArtifact-UUID1", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Script for OAM", + "artifactName": "mount_iso_script.sh", + + "artifactType": "HEAT_ARTIFACT", + "artifactURL": "mount_iso_script.sh", + "artifactUUID": "ScriptArtifact-UUID1", + "artifactVersion": "1.0" + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactTimeout": 10, + "artifactType": "HEAT_VOL", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.yaml", + "artifactUUID": "VolumeArtifact-UUID1", + "artifactVersion": "1.0", + "generatedArtifact": "VolumeEnvArtifact-UUID1", + "relatedArtifact": + [ + "NestedArtifact-UUID4" + ] + + }, + + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Heat Env Vol for OAM", + "artifactName": "hot-nimbus-oam-volumes_v1.0.env", + + "artifactType": "HEAT_ENV", + "artifactURL": "hot-nimbus-oam-volumes_v1.0.env", + "artifactUUID": "VolumeEnvArtifact-UUID1", + "artifactVersion": "1.0" + + }, + { + "artifactChecksum": "CheckSum", + "artifactDescription": "Meta data for VFModule", + "artifactName": "att_nimbus_vsaegw_ht_base_v13_0728v1.yaml", + "artifactTimeout": 100, + "artifactType": "HEAT", + "artifactURL": "att_nimbus_vsaegw_ht_base_v13_0728v1.yaml", + "artifactUUID": "HeatArtifactE2E-UUIDTest", + "artifactVersion": "1.0" + + } + ] + } + ], + + "serviceDescription": "test service for unit testing", + "distributionID": "35120a87-1f82-4276-9735-f6de5a244d66" +} \ No newline at end of file diff --git a/packages/deliveries/pom.xml b/packages/deliveries/pom.xml new file mode 100644 index 0000000..5f20b18 --- /dev/null +++ b/packages/deliveries/pom.xml @@ -0,0 +1,78 @@ + + 4.0.0 + + org.openecomp.mso + packages + 0.0.4-SNAPSHOT + + + org.openecomp.mso.packages + mso-deliveries + pom + + MsoDeliveries + + This project is responsible of the final packages + + OPENECOMP - MSO + http://www.openecomp.org/ + + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.6 + + + + + + + + src/main/assembly/mso-config/mso-db.xml + + mso-config/mso-db-${project.version} + false + false + + + db-packs-mso + package + + single + + + + + + + + + src/main/assembly/war-pack/mso-wars.xml + + war-pack/mso-${project.version} + false + false + + + war-pack-mso + package + + single + + + + + + + + + + + \ No newline at end of file diff --git a/packages/deliveries/src/main/assembly/mso-config/mso-db.xml b/packages/deliveries/src/main/assembly/mso-config/mso-db.xml new file mode 100644 index 0000000..6e7bcf7 --- /dev/null +++ b/packages/deliveries/src/main/assembly/mso-config/mso-db.xml @@ -0,0 +1,44 @@ + + + + mso-db + + + zip + + false + + + + + + + **/ + + ../../packages/root-pack-extras/config-resources/mariadb/db-sql-scripts + / + + + + diff --git a/packages/deliveries/src/main/assembly/war-pack/mso-wars.xml b/packages/deliveries/src/main/assembly/war-pack/mso-wars.xml new file mode 100644 index 0000000..d412713 --- /dev/null +++ b/packages/deliveries/src/main/assembly/war-pack/mso-wars.xml @@ -0,0 +1,114 @@ + + + + mso-dev + + + tar.gz + + false + + + + + + + + + mso-network-adapter*.war + + ../../adapters/mso-network-adapter/target/ + artifacts + + + + mso-sdnc-adapter*.war + + ../../adapters/mso-sdnc-adapter/target/ + artifacts + + + + mso-tenant-adapter*.war + + ../../adapters/mso-tenant-adapter/target/ + artifacts + + + + mso-vnf-adapter*.war + + ../../adapters/mso-vnf-adapter/target/ + artifacts + + + + + mso-api-handler*.war + + ../../mso-api-handlers/mso-api-handler-infra/target/ + artifacts + + + + mso-appc-adapter-*.war + + ../../adapters/mso-appc-adapter/target/ + artifacts + + + + + mso-requests-db-adapter*.war + + ../../adapters/mso-requests-db-adapter/target/ + artifacts + + + + + asdc-controller*.war + + ../../asdc-controller/target/ + artifacts + + + + + MSOGammaBPMN*.war + + ../../bpmn/MSOGammaBPMN/target/ + artifacts + + + + MSOCockpit*.war + + ../../bpmn/MSOCockpit/target/ + artifacts + + + + + diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml new file mode 100644 index 0000000..5dfada9 --- /dev/null +++ b/packages/docker/pom.xml @@ -0,0 +1,148 @@ + + 4.0.0 + + + org.openecomp.mso + packages + 0.0.4-SNAPSHOT + + + pom + org.att.ecomp + docker + + MSO Docker Deliveries + ECOMP MSO Docker Deliveries + + + UTF-8 + UTF-8 + + + + ${project.artifactId}-${project.version} + + + io.fabric8 + docker-maven-plugin + 0.16.5 + + + true + 1.23 + + + + ecomp/jacoco:1.0 + jacoco + + try + docker-files + docker-files/Dockerfile.jacoco + + + + + ecomp/ubuntu-update:1.0 + ubuntu-update + + + try + docker-files + docker-files/Dockerfile.ubuntu-16.04-update + + + + + ecomp/wildfly:1.0 + wildfly + + + try + docker-files + docker-files/Dockerfile.wildfly-10 + + + + + ecomp/mso-arquillian:%l + mso-arquillian + + + try + docker-files + docker-files/Dockerfile.mso-arquillian + + + + + ecomp/mso:%l + mso + + + try + docker-files + docker-files/Dockerfile.mso-chef-final + + / + + jboss:jboss:jboss + /opt/jboss/wildfly/standalone/deployments + ../../../../deliveries/src/main/assembly/war-pack/mso-wars.xml + + + + + + + + + + clean-images + pre-clean + + remove + + + true + ecomp/mso-arquillian:%l,ecomp/mso:%l + + + + + generate-images + generate-sources + + build + + + + + push-images + deploy + + build + push + + + ecomp/mso-arquillian:%l,ecomp/mso:%l,ecomp/jacoco:1.0 + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8 + + true + + + + + + + diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.jacoco b/packages/docker/src/main/docker/docker-files/Dockerfile.jacoco new file mode 100644 index 0000000..e3c243d --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.jacoco @@ -0,0 +1,33 @@ +### Set the base image to Fedora +FROM ubuntu:14.04 + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image is used to get jacoco result from a jboss image" Version="1.0" + +ARG http_proxy +ARG https_proxy +ARG chef_repo_branch_name +ARG chef_repo_address +ARG chef_repo_git_name +ARG chef_repo_git_username +ENV HTTP_PROXY=$http_proxy +ENV HTTPS_PROXY=$https_proxy +ENV http_proxy=$HTTP_PROXY +ENV https_proxy=$HTTPS_PROXY +RUN echo "Acquire::http::Proxy \"$http_proxy\";" >> /etc/apt/apt.conf + +RUN apt-get update && apt-get install -y openssh-server +RUN mkdir /var/run/sshd +RUN echo 'root:screencast' | chpasswd +RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config + +# SSH login fix. Otherwise user is kicked off after login +RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd + +ENV NOTVISIBLE "in users profile" +RUN echo "export VISIBLE=now" >> /etc/profile + +VOLUME /shared + +CMD ["/usr/sbin/sshd", "-D"] \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian new file mode 100644 index 0000000..11b7cf7 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian @@ -0,0 +1,99 @@ +FROM ecomp/wildfly:1.0 + + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image contains Ecomp Opensource MSO base for arquillian" Version="1.0" + +ARG chef_repo_branch_name +ARG chef_repo_address +ARG chef_repo_git_name +ARG chef_repo_git_username +ENV BRANCH_NAME=$chef_repo_branch_name +ENV REPO_USERNAME=$chef_repo_git_username +ENV REPO_ADDRESS=$chef_repo_address +ENV CHEF_REPO_NAME=$chef_repo_git_name + +### Downloading dependencies + +USER root +RUN apt-get install -y curl && curl -LO https://packages.chef.io/stable/ubuntu/12.04/chefdk_0.17.17-1_amd64.deb && curl -LO http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar && curl -LO http://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.7.7.201606060606/jacoco-0.7.7.201606060606.zip && apt-get remove --purge -y curl && apt-get autoremove -y +RUN apt-get install -y unzip && unzip jacoco-0.7.7.201606060606.zip -d /tmp/jacoco && apt-get remove --purge -y unzip && apt-get autoremove -y +RUN chown -R jboss:jboss /tmp/jacoco +### Install Chef +RUN dpkg -i chefdk_0.17.17-1_amd64.deb + +COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh +COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh + +RUN chown jboss:jboss /opt/mso/scripts/* +RUN chmod u+rx /opt/mso/scripts/* + +RUN mkdir /etc/chef +RUN chown jboss:jboss /etc/chef +RUN chmod u+xrw /etc/chef + +RUN mkdir -p /etc/mso +RUN chown -R jboss:jboss /etc/mso +RUN chmod u+xrw /etc/mso + +# Setup shared folder +RUN mkdir /shared +RUN chown jboss:jboss /shared + +# Setup chef folders +RUN mkdir /var/berks-cookbooks +RUN chown jboss:jboss /var/berks-cookbooks +COPY chef-configs/solo.rb /tmp/git/solo.rb +RUN chown -R jboss:jboss /tmp/git/ + +COPY id_rsa /home/jboss/user +RUN chmod 600 /home/jboss/user +RUN chown -R jboss:jboss /home/jboss + +# Start Chef config +RUN mkdir -p /var/nodes +RUN chown jboss:jboss /var/nodes + +RUN mkdir -p /home/jboss/.chef/nodes +RUN mkdir /home/jboss/.ssh + + +RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git && apt-get autoremove -y +RUN rm -rf /home/jboss/.ssh +RUN rm /home/jboss/user +RUN echo "" > /shared/mso-docker.json +RUN echo "" > /shared/jacoco-it.exec +RUN ls -latr / +RUN ls -latr /shared +RUN chown jboss:jboss /shared/jacoco-it.exec +RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json +RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json +RUN rm -rf /tmp/git + +## Create the log folder for MSO +RUN mkdir -p /var/log/ecomp/MSO/ +RUN chown jboss:jboss /var/log/ecomp/MSO + +### Configure Jboss WildFly +RUN mkdir -p $JBOSS_HOME/modules/mariadb/main +RUN cp mariadb-java-client-1.5.4.jar $JBOSS_HOME/modules/mariadb/main +COPY jboss-configs/modules/mariadb/main/module.xml $JBOSS_HOME/modules/mariadb/main +COPY jboss-configs/configuration/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml +COPY jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties +COPY jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties +COPY jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties +COPY jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties + +RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -Xms64m -Xmx4g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/ -javaagent:/tmp/jacoco/lib/jacocoagent.jar=destfile=/shared/jacoco-it.exec,dumponexit=true,append=false,includes=com.att.*:org.openecomp.*\"" >> $JBOSS_HOME/bin/standalone.conf +RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf + +### Open Ports +EXPOSE 8080 9990 + +VOLUME /shared + +### Start EAP +USER root +CMD ["/opt/mso/scripts/start-jboss-server.sh"] + diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build new file mode 100644 index 0000000..3a26a7f --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build @@ -0,0 +1,63 @@ +FROM ubuntu:16.04 + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image builds Ecomp Opensource MSO " Version="1.0" + + +ARG http_proxy +ARG https_proxy + +ARG mso_git_repository +ARG mso_git_branch + +ARG mvn_central_user +ARG mvn_central_pwd + +ENV HTTP_PROXY=$http_proxy +ENV HTTPS_PROXY=$https_proxy +ENV http_proxy=$HTTP_PROXY +ENV https_proxy=$HTTPS_PROXY + + +ENV mso_git_repository=$mso_git_repository +ENV mso_git_branch=$mso_git_branch + + +ENV mvn_central_user=$mvn_central_user +ENV mvn_central_pwd=$mvn_central_pwd + +ENV JBOSS_HOME=/opt/jboss + +USER root + +COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh +RUN chmod 755 /opt/mso/scripts/init-chef.sh + +COPY scripts/build-and-start.sh /opt/mso/scripts/build-and-start.sh +RUN chmod 755 /opt/mso/scripts/build-and-start.sh + +# should be copied at final destination once jboss user is created +COPY id_rsa /tmp/id_rsa +COPY settings.xml /tmp/settings.xml + +# should be copied at final destination once jboss is installed +COPY jboss-configs/module.xml /tmp/jboss-configs/module.xml +COPY jboss-configs/standalone-full-ha.xml /tmp/jboss-configs/standalone-full-ha.xml +COPY jboss-configs/modules/mariadb/main/module.xml /tmp/jboss-configs/modules/mariadb/main +COPY jboss-configs/configuration/standalone-full-ha.xml /tmp/jboss-configs/standalone/configuration/standalone-full-ha-mso.xml +COPY jboss-configs/configuration/mgmt-users.properties /tmp/jboss-configs/standalone/configuration/mgmt-users.properties +COPY jboss-configs/configuration/mgmt-groups.properties /tmp/jboss-configs/standalone/configuration/mgmt-groups.properties +COPY jboss-configs/configuration/application-users.properties /tmp/jboss-configs/standalone/configuration/application-users.properties +COPY jboss-configs/configuration/application-roles.properties /tmp/jboss-configs/standalone/configuration/application-roles.properties + + +### Open Ports +EXPOSE 8080 + +### Start EAP +VOLUME /shared + + +CMD ["/opt/mso/scripts/build-and-start.sh"] + diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final new file mode 100644 index 0000000..b5afdcd --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final @@ -0,0 +1,102 @@ +FROM ecomp/wildfly:1.0 + + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image contains Ecomp Opensource MSO " Version="1.0" + +ARG http_proxy +ARG https_proxy +ARG chef_repo_branch_name +ARG chef_repo_address +ARG chef_repo_git_name +ARG chef_repo_git_username +ENV BRANCH_NAME=$chef_repo_branch_name +ENV REPO_USERNAME=$chef_repo_git_username +ENV REPO_ADDRESS=$chef_repo_address +ENV CHEF_REPO_NAME=$chef_repo_git_name +ENV HTTP_PROXY=$http_proxy +ENV HTTPS_PROXY=$https_proxy +ENV http_proxy=$HTTP_PROXY +ENV https_proxy=$HTTPS_PROXY + +### Downloading dependencies + +USER root +RUN apt-get install -y curl && curl -LO https://packages.chef.io/stable/ubuntu/12.04/chefdk_0.17.17-1_amd64.deb && curl -LO http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar && apt-get remove --purge -y curl && apt-get autoremove -y + +### Install Chef +RUN dpkg -i chefdk_0.17.17-1_amd64.deb + +COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh +COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh + +RUN chown jboss:jboss /opt/mso/scripts/* +RUN chmod u+rx /opt/mso/scripts/* + +RUN mkdir /etc/chef +RUN chown jboss:jboss /etc/chef +RUN chmod u+xrw /etc/chef + +RUN mkdir -p /etc/mso +RUN chown -R jboss:jboss /etc/mso +RUN chmod u+xrw /etc/mso + +# Setup shared folder +RUN mkdir /shared +RUN chown jboss:jboss /shared + +# Setup chef folders +RUN mkdir /var/berks-cookbooks +RUN chown jboss:jboss /var/berks-cookbooks +COPY chef-configs/solo.rb /tmp/git/solo.rb +RUN chown -R jboss:jboss /tmp/git/ + +COPY id_rsa /home/jboss/user +RUN chmod 600 /home/jboss/user +RUN chown -R jboss:jboss /home/jboss + +# Start Chef config +RUN mkdir -p /var/nodes +RUN chown jboss:jboss /var/nodes + +RUN mkdir -p /home/jboss/.chef/nodes +RUN mkdir /home/jboss/.ssh + + +RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git && apt-get autoremove -y +RUN rm -rf /home/jboss/.ssh +RUN rm /home/jboss/user +RUN echo "" > /shared/mso-docker.json +RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json +RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json +RUN rm -rf /tmp/git + +## Create the log folder for MSO +RUN mkdir -p /var/log/ecomp/MSO/ +RUN chown jboss:jboss /var/log/ecomp/MSO + +### Configure Jboss WildFly +RUN mkdir -p $JBOSS_HOME/modules/mariadb/main +RUN cp mariadb-java-client-1.5.4.jar $JBOSS_HOME/modules/mariadb/main +COPY jboss-configs/modules/mariadb/main/module.xml $JBOSS_HOME/modules/mariadb/main +COPY jboss-configs/configuration/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml +COPY jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties +COPY jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties +COPY jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties +COPY jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties + +RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -Xms64m -Xmx4g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/\"" >> $JBOSS_HOME/bin/standalone.conf +RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf + +COPY ./maven/artifacts/* $JBOSS_HOME/standalone/deployments/ + +### Open Ports +EXPOSE 8080 + +VOLUME /shared + +### Start EAP +USER root +CMD ["/opt/mso/scripts/start-jboss-server.sh"] + diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.ubuntu-16.04-update b/packages/docker/src/main/docker/docker-files/Dockerfile.ubuntu-16.04-update new file mode 100644 index 0000000..08987b4 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.ubuntu-16.04-update @@ -0,0 +1,22 @@ +FROM ubuntu:16.04 + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image contains an updated version of ubuntu 16.04" Version="1.0" + +ARG http_proxy +ARG https_proxy +ARG chef_repo_branch_name +ARG chef_repo_address +ARG chef_repo_git_name +ARG chef_repo_git_username +ENV HTTP_PROXY=$http_proxy +ENV HTTPS_PROXY=$https_proxy +ENV http_proxy=$HTTP_PROXY +ENV https_proxy=$HTTPS_PROXY + +### update first the image to fix potential security issues +RUN apt-get update +RUN apt-get -y dist-upgrade + + diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.wildfly-10 b/packages/docker/src/main/docker/docker-files/Dockerfile.wildfly-10 new file mode 100644 index 0000000..729bf5e --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.wildfly-10 @@ -0,0 +1,33 @@ +FROM ecomp/ubuntu-update:1.0 + +### File Author / Maintainer +MAINTAINER "Ecomp Opensource Team" +LABEL Description="This image contains Ecomp Opensource MSO " Version="1.0" + +ARG http_proxy +ARG https_proxy +ARG chef_repo_branch_name +ARG chef_repo_address +ARG chef_repo_git_name +ARG chef_repo_git_username +ENV HTTP_PROXY=$http_proxy +ENV HTTPS_PROXY=$https_proxy +ENV http_proxy=$HTTP_PROXY +ENV https_proxy=$HTTPS_PROXY + +### Install OpenJDK +RUN apt-get -y install openjdk-8-jre-headless + + + +### Install Wildfly +ENV JBOSS_HOME=/opt/jboss + +RUN WILDFLY=wildfly-10.1.0.Final.tar.gz; apt-get -y install curl; curl -LO http://download.jboss.org/wildfly/10.1.0.Final/$WILDFLY ; tar xvfz $WILDFLY -C /opt/; mv /opt/${WILDFLY%.tar.gz} $JBOSS_HOME; rm $WILDFLY; apt-get remove -y --purge curl; apt-get autoremove -y +RUN adduser --system --group jboss +RUN chown -R jboss $JBOSS_HOME +RUN $JBOSS_HOME/bin/add-user.sh admin Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U --silent + +USER jboss +CMD ["/opt/jboss/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] + diff --git a/packages/docker/src/main/docker/docker-files/chef-configs/solo.rb b/packages/docker/src/main/docker/docker-files/chef-configs/solo.rb new file mode 100644 index 0000000..5e82475 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/chef-configs/solo.rb @@ -0,0 +1,9 @@ +current_dir = File.dirname(__FILE__) +log_level :info +log_location STDOUT +node_name "mso" +syntax_check_cache_path "#{current_dir}/syntaxcache" +cookbook_path ["/var/berks-cookbooks"] +environment_path "/var/berks-cookbooks/CHEF_REPO_NAME_TO_REPLACE/environments" +environment "mso-docker" + diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-roles.properties b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-roles.properties new file mode 100644 index 0000000..de9b0aa --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-roles.properties @@ -0,0 +1,32 @@ +# +# Properties declaration of users roles for the realm 'ApplicationRealm' which is the default realm +# for application services on a new installation. +# +# This includes the following protocols: remote ejb, remote jndi, web, remote jms +# +# Users can be added to this properties file at any time, updates after the server has started +# will be automatically detected. +# +# The format of this file is as follows: - +# username=role1,role2,role3 +# +# A utility script is provided which can be executed from the bin folder to add the users: - +# - Linux +# bin/add-user.sh +# +# - Windows +# bin\add-user.bat +# +# The following illustrates how an admin user could be defined. +# +#admin=PowerUser,BillingAdmin, +#guest=guest +CSIClient=CSI-Client +CCDClient=CCD-Client +GUIClient=GUI-Client +BPMNClient=BPMN-Client +InfraPortalClient=InfraPortal-Client +MSOClient=MSO-Client +sitecontrol=SiteControl-Client +MSO=AAIEmul-Client +BPELClient=BPEL-Client \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-users.properties b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-users.properties new file mode 100644 index 0000000..a04d222 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/application-users.properties @@ -0,0 +1,34 @@ +# +# Properties declaration of users for the realm 'ApplicationRealm' which is the default realm +# for application services on a new installation. +# +# This includes the following protocols: remote ejb, remote jndi, web, remote jms +# +# Users can be added to this properties file at any time, updates after the server has started +# will be automatically detected. +# +# The format of this realm is as follows: - +# username=HEX( MD5( username ':' realm ':' password)) +# +# A utility script is provided which can be executed from the bin folder to add the users: - +# - Linux +# bin/add-user.sh +# +# - Windows +# bin\add-user.bat +# +#$REALM_NAME=ApplicationRealm$ This line is used by the add-user utility to identify the realm name already used in this file. +# +# The following illustrates how an admin user could be defined, this +# is for illustration only and does not correspond to a usable password. +# +#admin=2a0923285184943425d1f53ddd58ec7a +CSIClient=0024f53a4ec012c22d9575a3710ed362 +CCDClient=c5e97286d4251605d8ef72f727ac1da6 +GUIClient=583075cf28c7c69c3a8b08356830b856 +BPMNClient=42b98ca2e0cc976d91a26c1495ecd529 +InfraPortalClient=e5077b432685a94babe332893337f6fc +MSOClient=72bc85031ae67afe67014c7663ae1033 +sitecontrol=9a3a360d86758f69ec9508725c017335 +MSO=a05cb60a04f41f750ce1fc60a2633534 +BPELClient=f2b4ce8ae1964050c0ad7e69bd88fd62 \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-groups.properties b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-groups.properties new file mode 100644 index 0000000..44742a8 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-groups.properties @@ -0,0 +1,22 @@ +# +# Properties declaration of users groups for the realm 'ManagementRealm'. +# +# This is used for domain management, users groups membership information is used to assign the user +# specific management roles. +# +# Users can be added to this properties file at any time, updates after the server has started +# will be automatically detected. +# +# The format of this file is as follows: - +# username=role1,role2,role3 +# +# A utility script is provided which can be executed from the bin folder to add the users: - +# - Linux +# bin/add-user.sh +# +# - Windows +# bin\add-user.bat +# +# The following illustrates how an admin user could be defined. +# +#admin=PowerUser,BillingAdmin, \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-users.properties b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-users.properties new file mode 100644 index 0000000..1576e76 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/mgmt-users.properties @@ -0,0 +1,27 @@ +# +# Properties declaration of users for the realm 'ManagementRealm' which is the default realm +# for new installations. Further authentication mechanism can be configured +# as part of the in standalone.xml. +# +# Users can be added to this properties file at any time, updates after the server has started +# will be automatically detected. +# +# By default the properties realm expects the entries to be in the format: - +# username=HEX( MD5( username ':' realm ':' password)) +# +# A utility script is provided which can be executed from the bin folder to add the users: - +# - Linux +# bin/add-user.sh +# +# - Windows +# bin\add-user.bat +# On start-up the server will also automatically add a user $local - this user is specifically +# for local tools running against this AS installation. +# +# The following illustrates how an admin user could be defined, this +# is for illustration only and does not correspond to a usable password. +# +admin=281905e1b4420050a7f07eecba66ee68 +# +#$REALM_NAME=ManagementRealm$ This line is used by the add-user utility to identify the realm name already used in this file. +# diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/standalone-full-ha.xml b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/standalone-full-ha.xml new file mode 100644 index 0000000..cface7f --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/configuration/standalone-full-ha.xml @@ -0,0 +1,609 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jdbc:mariadb://mariadb:3306/mso_requests?autoReconnect=true&connectTimeout=60000&socketTimeout=60000 + mariadb + TRANSACTION_READ_COMMITTED + + 10 + 100 + true + false + FailingConnectionOnly + + + mso + mso123 + + + + false + true + 20000 + true + + + + 15 + 30 + 1 + 3000 + + + + jdbc:mariadb://mariadb:3306/mso_catalog?autoReconnect=true&connectTimeout=60000&socketTimeout=60000 + mariadb + TRANSACTION_READ_COMMITTED + + 10 + 100 + true + false + FailingConnectionOnly + + + catalog + catalog123 + + + + false + true + 20000 + true + + + + 15 + 30 + 1 + 3000 + + + + jdbc:mariadb://mariadb:3306/camundabpmn?autoReconnect=true&connectTimeout=60000&socketTimeout=60000 + mariadb + set autocommit=1 + TRANSACTION_READ_COMMITTED + + 10 + 100 + true + false + FailingConnectionOnly + + + camunda + camunda123 + + + + + + + 32 + true + + + + jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + h2 + + sa + sa + + + + + org.h2.jdbcx.JdbcDataSource + + + org.mariadb.jdbc.MySQLDataSource + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jboss.bind.address:127.0.0.1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/jboss-configs/modules/mariadb/main/module.xml b/packages/docker/src/main/docker/docker-files/jboss-configs/modules/mariadb/main/module.xml new file mode 100644 index 0000000..1b12735 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/jboss-configs/modules/mariadb/main/module.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh b/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh new file mode 100644 index 0000000..3694981 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh @@ -0,0 +1,230 @@ +#!/bin/bash -x + +GIT_REPO=$mso_git_repository +GIT_BRANCH=$mso_git_branch +! [[ $GIT_SSH_KEY ]] && GIT_SSH_KEY=/home/jboss/user +MVN_CENTRAL_USER=$mvn_central_user +MVN_CENTRAL_PWD=$mvn_central_pwd +WILDFLY_TAR=wildfly-10.1.0.Final.tar.gz; +CHEF_DEB=chefdk_0.17.17-1_amd64.deb + +echo "Jboss Home:" +echo ${JBOSS_HOME} +echo "Repository :" +echo ${GIT_REPO} +echo "Branch :" +echo ${GIT_BRANCH} +echo "Ssh key file :" +echo ${GIT_SSH_KEY} +echo "Maven central user :" +echo ${MVN_CENTRAL_USER} + +[[ ${MVN_CENTRAL_PWD} ]] && echo "with password" || echo "without password" + +function update_terminal() { + echo "--------------------------------------------------------------------------" + echo $* + echo "--------------------------------------------------------------------------" +} + +function update_ubuntu() { + update_terminal "Updating ubuntu" + apt-get update + apt-get -y dist-upgrade +} + + +function set_ssh_key() { + [[ -f /home/jboss/user ]] && return || update_terminal "Setting ssh key" + mkdir -p /home/jboss/.ssh/ + mv /tmp/id_rsa /home/jboss/user + chown jboss:jboss -R /home/jboss/user + chmod 600 /home/jboss/user + chown jboss:jboss /home/jboss/.ssh + chmod 700 /home/jboss/.ssh + +} + +function set_maven_settings() { + [[ -f /home/jboss/.m2/settings.xml ]] && return || update_terminal "Updating maven settings" + mkdir -p /home/jboss/.m2/ + mv /tmp/settings.xml /home/jboss/.m2/settings.xml + chown -R jboss:jboss /home/jboss/.m2/ + + # set login and password for maven central + sed -i "s/#PASSWORD#/$MVN_CENTRAL_PWD/g" /home/jboss/.m2/settings.xml \ + && sed -i "s/#USERNAME#/$MVN_CENTRAL_USER/g" /home/jboss/.m2/settings.xml +} + +function install_jboss() { + [[ -f $JBOSS_HOME/bin/standalone.conf ]] && [[ $(grep "LAUNCH_JBOSS_IN_BACKGROUND=true" $JBOSS_HOME/bin/standalone.conf) ]] && return || update_terminal "Installing jboss"; + + + adduser --system --group jboss + + curl -C - -LO http://download.jboss.org/wildfly/10.1.0.Final/$WILDFLY_TAR ; + tar xvfz $WILDFLY_TAR -C /opt/; + mv /opt/${WILDFLY_TAR%.tar.gz} $JBOSS_HOME; + + chown -R jboss:jboss $JBOSS_HOME + echo "JAVA_OPTS=\"\$JAVA_OPTS -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/ -Dmso.aaf.enable=false \"" >> $JBOSS_HOME/bin/standalone.conf + echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf + +} + +function create_log_folders() { + [[ -d /var/log/ecomp ]] && [[ /var/log/ecomp/MSO/ ]] && return || update_terminal "Creating log folders" + mkdir -p /var/log/ecomp/MSO/ + chown -R jboss:jboss /var/log/ecomp +} + +function install_mariadb_connector() { + [[ -f $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml ]] && return || update_terminal "Installing mariadb connector" + MARIADB_DIR=$JBOSS_HOME/modules/mariadb + curl -C - -O -L http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar + mkdir -p $MARIADB_DIR/main + mv mariadb-java-client-1.5.4.jar $MARIADB_DIR/main + cp /tmp/jboss-configs//modules/mariadb/main/module.xml $MARIADB_DIR/main + cp /tmp/jboss-configs/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml + cp /tmp/jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties + cp /tmp/jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties + cp /tmp/jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties + cp /tmp/jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties + + chown -R jboss:jboss $MARIADB_DIR +} + +function dep_install() { + update_terminal "Installing dependencies" + # install requirements + apt-get -y install openjdk-8-jre-headless curl git maven + STATUS=$? + if [[ $STATUS != 0 ]]; + then + exit 1 + fi +} + +function clone_mso() { + [[ $("ls /tmp/mso-core") ]] && return || update_terminal "Cloning mso repository" + # build git command + GIT_CMD="git clone --single-branch -b ${GIT_BRANCH-master} ${GIT_REPO} -v" + + # build ssh command + export GIT_SSH_COMMAND="ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false" + + # cloning + su - jboss -s /bin/bash -c "export GIT_SSH_COMMAND=\"ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false\"; cd /tmp/; ${GIT_CMD} mso-core" + STATUS=$? + if [[ $STATUS != 0 ]]; + then + exit 2 + fi +} +#export MAVEN_OPTS="$MAVEN_OPTS -Dhttp.proxyHost=one.proxy.att.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=one.proxy.att.com -Dhttps.proxyPort=8080" + +function mso_build() { + update_terminal "Building Mso core" + # building + cd /tmp/mso-core + su jboss -s /bin/bash -c "mvn clean install" + STATUS=$? + if [[ $STATUS != 0 ]]; + then + exit 4 + fi +} + +function war_to_temp() { + [[ $("ls /tmp/wars/") ]] && return || update_terminal "Copying wars to tmp directory" + function copy_wars() { + for war in `find . -iname "*.war" `; + do + cp $war /tmp/wars/ + done + } + export -f copy_wars + su - jboss -s /bin/bash -c copy_wars + #tar xzf ./packages/deliveries/target/assembly/war-packs/*.tar.gz -C /tmp/wars/ +} + +function install_chef() { + [[ -d /home/jboss/.chef/nodes ]] && return || update_terminal "Installing chef" + curl -C - -LO https://packages.chef.io/stable/ubuntu/12.04/$CHEF_DEB + dpkg -i $CHEF_DEB + for dir in "/etc/chef /etc/mso /var/berks-cookbooks /tmp/git /var/nodes /home/jboss/.chef/nodes"; + do + mkdir -p $dir + chown jboss:jboss $dir + chmod 700 $dir + done +} + +function chef_init() { + update_terminal "Initializing chef" + mkdir -p /tmp/git + cp /shared/solo.rb /tmp/git/ + chown -R jboss:jboss /tmp/git + su - jboss -s /bin/bash -c /opt/mso/scripts/init-chef.sh + mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json + ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json +} + +function cleanup() { + # cleaning & space freeup + echo "Cleaning up" + + rm -rf /tmp/git/mso-core + rm -f /$WILDFLY_TAR; + rm -f /$CHEF_DEB + + rm -rf /home/jboss/.m2 + apt-get remove -y maven git curl + +} + +function build() { + update_ubuntu + dep_install + + install_jboss + create_log_folders + install_mariadb_connector + + set_ssh_key + + install_chef + chef_init + + + clone_mso + + set_maven_settings + mso_build + war_to_temp + cleanup +} + +function init_certif() { + # Copy the certificates + cp /shared/*.crt /usr/local/share/ca-certificates + update-ca-certificates +} + +function start() { + su - jboss -s /bin/bash -c /opt/mso/scripts/start-jboss-server.sh +} + +rm -f "$JBOSS_HOME/standalone/deployments/README.txt" +if ! [[ "$(ls -A $JBOSS_HOME/standalone/deployments/)" ]]; +then + mkdir -p /tmp/wars/ + build + cp /tmp/wars/* $JBOSS_HOME/standalone/deployments/ + rm -rf /tmp/wars/ + init_certif +fi + +cd /opt/jboss + +start diff --git a/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh b/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh new file mode 100644 index 0000000..0a562e7 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright 2015 AT&T Intellectual Properties +############################################################################## +# Script to initialize the chef-repo branch and.chef +# +############################################################################## + +set -x +cd /tmp/git/ +export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=false -i ~/user" +git clone -b ${BRANCH_NAME:-master} --single-branch ssh://${REPO_USERNAME}@${REPO_ADDRESS}/${CHEF_REPO_NAME}.git + + +# Will have to be removed later +#mkdir -p /var/chef/nodes +sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /tmp/git/solo.rb +mv /tmp/git/solo.rb /tmp/git/${CHEF_REPO_NAME}/ +cd /tmp/git/${CHEF_REPO_NAME} + +echo "Vendor cookbooks with Berkshelf" +berks vendor /var/berks-cookbooks -b Berksfile.mso-docker + +# Execute the ChefClient to configure the mso-config +echo "Update config with chef solo" +chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra] \ No newline at end of file diff --git a/packages/docker/src/main/docker/docker-files/scripts/start-jboss-server.sh b/packages/docker/src/main/docker/docker-files/scripts/start-jboss-server.sh new file mode 100644 index 0000000..2e9b9da --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/scripts/start-jboss-server.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# Copyright 2015 AT&T Intellectual Properties +############################################################################## +# Script to initialize the chef-repo branch and.chef +# +############################################################################## +# Copy the certificates +echo 'Copying the *.crt provided in /shared folder' +cp --verbose /shared/*.crt /usr/local/share/ca-certificates +update-ca-certificates + +echo 'Running in JBOSS' +su - jboss + +#Start the chef-solo +chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra] + + +JBOSS_PIDFILE=/tmp/jboss-standalone.pid +$JBOSS_HOME/bin/standalone.sh -c standalone-full-ha-mso.xml & +JBOSS_PID=$! +# Trap common signals and relay them to the jboss process +trap "kill -HUP $JBOSS_PID" HUP +trap "kill -TERM $JBOSS_PID" INT +trap "kill -QUIT $JBOSS_PID" QUIT +trap "kill -PIPE $JBOSS_PID" PIPE +trap "kill -TERM $JBOSS_PID" TERM +if [ "x$JBOSS_PIDFILE" != "x" ]; then + echo $JBOSS_PID > $JBOSS_PIDFILE +fi +# Wait until the background process exits +WAIT_STATUS=128 +while [ "$WAIT_STATUS" -ge 128 ]; do + wait $JBOSS_PID 2>/dev/null + WAIT_STATUS=$? + if [ "$WAIT_STATUS" -gt 128 ]; then + SIGNAL=`expr $WAIT_STATUS - 128` + SIGNAL_NAME=`kill -l $SIGNAL` + echo "*** JBossAS process ($JBOSS_PID) received $SIGNAL_NAME signal ***" >&2 + fi +done +if [ "$WAIT_STATUS" -lt 127 ]; then + JBOSS_STATUS=$WAIT_STATUS +else + JBOSS_STATUS=0 +fi +if [ "$JBOSS_STATUS" -ne 10 ]; then + # Wait for a complete shudown + wait $JBOSS_PID 2>/dev/null +fi +if [ "x$JBOSS_PIDFILE" != "x" ]; then + grep "$JBOSS_PID" $JBOSS_PIDFILE && rm $JBOSS_PIDFILE +fi diff --git a/packages/docker/src/main/docker/docker-files/settings.xml b/packages/docker/src/main/docker/docker-files/settings.xml new file mode 100644 index 0000000..ff9343b --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/settings.xml @@ -0,0 +1,54 @@ + + + + + + + + + optional + true + http + one.proxy.att.com + 8080 + localhost,127.0.0.1,*.att.com + + + + + + mso-releases + #USERNAME# + #PASSWORD# + + + mso-snapshots + #USERNAME# + #PASSWORD# + + + mso-3rd-party + #USERNAME# + #PASSWORD# + + + diff --git a/packages/pom.xml b/packages/pom.xml new file mode 100644 index 0000000..beb7251 --- /dev/null +++ b/packages/pom.xml @@ -0,0 +1,47 @@ + + 4.0.0 + + mso + org.openecomp + 0.0.4-SNAPSHOT + + + org.openecomp.mso + packages + pom + MSO Packages + + + + + + + default + + true + + + deliveries + + + + + docker + + deliveries + docker + + + + + with-integration-tests + + deliveries + docker + arquillian-unit-tests + + + + + diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql new file mode 100644 index 0000000..d7ceb3d --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql @@ -0,0 +1,37 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +LOCK TABLES `NETWORK_RESOURCE` WRITE; +/*!40000 ALTER TABLE `NETWORK_RESOURCE` DISABLE KEYS */; +/*!40000 ALTER TABLE `NETWORK_RESOURCE` ENABLE KEYS */; +insert into NETWORK_RESOURCE (id, NETWORK_TYPE, VERSION_STR, ORCHESTRATION_MODE ,DESCRIPTION, TEMPLATE_ID, NEUTRON_NETWORK_TYPE) values +(1, "vlan",'1',"NEUTRON","Cool network",1,"BASIC"); +UNLOCK TABLES; + +LOCK TABLES `NETWORK_RECIPE` WRITE; +/*!40000 ALTER TABLE `NETWORK_RECIPE` DISABLE KEYS */; +INSERT INTO `NETWORK_RECIPE`(`NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +('vlan','CREATE','1',NULL,'/active-bpel/services/REST/CreateNetwork',NULL,180,NULL), +('vlan','DELETE','1',NULL,'/active-bpel/services/REST/DeleteNetwork',NULL,180,NULL); +/*!40000 ALTER TABLE `NETWORK_RECIPE` ENABLE KEYS */; +UNLOCK TABLES; + +INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +(100,'VPE','CREATE','1','','/active-bpel/services/REST/CreateGenericVNF','',180,'SDN-ETHERNET-INTERNET'), +(101,'VPE','DELETE','1','','/active-bpel/services/REST/DeleteGenericVNF','',180,'SDN-ETHERNET-INTERNET'); + +DELETE FROM VNF_RESOURCE; +DELETE FROM HEAT_TEMPLATE_PARAMS; +DELETE FROM HEAT_TEMPLATE; +DELETE FROM HEAT_ENVIRONMENT; diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql new file mode 100644 index 0000000..403676a --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql @@ -0,0 +1,99 @@ +SOURCE ../../camunda/mysql_engine_7.3.0.sql +SOURCE ../../camunda/mysql_identity_7.3.0.sql +SOURCE ../../camunda/mysql_updates_7.3.0.sql + +-- +-- Create an admin user automatically for the cockpit +-- +SOURCE ../../camunda/mysql_create_camunda_admin.sql + +-- +-- Current Database: `mso_requests` +-- + +DROP DATABASE IF EXISTS `mso_requests`; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_requests` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `mso_requests`; + +SOURCE ../../main-schemas/MySQL-Requests-schema.sql +SOURCE ../../sub-sql-files/site_status_updated_timestamp.sql + + +-- +-- Current Database: `mso_catalog` +-- + +DROP DATABASE IF EXISTS `mso_catalog`; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_catalog` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `mso_catalog`; + +SOURCE ../../main-schemas/MySQL-Catalog-schema.sql +SOURCE ../../sub-sql-files/catalog_timestamp_mso_db.sql + +LOCK TABLES `NETWORK_RECIPE` WRITE; +/*!40000 ALTER TABLE `NETWORK_RECIPE` DISABLE KEYS */; +INSERT INTO `NETWORK_RECIPE`(`ID`, `NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +(1,'CONTRAIL_BASIC','CREATE','1',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL), +(2,'CONTRAIL_BASIC','DELETE','1',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL), +(3,'CONTRAIL_BASIC','UPDATE','1',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL), +(4,'CONTRAIL_SHARED','CREATE','1',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL), +(5,'CONTRAIL_SHARED','UPDATE','1',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL), +(6,'CONTRAIL_SHARED','DELETE','1',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL), +(7,'CONTRAIL_EXTERNAL','CREATE','1',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL), +(8,'CONTRAIL_EXTERNAL','UPDATE','1',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL), +(9,'CONTRAIL_EXTERNAL','DELETE','1',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL); + +/*!40000 ALTER TABLE `NETWORK_RECIPE` ENABLE KEYS */; +UNLOCK TABLES; +INSERT INTO `NETWORK_RECIPE`(`NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +('CONTRAIL30_BASIC','CREATE','1',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL), +('CONTRAIL30_BASIC','UPDATE','1',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL), +('CONTRAIL30_BASIC','DELETE','1',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL), +('CONTRAIL30_MPSCE','CREATE','1',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL), +('CONTRAIL30_MPSCE','UPDATE','1',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL), +('CONTRAIL30_MPSCE','DELETE','1',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL); + + +LOCK TABLES `VNF_RECIPE` WRITE; +/*!40000 ALTER TABLE `VNF_RECIPE` DISABLE KEYS */; +INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `VF_MODULE_ID`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +(1,'*',NULL,'CREATE','1','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/CreateGenericVNFV1',NULL,180,NULL), +(2,'*',NULL,'DELETE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services//deleteGenericVNFV1',NULL,180,NULL), +(3,'*',NULL,'UPDATE','1','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/updateGenericVNFV1',NULL,180,NULL), +(4,NULL,'*','CREATE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/CreateVfModule',NULL,180,NULL), +(5,NULL,'*','DELETE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/DeleteVfModule',NULL,180,NULL), +(6,NULL,'*','UPDATE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/UpdateVfModule',NULL,180,NULL); +/*!40000 ALTER TABLE `VNF_RECIPE` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `VNF_COMPONENTS_RECIPE` WRITE; +/*!40000 ALTER TABLE `VNF_COMPONENTS_RECIPE` DISABLE KEYS */; +INSERT INTO `VNF_COMPONENTS_RECIPE` +(`ID`, `VNF_TYPE`, `VF_MODULE_ID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +(1,'*',NULL,'CREATE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/createCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL), +(2,'*',NULL,'DELETE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/deleteCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL), +(3,'*',NULL,'UPDATE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/updateCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL), +(4,NULL,'*','CREATE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/CreateVfModuleVolume','VOLUME_GROUP',NULL,180,NULL), +(5,NULL,'*','DELETE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/DeleteVfModuleVolume','VOLUME_GROUP',NULL,180,NULL), +(6,NULL,'*','UPDATE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/UpdateVfModuleVolume','VOLUME_GROUP',NULL,180,NULL); +/*!40000 ALTER TABLE `VNF_COMPONENTS_RECIPE` ENABLE KEYS */; +UNLOCK TABLES; + +INSERT INTO service (id, SERVICE_NAME, VERSION_STR, DESCRIPTION) VALUES ('4', 'VID_DEFAULT', '1.0', 'Default service for VID to use for infra APIH orchestration'); +INSERT INTO service_recipe (SERVICE_ID, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('4', 'createInstance', '1', 'VID_DEFAULT recipe to create service-instance if no custom BPMN flow is found', '/mso/async/services/CreateServiceInstanceInfra', '180'); +INSERT INTO service_recipe (SERVICE_ID, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('4', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete service-instance if no custom BPMN flow is found', '/mso/async/services/DeleteServiceInstanceInfra', '180'); +INSERT INTO vnf_recipe (VNF_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'createInstance', '1', 'VID_DEFAULT recipe to create VNF if no custom BPMN flow is found', '/mso/async/services/CreateVnfInfra', '180'); +INSERT INTO vnf_recipe (VNF_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found', '/mso/async/services/DeleteVnfInfra', '180'); +INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'createInstance', '1', 'VID_DEFAULT recipe to create volume-group if no custom BPMN flow is found', '/mso/async/service/CreateVfModuleVolumeInfraV1', '180', 'VID_DEFAULT'); +INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete volume-group if no custom BPMN flow is found', '/mso/async/service/DeleteVfModuleVolumeInfraV1', '180', 'VID_DEFAULT'); +INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'updateInstance', '1', 'VID_DEFAULT recipe to update volume-group if no custom BPMN flow is found', '/mso/async/service/UpdateVfModuleVolumeInfraV1', '180', 'VID_DEFAULT'); +INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'createInstance', '1', 'VID_DEFAULT recipe to create vf-module if no custom BPMN flow is found', '/mso/async/services/CreateVfModuleInfra', '180', 'VID_DEFAULT'); +INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete vf-module if no custom BPMN flow is found', '/mso/async/services/DeleteVfModuleInfra', '180', 'VID_DEFAULT'); +INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'updateInstance', '1', 'VID_DEFAULT recipe to update vf-module if no custom BPMN flow is found', '/mso/async/services/UpdateVfModuleInfra', '180', 'VID_DEFAULT'); +INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'createInstance', '1.0', 'VID_DEFAULT recipe to create network if no custom BPMN flow is found', '/mso/async/services/CreateNetworkInstanceInfra', '180'); +INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'updateInstance', '1.0', 'VID_DEFAULT recipe to update network if no custom BPMN flow is found', '/mso/async/services/UpdateNetworkInstanceInfra', '180'); +INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'deleteInstance', '1.0', 'VID_DEFAULT recipe to delete network if no custom BPMN flow is found', '/mso/async/services/DeleteNetworkInstanceInfra', '180'); \ No newline at end of file diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql new file mode 100644 index 0000000..9ddc9ff --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql @@ -0,0 +1,85 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +LOCK TABLES `heat_environment` WRITE; +/*!40000 ALTER TABLE `heat_environment` DISABLE KEYS */; +INSERT INTO `heat_environment` VALUES (3,'base_vlb.env','1.0','dns-service/DNSResource-1','BASE VLB ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_net_cidr: 192.168.10.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.211\n vdns_private_ip_1: 192.168.9.211\n vlb_name_0: zdfw1lb01lb01\n vdns_name_0: zdfw1lb01dns01\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID1','Label'); +INSERT INTO `heat_environment` VALUES (4,'dnsscaling.env','1.0','dns-service/DNSResource-1','DNS Scaling ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.222\n vdns_private_ip_1: 192.168.9.222\n vdns_name_0: zdfw1lb01dns02\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID2','Label'); +/*!40000 ALTER TABLE `heat_environment` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `heat_template` WRITE; +/*!40000 ALTER TABLE `heat_template` DISABLE KEYS */; +INSERT INTO `heat_template` VALUES (6,'base_vlb.yaml','1.0','DNSResource','base_vlb.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_net_cidr:\n type: string\n label: vLoadBalancer private network CIDR\n description: The CIDR of the vLoadBalancer private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vlb_name_0:\n type: string\n label: vLoadBalancer name\n description: Name of the vLoadBalancer\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n vlb_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: vlb_private_net_id }\n\n vlb_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n name: { get_param: vlb_private_net_id }\n network_id: { get_resource: vlb_private_network }\n cidr: { get_param: vlb_private_net_cidr }\n\n vlb_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vlb_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vlb_private_0_port }\n - port: { get_resource: vlb_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__: { get_param: dcae_collector_ip }\n __local_private_ipaddr__: { get_param: vlb_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_lb_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vlb.sh\n chmod +x v_lb_init.sh\n chmod +x vlb.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep "inet addr" | tr -s \' \' | cut -d\' \' -f3 | cut -d\':\' -f2)\n echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt\n mv vlb.sh /etc/init.d\n update-rc.d vlb.sh defaults\n ./v_lb_init.sh\n\n vlb_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vlb_private_ip_0 }}]\n\n vlb_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vlb_private_ip_1 }}]\n\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}]\n',300,'Artifact-UUID1','Base VLB Heat','label','2016-11-14 13:04:07',NULL); +INSERT INTO `heat_template` VALUES (7,'dnsscaling.yaml','1.0','DNSResource','dnsscaling.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario)\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_param: key_name }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: vlb_private_net_id }\n fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}]\n',300,'Artifact-UUID2','DNS Scaling Heat','label','2016-11-14 13:04:07',NULL); +/*!40000 ALTER TABLE `heat_template` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `heat_template_params` WRITE; +/*!40000 ALTER TABLE `heat_template_params` DISABLE KEYS */; +INSERT INTO `heat_template_params` VALUES (110,6,'vlb_flavor_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (111,6,'vlb_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (112,6,'dcae_collector_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (113,6,'vlb_private_net_cidr','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (114,6,'ecomp_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (115,6,'vnf_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (116,6,'key_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (117,6,'pub_key','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (118,6,'vlb_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (119,6,'webserver_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (120,6,'vdns_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (121,6,'public_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (122,6,'vlb_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (123,6,'vlb_name_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (124,6,'vdns_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (125,6,'vdsn_name_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (126,6,'ecomp_private_net_cidr','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (127,6,'vf_module_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (128,6,'vlb_image_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (129,7,'vnf_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (130,7,'vf_module_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (131,7,'vlb_flavor_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (132,7,'vlb_image_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (133,7,'vdns_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (134,7,'dcae_collector_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (135,7,'webserver_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (136,7,'vlb_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (137,7,'vdns_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (138,7,'vdsn_name_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (139,7,'vlb_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (140,7,'pub_key','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (141,7,'public_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (142,7,'key_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (143,7,'ecomp_private_net_id','\1','string',NULL); +/*!40000 ALTER TABLE `heat_template_params` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `service` WRITE; +/*!40000 ALTER TABLE `service` DISABLE KEYS */; +INSERT INTO `service` VALUES (10,'dns-service','1.0','dns service for unit test','1e34774e-715e-4fd6-bd09-7b654622f35i',NULL,NULL,'2016-11-14 13:04:07','585822c8-4027-4f84-ba50-e9248606f111'); +/*!40000 ALTER TABLE `service` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `vf_module` WRITE; +/*!40000 ALTER TABLE `vf_module` DISABLE KEYS */; +INSERT INTO `vf_module` VALUES (7,'dns-service/DNSResource-1::VF_RI1_DNS::module-1','1.0','VF_RI1_DNS::module-1','1.0','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group',NULL,6,1,'2016-11-14 13:04:07',NULL,NULL,6,3,'585822c7-4027-4f84-ba50-e9248606f132'); +INSERT INTO `vf_module` VALUES (8,'dns-service/DNSResource-1::VF_RI1_DNS::module-2','1.0','VF_RI1_DNS::module-2','1.0','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group',NULL,7,0,'2016-11-14 13:04:07',NULL,NULL,6,4,'585822c7-4027-4f84-ba50-e9248606f133'); +/*!40000 ALTER TABLE `vf_module` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `vnf_resource` WRITE; +/*!40000 ALTER TABLE `vnf_resource` DISABLE KEYS */; +INSERT INTO `vnf_resource` VALUES (6,'dns-service/DNSResource-1','1.0','HEAT','dns service for unit test',NULL,NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f112','1.0','DNSResource-1','DNSResource','585822c8-4027-4f84-ba50-e9248606f111'); +/*!40000 ALTER TABLE `vnf_resource` ENABLE KEYS */; +UNLOCK TABLES; \ No newline at end of file diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql new file mode 100644 index 0000000..e61abae --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql @@ -0,0 +1,73 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +LOCK TABLES `heat_environment` WRITE; +/*!40000 ALTER TABLE `heat_environment` DISABLE KEYS */; +INSERT INTO `heat_environment` VALUES (5,'base_vfw.env','1.0','vfw-service/VFWResource-1','base_vfw ENV file','parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID3','Label'); +/*!40000 ALTER TABLE `heat_environment` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `heat_template` WRITE; +/*!40000 ALTER TABLE `heat_template` DISABLE KEYS */; +INSERT INTO `heat_template` VALUES (8,'base_vfw.yaml','1.0','VFWResource','base_vfw.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vFirewall demo app for OpenECOMP\n\nparameters:\n vfw_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vfw_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n unprotected_private_net_id:\n type: string\n label: Unprotected private network name or ID\n description: Private network that connects vPacketGenerator with vFirewall\n protected_private_net_id:\n type: string\n label: Protected private network name or ID\n description: Private network that connects vFirewall with vSink\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n unprotected_private_net_cidr:\n type: string\n label: Unprotected private network CIDR\n description: The CIDR of the unprotected private network\n protected_private_net_cidr:\n type: string\n label: Protected private network CIDR\n description: The CIDR of the protected private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vfw_private_ip_0:\n type: string\n label: vFirewall private IP address towards the unprotected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator\n vfw_private_ip_1:\n type: string\n label: vFirewall private IP address towards the protected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vSink\n vfw_private_ip_2:\n type: string\n label: vFirewall private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components\n vpg_private_ip_0:\n type: string\n label: vPacketGenerator private IP address towards the unprotected network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall\n vpg_private_ip_1:\n type: string\n label: vPacketGenerator private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components\n vsn_private_ip_0:\n type: string\n label: vSink private IP address towards the protected network\n description: Private IP address that is assigned to the vSink to communicate with the vFirewall\n vsn_private_ip_1:\n type: string\n label: vSink private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vSink to communicate with ECOMP components\n vfw_name_0:\n type: string\n label: vFirewall name\n description: Name of the vFirewall\n vpg_name_0:\n type: string\n label: vPacketGenerator name\n description: Name of the vPacketGenerator\n vsn_name_0:\n type: string\n label: vSink name\n description: Name of the vSink\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vFirewall Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n unprotected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: unprotected_private_net_id }\n\n protected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: protected_private_net_id }\n\n unprotected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: unprotected_private_network }\n cidr: { get_param: unprotected_private_net_cidr }\n\n protected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: protected_private_network }\n cidr: { get_param: protected_private_net_cidr }\n\n vfw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vfw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vfw_private_0_port }\n - port: { get_resource: vfw_private_1_port }\n - port: { get_resource: vfw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__ : { get_param: dcae_collector_ip }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh\n chmod +x v_firewall_init.sh\n chmod +x vfirewall.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo "no" > config/install.txt\n mv vfirewall.sh /etc/init.d\n sudo update-rc.d vfirewall.sh defaults\n ./v_firewall_init.sh\n\n vfw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}]\n\n vfw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}]\n\n vfw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vfw_private_ip_2 }}]\n\n vpg_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vpg_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vpg_private_0_port }\n - port: { get_resource: vpg_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __fw_ipaddr__: { get_param: vfw_private_ip_0 }\n __protected_net_cidr__: { get_param: protected_private_net_cidr }\n __sink_ipaddr__: { get_param: vsn_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n FW_IPADDR=__fw_ipaddr__\n PROTECTED_NET_CIDR=__protected_net_cidr__\n SINK_IPADDR=__sink_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh\n chmod +x v_packetgen_init.sh\n chmod +x vpacketgen.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $FW_IPADDR > config/fw_ipaddr.txt\n echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt\n echo $SINK_IPADDR > config/sink_ipaddr.txt\n echo "no" > config/install.txt\n mv vpacketgen.sh /etc/init.d\n sudo update-rc.d vpacketgen.sh defaults\n ./v_packetgen_init.sh\n\n vpg_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vpg_private_ip_0 }}]\n\n vpg_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vpg_private_ip_1 }}]\n\n vsn_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vsn_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vsn_private_0_port }\n - port: { get_resource: vsn_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __protected_net_gw__: { get_param: vfw_private_ip_1 }\n __unprotected_net__: { get_param: unprotected_private_net_cidr }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n PROTECTED_NET_GW=__protected_net_gw__\n UNPROTECTED_NET=__unprotected_net__\n UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d\'/\' -f1)\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vsink.sh\n chmod +x v_sink_init.sh\n chmod +x vsink.sh\n echo $PROTECTED_NET_GW > config/protected_net_gw.txt\n echo $UNPROTECTED_NET > config/unprotected_net.txt\n echo "no" > config/install.txt\n mv vsink.sh /etc/init.d\n sudo update-rc.d vsink.sh defaults\n ./v_sink_init.sh\n\n vsn_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}]\n\n vsn_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vsn_private_ip_1 }}]\n \n',300,'Artifact-UUID3','Base VFW Heat','label','2016-11-14 13:04:07',NULL); +/*!40000 ALTER TABLE `heat_template` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `heat_template_params` WRITE; +/*!40000 ALTER TABLE `heat_template_params` DISABLE KEYS */; +INSERT INTO `heat_template_params` VALUES (144,8,'vsn_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (145,8,'ecomp_private_net_cidr','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (146,8,'public_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (147,8,'unprotected_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (148,8,'webserver_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (149,8,'vfw_image_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (150,8,'vnf_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (151,8,'dcae_collector_ip','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (152,8,'protected_private_net_cidr','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (153,8,'vsn_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (154,8,'vfw_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (155,8,'vfw_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (156,8,'vfw_private_ip_2','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (157,8,'unprotected_private_net_cidr','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (158,8,'vsn_name_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (159,8,'ecomp_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (160,8,'vpg_private_ip_1','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (161,8,'vpg_name_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (162,8,'vf_module_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (163,8,'pub_key','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (164,8,'protected_private_net_id','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (165,8,'key_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (166,8,'vfw_flavor_name','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (167,8,'vpg_private_ip_0','\1','string',NULL); +INSERT INTO `heat_template_params` VALUES (168,8,'vfw_name_0','\1','string',NULL); +/*!40000 ALTER TABLE `heat_template_params` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `service` WRITE; +/*!40000 ALTER TABLE `service` DISABLE KEYS */; +INSERT INTO `service` VALUES (11,'vfw-service','1.0','VFW service','2e34774e-715e-4fd5-bd09-7b654622f35i',NULL,NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f112'); +/*!40000 ALTER TABLE `service` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `vf_module` WRITE; +/*!40000 ALTER TABLE `vf_module` DISABLE KEYS */; +INSERT INTO `vf_module` VALUES (9,'vfw-service/VFWResource-1::VF_RI1_VFW::module-1','1.0','VF_RI1_VFW::module-1','1.0','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group',NULL,8,1,'2016-11-14 13:04:07',NULL,NULL,7,5,'585822c7-4027-4f84-ba50-e9248606f134'); +/*!40000 ALTER TABLE `vf_module` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `vnf_resource` WRITE; +/*!40000 ALTER TABLE `vnf_resource` DISABLE KEYS */; +INSERT INTO `vnf_resource` VALUES (7,'vfw-service/VFWResource-1','1.0','HEAT','VFW service',NULL,NULL,'2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource-1','VFWResource','585822c7-4027-4f84-ba50-e9248606f112'); +/*!40000 ALTER TABLE `vnf_resource` ENABLE KEYS */; +UNLOCK TABLES; \ No newline at end of file diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_create_camunda_admin.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_create_camunda_admin.sql new file mode 100644 index 0000000..3beeaf1 --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_create_camunda_admin.sql @@ -0,0 +1,9 @@ +USE camundabpmn; + +INSERT INTO `act_id_user` VALUES ('admin',1,'admin','user','camundaadmin@openecomp.org','{SHA}Y7MVubSDgzJeaulJRLN2dFyNCyc=',NULL); + +INSERT INTO `act_id_group` VALUES ('camunda-admin',1,'camunda BPM Administrators','SYSTEM'); + +INSERT INTO `act_id_membership` VALUES ('admin','camunda-admin'); + +INSERT INTO `act_ru_authorization` VALUES ('4ca68335-b7c5-11e6-b411-0242ac110003',1,1,NULL,'admin',1,'admin',2147483647),('4ca91b46-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,2,'camunda-admin',2),('4cab3e27-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,0,'*',2147483647),('4cadd638-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,1,'*',2147483647),('4caf0eb9-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,2,'*',2147483647),('4caff91a-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,3,'*',2147483647),('4cb10a8b-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,4,'*',2147483647),('4cb2430c-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,5,'*',2147483647),('4cb32d6d-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,6,'*',2147483647),('4cb43ede-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,7,'*',2147483647),('4cb5293f-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,8,'*',2147483647),('4cb5ec90-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,9,'*',2147483647); diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_engine_7.3.0.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_engine_7.3.0.sql new file mode 100644 index 0000000..c25acf1 --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_engine_7.3.0.sql @@ -0,0 +1,748 @@ +# Start of Statements added for MSO +DROP DATABASE IF EXISTS `camundabpmn`; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `camundabpmn` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `camundabpmn`; + +# DROP USER IF EXISTS 'camunda'; +delete from mysql.user where User='camunda'; +CREATE USER 'camunda'; +GRANT ALL on camundabpmn.* to 'camunda' identified by 'camunda123' with GRANT OPTION; +FLUSH PRIVILEGES; +# End of Statements added for MSO + +create table ACT_GE_PROPERTY ( + NAME_ varchar(64), + VALUE_ varchar(300), + REV_ integer, + primary key (NAME_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +insert into ACT_GE_PROPERTY +values ('schema.version', 'fox', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(fox)', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + +insert into ACT_GE_PROPERTY +values ('deployment.lock', '0', 1); + +create table ACT_GE_BYTEARRAY ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + DEPLOYMENT_ID_ varchar(64), + BYTES_ LONGBLOB, + GENERATED_ TINYINT, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RE_DEPLOYMENT ( + ID_ varchar(64), + NAME_ varchar(255), + DEPLOY_TIME_ timestamp, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_EXECUTION ( + ID_ varchar(64), + REV_ integer, + PROC_INST_ID_ varchar(64), + BUSINESS_KEY_ varchar(255), + PARENT_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + SUPER_EXEC_ varchar(64), + SUPER_CASE_EXEC_ varchar(64), + CASE_INST_ID_ varchar(64), + ACT_ID_ varchar(255), + ACT_INST_ID_ varchar(64), + IS_ACTIVE_ TINYINT, + IS_CONCURRENT_ TINYINT, + IS_SCOPE_ TINYINT, + IS_EVENT_SCOPE_ TINYINT, + SUSPENSION_STATE_ integer, + CACHED_ENT_STATE_ integer, + SEQUENCE_COUNTER_ bigint, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_JOB ( + ID_ varchar(64) NOT NULL, + REV_ integer, + TYPE_ varchar(255) NOT NULL, + LOCK_EXP_TIME_ timestamp NULL, + LOCK_OWNER_ varchar(255), + EXCLUSIVE_ boolean, + EXECUTION_ID_ varchar(64), + PROCESS_INSTANCE_ID_ varchar(64), + PROCESS_DEF_ID_ varchar(64), + PROCESS_DEF_KEY_ varchar(64), + RETRIES_ integer, + EXCEPTION_STACK_ID_ varchar(64), + EXCEPTION_MSG_ varchar(4000), + DUEDATE_ timestamp NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + DEPLOYMENT_ID_ varchar(64), + SUSPENSION_STATE_ integer, + JOB_DEF_ID_ varchar(64), + SEQUENCE_COUNTER_ bigint, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_JOBDEF ( + ID_ varchar(64) NOT NULL, + REV_ integer, + PROC_DEF_ID_ varchar(64) NOT NULL, + PROC_DEF_KEY_ varchar(255) NOT NULL, + ACT_ID_ varchar(255) NOT NULL, + JOB_TYPE_ varchar(255) NOT NULL, + JOB_CONFIGURATION_ varchar(255), + SUSPENSION_STATE_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RE_PROCDEF ( + ID_ varchar(64) not null, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) not null, + VERSION_ integer not null, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + HAS_START_FORM_KEY_ TINYINT, + SUSPENSION_STATE_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_TASK ( + ID_ varchar(64), + REV_ integer, + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + NAME_ varchar(255), + PARENT_TASK_ID_ varchar(64), + DESCRIPTION_ varchar(4000), + TASK_DEF_KEY_ varchar(255), + OWNER_ varchar(255), + ASSIGNEE_ varchar(255), + DELEGATION_ varchar(64), + PRIORITY_ integer, + CREATE_TIME_ timestamp, + DUE_DATE_ datetime, + FOLLOW_UP_DATE_ datetime, + SUSPENSION_STATE_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_IDENTITYLINK ( + ID_ varchar(64), + REV_ integer, + GROUP_ID_ varchar(255), + TYPE_ varchar(255), + USER_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_VARIABLE ( + ID_ varchar(64) not null, + REV_ integer, + TYPE_ varchar(255) not null, + NAME_ varchar(255) not null, + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + TASK_ID_ varchar(64), + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + VAR_SCOPE_ varchar(64) not null, + SEQUENCE_COUNTER_ bigint, + IS_CONCURRENT_LOCAL_ TINYINT, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_EVENT_SUBSCR ( + ID_ varchar(64) not null, + REV_ integer, + EVENT_TYPE_ varchar(255) not null, + EVENT_NAME_ varchar(255), + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + ACTIVITY_ID_ varchar(64), + CONFIGURATION_ varchar(255), + CREATED_ timestamp not null, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_INCIDENT ( + ID_ varchar(64) not null, + REV_ integer not null, + INCIDENT_TIMESTAMP_ timestamp not null, + INCIDENT_MSG_ varchar(4000), + INCIDENT_TYPE_ varchar(255) not null, + EXECUTION_ID_ varchar(64), + ACTIVITY_ID_ varchar(255), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + CAUSE_INCIDENT_ID_ varchar(64), + ROOT_CAUSE_INCIDENT_ID_ varchar(64), + CONFIGURATION_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_AUTHORIZATION ( + ID_ varchar(64) not null, + REV_ integer not null, + TYPE_ integer not null, + GROUP_ID_ varchar(255), + USER_ID_ varchar(255), + RESOURCE_TYPE_ integer not null, + RESOURCE_ID_ varchar(64), + PERMS_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_FILTER ( + ID_ varchar(64) not null, + REV_ integer not null, + RESOURCE_TYPE_ varchar(255) not null, + NAME_ varchar(255) not null, + OWNER_ varchar(255), + QUERY_ LONGTEXT not null, + PROPERTIES_ LONGTEXT, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_METER_LOG ( + ID_ varchar(64) not null, + NAME_ varchar(64) not null, + VALUE_ bigint, + TIMESTAMP_ timestamp not null, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_); +create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_); +create index ACT_IDX_TASK_ASSIGNEE on ACT_RU_TASK(ASSIGNEE_); +create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_); +create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_); +create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_); +create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_); +create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_); +create index ACT_IDX_INC_CONFIGURATION on ACT_RU_INCIDENT(CONFIGURATION_); +create index ACT_IDX_JOB_PROCINST on ACT_RU_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_METER_LOG on ACT_RU_METER_LOG(NAME_,TIMESTAMP_); + +alter table ACT_GE_BYTEARRAY + add constraint ACT_FK_BYTEARR_DEPL + foreign key (DEPLOYMENT_ID_) + references ACT_RE_DEPLOYMENT (ID_); + +alter table ACT_RE_PROCDEF + add constraint ACT_UNIQ_PROCDEF + unique (KEY_,VERSION_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade; + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_SUPER + foreign key (SUPER_EXEC_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_TSKASS_TASK + foreign key (TASK_ID_) + references ACT_RU_TASK (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_ATHRZ_PROCEDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF(ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_BYTEARRAY + foreign key (BYTEARRAY_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_EVENT_SUBSCR + add constraint ACT_FK_EVENT_EXEC + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_CAUSE + foreign key (CAUSE_INCIDENT_ID_) + references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade; + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_RCAUSE + foreign key (ROOT_CAUSE_INCIDENT_ID_) + references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade; + +alter table ACT_RU_AUTHORIZATION + add constraint ACT_UNIQ_AUTH_USER + unique (USER_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_); + +alter table ACT_RU_AUTHORIZATION + add constraint ACT_UNIQ_AUTH_GROUP + unique (GROUP_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_UNIQ_VARIABLE + unique (VAR_SCOPE_, NAME_); + +-- indexes for deadlock problems - https://app.camunda.com/jira/browse/CAM-2567 -- +create index ACT_IDX_INC_CAUSEINCID on ACT_RU_INCIDENT(CAUSE_INCIDENT_ID_); +create index ACT_IDX_INC_EXID on ACT_RU_INCIDENT(EXECUTION_ID_); +create index ACT_IDX_INC_PROCDEFID on ACT_RU_INCIDENT(PROC_DEF_ID_); +create index ACT_IDX_INC_PROCINSTID on ACT_RU_INCIDENT(PROC_INST_ID_); +create index ACT_IDX_INC_ROOTCAUSEINCID on ACT_RU_INCIDENT(ROOT_CAUSE_INCIDENT_ID_); +-- create case definition table -- +create table ACT_RE_CASE_DEF ( + ID_ varchar(64) not null, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) not null, + VERSION_ integer not null, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create case execution table -- +create table ACT_RU_CASE_EXECUTION ( + ID_ varchar(64) NOT NULL, + REV_ integer, + CASE_INST_ID_ varchar(64), + SUPER_CASE_EXEC_ varchar(64), + SUPER_EXEC_ varchar(64), + BUSINESS_KEY_ varchar(255), + PARENT_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + ACT_ID_ varchar(255), + PREV_STATE_ integer, + CURRENT_STATE_ integer, + REQUIRED_ boolean, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create case sentry part table -- + +create table ACT_RU_CASE_SENTRY_PART ( + ID_ varchar(64) NOT NULL, + REV_ integer, + CASE_INST_ID_ varchar(64), + CASE_EXEC_ID_ varchar(64), + SENTRY_ID_ varchar(255), + TYPE_ varchar(255), + SOURCE_CASE_EXEC_ID_ varchar(64), + STANDARD_EVENT_ varchar(255), + SATISFIED_ boolean, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create unique constraint on ACT_RE_CASE_DEF -- +alter table ACT_RE_CASE_DEF + add constraint ACT_UNIQ_CASE_DEF + unique (KEY_,VERSION_); + +-- create index on business key -- +create index ACT_IDX_CASE_EXEC_BUSKEY on ACT_RU_CASE_EXECUTION(BUSINESS_KEY_); + +-- create foreign key constraints on ACT_RU_CASE_EXECUTION -- +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_) on delete cascade on update cascade; + +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_CASE_DEF + foreign key (CASE_DEF_ID_) + references ACT_RE_CASE_DEF(ID_); + +-- create foreign key constraints on ACT_RU_VARIABLE -- +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_CASE_EXE + foreign key (CASE_EXECUTION_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +-- create foreign key constraints on ACT_RU_TASK -- +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_CASE_EXE + foreign key (CASE_EXECUTION_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_CASE_DEF + foreign key (CASE_DEF_ID_) + references ACT_RE_CASE_DEF(ID_); + +-- create foreign key constraints on ACT_RU_CASE_SENTRY_PART -- +alter table ACT_RU_CASE_SENTRY_PART + add constraint ACT_FK_CASE_SENTRY_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_CASE_SENTRY_PART + add constraint ACT_FK_CASE_SENTRY_CASE_EXEC + foreign key (CASE_EXEC_ID_) + references ACT_RU_CASE_EXECUTION(ID_); +create table ACT_HI_PROCINST ( + ID_ varchar(64) not null, + PROC_INST_ID_ varchar(64) not null, + BUSINESS_KEY_ varchar(255), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64) not null, + START_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ bigint, + START_USER_ID_ varchar(255), + START_ACT_ID_ varchar(255), + END_ACT_ID_ varchar(255), + SUPER_PROCESS_INSTANCE_ID_ varchar(64), + SUPER_CASE_INSTANCE_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + DELETE_REASON_ varchar(4000), + primary key (ID_), + unique (PROC_INST_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_ACTINST ( + ID_ varchar(64) not null, + PARENT_ACT_INST_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64) not null, + PROC_INST_ID_ varchar(64) not null, + EXECUTION_ID_ varchar(64) not null, + ACT_ID_ varchar(255) not null, + TASK_ID_ varchar(64), + CALL_PROC_INST_ID_ varchar(64), + CALL_CASE_INST_ID_ varchar(64), + ACT_NAME_ varchar(255), + ACT_TYPE_ varchar(255) not null, + ASSIGNEE_ varchar(64), + START_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ bigint, + ACT_INST_STATE_ integer, + SEQUENCE_COUNTER_ bigint, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_TASKINST ( + ID_ varchar(64) not null, + TASK_DEF_KEY_ varchar(255), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + NAME_ varchar(255), + PARENT_TASK_ID_ varchar(64), + DESCRIPTION_ varchar(4000), + OWNER_ varchar(255), + ASSIGNEE_ varchar(255), + START_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ bigint, + DELETE_REASON_ varchar(4000), + PRIORITY_ integer, + DUE_DATE_ datetime, + FOLLOW_UP_DATE_ datetime, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_VARINST ( + ID_ varchar(64) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + NAME_ varchar(255) not null, + VAR_TYPE_ varchar(100), + REV_ integer, + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_DETAIL ( + ID_ varchar(64) not null, + TYPE_ varchar(255) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + VAR_INST_ID_ varchar(64), + NAME_ varchar(255) not null, + VAR_TYPE_ varchar(255), + REV_ integer, + TIME_ datetime not null, + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + SEQUENCE_COUNTER_ bigint, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_COMMENT ( + ID_ varchar(64) not null, + TYPE_ varchar(255), + TIME_ datetime not null, + USER_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + ACTION_ varchar(255), + MESSAGE_ varchar(4000), + FULL_MSG_ LONGBLOB, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_ATTACHMENT ( + ID_ varchar(64) not null, + REV_ integer, + USER_ID_ varchar(255), + NAME_ varchar(255), + DESCRIPTION_ varchar(4000), + TYPE_ varchar(255), + TASK_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + URL_ varchar(4000), + CONTENT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_OP_LOG ( + ID_ varchar(64) not null, + PROC_DEF_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + JOB_ID_ varchar(64), + JOB_DEF_ID_ varchar(64), + USER_ID_ varchar(255), + TIMESTAMP_ timestamp not null, + OPERATION_TYPE_ varchar(64), + OPERATION_ID_ varchar(64), + ENTITY_TYPE_ varchar(30), + PROPERTY_ varchar(64), + ORG_VALUE_ varchar(4000), + NEW_VALUE_ varchar(4000), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_INCIDENT ( + ID_ varchar(64) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CREATE_TIME_ timestamp not null, + END_TIME_ timestamp null, + INCIDENT_MSG_ varchar(4000), + INCIDENT_TYPE_ varchar(255) not null, + ACTIVITY_ID_ varchar(255), + CAUSE_INCIDENT_ID_ varchar(64), + ROOT_CAUSE_INCIDENT_ID_ varchar(64), + CONFIGURATION_ varchar(255), + INCIDENT_STATE_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_JOB_LOG ( + ID_ varchar(64) not null, + TIMESTAMP_ timestamp not null, + JOB_ID_ varchar(64) not null, + JOB_DUEDATE_ timestamp NULL, + JOB_RETRIES_ integer, + JOB_EXCEPTION_MSG_ varchar(4000), + JOB_EXCEPTION_STACK_ID_ varchar(64), + JOB_STATE_ integer, + JOB_DEF_ID_ varchar(64), + JOB_DEF_TYPE_ varchar(255), + JOB_DEF_CONFIGURATION_ varchar(255), + ACT_ID_ varchar(255), + EXECUTION_ID_ varchar(64), + PROCESS_INSTANCE_ID_ varchar(64), + PROCESS_DEF_ID_ varchar(64), + PROCESS_DEF_KEY_ varchar(255), + DEPLOYMENT_ID_ varchar(64), + SEQUENCE_COUNTER_ bigint, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_); +create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_); + +create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_); +create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_); +create index ACT_IDX_HI_ACT_INST_COMP on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_, END_TIME_, ID_); +create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_); + +create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_); +create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_); +create index ACT_IDX_HI_DETAIL_CASE_INST on ACT_HI_DETAIL(CASE_INST_ID_); +create index ACT_IDX_HI_DETAIL_CASE_EXEC on ACT_HI_DETAIL(CASE_EXECUTION_ID_); +create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_); +create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_); +create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_); + +create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_); +create index ACT_IDX_HI_CASEVAR_CASE_INST on ACT_HI_VARINST(CASE_INST_ID_); +create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_); + +create index ACT_IDX_HI_JOB_LOG_PROCINST on ACT_HI_JOB_LOG(PROCESS_INSTANCE_ID_); +create index ACT_IDX_HI_JOB_LOG_PROCDEF on ACT_HI_JOB_LOG(PROCESS_DEF_ID_); +create table ACT_HI_CASEINST ( + ID_ varchar(64) not null, + CASE_INST_ID_ varchar(64) not null, + BUSINESS_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64) not null, + CREATE_TIME_ datetime not null, + CLOSE_TIME_ datetime, + DURATION_ bigint, + STATE_ integer, + CREATE_USER_ID_ varchar(255), + SUPER_CASE_INSTANCE_ID_ varchar(64), + SUPER_PROCESS_INSTANCE_ID_ varchar(64), + primary key (ID_), + unique (CASE_INST_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_CASEACTINST ( + ID_ varchar(64) not null, + PARENT_ACT_INST_ID_ varchar(64), + CASE_DEF_ID_ varchar(64) not null, + CASE_INST_ID_ varchar(64) not null, + CASE_ACT_ID_ varchar(255) not null, + TASK_ID_ varchar(64), + CALL_PROC_INST_ID_ varchar(64), + CALL_CASE_INST_ID_ varchar(64), + CASE_ACT_NAME_ varchar(255), + CASE_ACT_TYPE_ varchar(255), + CREATE_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ bigint, + STATE_ integer, + REQUIRED_ boolean, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_HI_CAS_I_CLOSE on ACT_HI_CASEINST(CLOSE_TIME_); +create index ACT_IDX_HI_CAS_I_BUSKEY on ACT_HI_CASEINST(BUSINESS_KEY_); +create index ACT_IDX_HI_CAS_A_I_CREATE on ACT_HI_CASEACTINST(CREATE_TIME_); +create index ACT_IDX_HI_CAS_A_I_END on ACT_HI_CASEACTINST(END_TIME_); +create index ACT_IDX_HI_CAS_A_I_COMP on ACT_HI_CASEACTINST(CASE_ACT_ID_, END_TIME_, ID_); +create index ACT_IDX_HI_CAS_A_I_CASEINST on ACT_HI_CASEACTINST(CASE_INST_ID_, CASE_ACT_ID_); diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_identity_7.3.0.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_identity_7.3.0.sql new file mode 100644 index 0000000..dc72917 --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_identity_7.3.0.sql @@ -0,0 +1,50 @@ +# Start of statements added for MSO +USE `camundabpmn`; +# End of statements added for MSO + +create table ACT_ID_GROUP ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + TYPE_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_MEMBERSHIP ( + USER_ID_ varchar(64), + GROUP_ID_ varchar(64), + primary key (USER_ID_, GROUP_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_USER ( + ID_ varchar(64), + REV_ integer, + FIRST_ varchar(255), + LAST_ varchar(255), + EMAIL_ varchar(255), + PWD_ varchar(255), + PICTURE_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_INFO ( + ID_ varchar(64), + REV_ integer, + USER_ID_ varchar(64), + TYPE_ varchar(64), + KEY_ varchar(255), + VALUE_ varchar(255), + PASSWORD_ LONGBLOB, + PARENT_ID_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_GROUP + foreign key (GROUP_ID_) + references ACT_ID_GROUP (ID_); + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_USER + foreign key (USER_ID_) + references ACT_ID_USER (ID_); diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_updates_7.3.0.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_updates_7.3.0.sql new file mode 100644 index 0000000..09c53ea --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/camunda/mysql_updates_7.3.0.sql @@ -0,0 +1,11 @@ +# MSO updates to the default camunda schema. +USE `camundabpmn`; +ALTER TABLE ACT_HI_VARINST MODIFY TEXT_ LONGTEXT; + +ALTER TABLE ACT_HI_DETAIL MODIFY TEXT_ LONGTEXT; + +ALTER TABLE ACT_RU_VARIABLE MODIFY TEXT_ LONGTEXT; + +INSERT INTO ACT_GE_PROPERTY VALUES ('historyLevel','3',1) ON DUPLICATE KEY UPDATE VALUE_='3'; + +CREATE TABLE IF NOT EXISTS ATT_URN_MAPPING AS SELECT * FROM ACT_GE_PROPERTY WHERE NAME_='-'; diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql new file mode 100644 index 0000000..12d5d8c --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql @@ -0,0 +1,14 @@ +USE `mso_catalog`; + +ALTER TABLE HEAT_ENVIRONMENT MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE NETWORK_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE NETWORK_RESOURCE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE SERVICE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE VNF_COMPONENTS MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE VNF_COMPONENTS_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE VNF_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE VNF_RESOURCE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE HEAT_FILES MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE HEAT_TEMPLATE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE VF_MODULE MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE SERVICE_RECIPE MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP NOT NULL; diff --git a/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql new file mode 100644 index 0000000..3b2de4c --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql @@ -0,0 +1 @@ +ALTER TABLE SITE_STATUS MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; diff --git a/packages/root-pack-extras/config-resources/mariadb/load-sql-files-tests-automation.sh b/packages/root-pack-extras/config-resources/mariadb/load-sql-files-tests-automation.sh new file mode 100644 index 0000000..d974c1d --- /dev/null +++ b/packages/root-pack-extras/config-resources/mariadb/load-sql-files-tests-automation.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. 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. +# ============LICENSE_END============================================ +# +# ECOMP and OpenECOMP are trademarks +# and service marks of AT&T Intellectual Property. +# +cd /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests +mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < create_mso_db-tests.sql \ No newline at end of file -- cgit 1.2.3-korg