From 496538442c516e080441e408441a9d839b0ff80b Mon Sep 17 00:00:00 2001 From: wsliwka Date: Thu, 8 Aug 2019 09:56:34 +0200 Subject: Add onboarding package for pnf sim Issue-ID: INT-1134 Signed-off-by: wsliwka Change-Id: I4a23e51b5e46f04d0299b1bb997f572ec828e616 --- test/mocks/pnfsimulator/deployment/assembly.xml | 35 +++++ test/mocks/pnfsimulator/deployment/pom.xml | 52 ++++++++ .../pnfsimulator/deployment/src/MANIFEST.json | 17 +++ .../deployment/src/simulators_heat_template.env | 10 ++ .../deployment/src/simulators_heat_template.yaml | 147 +++++++++++++++++++++ .../netconfsimulator/docker-compose.yml | 2 +- .../pnfsimulator/pnfsimulator/docker-compose.yml | 2 +- test/mocks/pnfsimulator/pom.xml | 3 +- 8 files changed, 265 insertions(+), 3 deletions(-) create mode 100644 test/mocks/pnfsimulator/deployment/assembly.xml create mode 100644 test/mocks/pnfsimulator/deployment/pom.xml create mode 100644 test/mocks/pnfsimulator/deployment/src/MANIFEST.json create mode 100644 test/mocks/pnfsimulator/deployment/src/simulators_heat_template.env create mode 100644 test/mocks/pnfsimulator/deployment/src/simulators_heat_template.yaml diff --git a/test/mocks/pnfsimulator/deployment/assembly.xml b/test/mocks/pnfsimulator/deployment/assembly.xml new file mode 100644 index 000000000..a0609efd3 --- /dev/null +++ b/test/mocks/pnfsimulator/deployment/assembly.xml @@ -0,0 +1,35 @@ + + + resources + false + + zip + + + + + src + . + + + \ No newline at end of file diff --git a/test/mocks/pnfsimulator/deployment/pom.xml b/test/mocks/pnfsimulator/deployment/pom.xml new file mode 100644 index 000000000..25fe08b49 --- /dev/null +++ b/test/mocks/pnfsimulator/deployment/pom.xml @@ -0,0 +1,52 @@ + + + + 4.0.0 + + + org.onap.simulator + simulator-parent + 5.0.0-SNAPSHOT + + onboarding-package + + + + org.apache.maven.plugins + maven-assembly-plugin + + assembly.xml + pnf-pnp-simulators + . + + + + package + + single + + + + + + + diff --git a/test/mocks/pnfsimulator/deployment/src/MANIFEST.json b/test/mocks/pnfsimulator/deployment/src/MANIFEST.json new file mode 100644 index 000000000..fecdda996 --- /dev/null +++ b/test/mocks/pnfsimulator/deployment/src/MANIFEST.json @@ -0,0 +1,17 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "simulators_heat_template.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "simulators_heat_template.env", + "type": "HEAT_ENV" + } + ] + } + ] +} diff --git a/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.env b/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.env new file mode 100644 index 000000000..cf2db52bf --- /dev/null +++ b/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.env @@ -0,0 +1,10 @@ +parameters: + image_name: ubuntu-14-04-cloud-amd64 + flavor_name: m1.medium + public_net_id: 41eae12a-27f7-4ace-9fda-3cd55c7c0651 + private_net_id: 41eae12a-27f7-4ace-9fda-3cd55c7c0651 + private_subnet_id: 41eae12a-27f7-4ace-9fda-3cd55c7c0651 + proxy: http://10.10.10.10:8080 + vnf_id: simulators_vnf + vf_module_id: simulators_vsp + key_name: onap-dev \ No newline at end of file diff --git a/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.yaml b/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.yaml new file mode 100644 index 000000000..253fcc735 --- /dev/null +++ b/test/mocks/pnfsimulator/deployment/src/simulators_heat_template.yaml @@ -0,0 +1,147 @@ +description: Heat template that deploys PnP PNF simulators +heat_template_version: '2013-05-23' +parameters: + flavor_name: {description: Type of instance (flavor) to be used, label: Flavor, + type: string} + image_name: {description: Image to be used for compute instance, label: Image name + or ID, type: string} + key_name: {description: Public/Private key pair name, label: Key pair name, type: string} + public_net_id: {description: Public network that enables remote connection to VNF, + label: Public network name or ID, type: string} + private_net_id: {type: string, description: Private network id, label: Private network name or ID} + private_subnet_id: {type: string, description: Private subnet id, label: Private subnetwork name or ID} + proxy: {type: string, description: Proxy, label: Proxy, default: ""} + vnf_id: {type: string, label: VNF ID, description: The VNF ID is provided by ONAP} + vf_module_id: {type: string, label: vBase module ID, description: The vBase Module ID is provided by ONAP} +resources: + PNF_PnP_simulator: + type: OS::Nova::Server + properties: + key_name: { get_param: key_name } + image: { get_param: image_name } + flavor: { get_param: flavor_name } + networks: + - port: { get_resource: PNF_PnP_simulator_port0 } + user_data_format: RAW + user_data: + str_replace: + template: | + #!/bin/bash + + set_versions () { + DOCKER_VERSION=17.03 + DOCKER_COMPOSE_VERSION=1.22.0 + } + + set_proxy () { + HTTP_PROXY=$proxy + HTTPS_PROXY=$proxy + http_proxy=$proxy + https_proxy=$proxy + export HTTP_PROXY=$proxy + export HTTPS_PROXY=$proxy + export http_proxy=$proxy + export https_proxy=$proxy + } + + enable_root_ssh () { + sed -i 's/PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config + sed -i 's/PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config + service sshd restart + echo -e "arthur\narthur" | passwd root + } + + update_os () { + rm -rf /var/lib/apt/lists/* + apt-get clean + apt-get update + } + + set_apt_get_proxy () { + cat > /etc/apt/apt.conf.d/proxy.conf << EOF + Acquire { + HTTP::proxy "$proxy"; + HTTPS::proxy "$proxy"; + } + EOF + } + + docker_remove () { + dnf -y remove docker \ + docker-client \ + docker-client-latest \ + docker-common \ + docker-latest \ + docker-latest-logrotate \ + docker-logrotate \ + docker-selinux \ + docker-engine-selinux \ + docker-engine + } + + docker_install_and_configure () { + curl "https://releases.rancher.com/install-docker/$DOCKER_VERSION.sh" | sh + mkdir -p /etc/systemd/system/docker.service.d/ + cat > /etc/systemd/system/docker.service.d/docker.conf << EOF + [Service] + ExecStart= + ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry=nexus3.onap.org:10003 + Environment="HTTP_PROXY=$proxy" + Environment="HTTPS_PROXY=$proxy" + EOF + systemctl daemon-reload + systemctl restart docker + apt-mark hold docker-ce + docker login -u docker -p docker nexus3.onap.org:10003 + } + docker_compose_install () { + curl -L https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + } + pnf_sim_file_checkout () { + cd /root; git clone https://gerrit.onap.org/r/integration + } + + start_pnf_simulator () { + docker login -u docker -p docker nexus3.onap.org:10003 + cd ~/integration/test/mocks/pnfsimulator/pnfsimulator + docker-compose up -d + } + + start_netconf_simulator () { + docker login -u docker -p docker nexus3.onap.org:10003 + cd ~/integration/test/mocks/pnfsimulator/netconfsimulator + docker-compose up -d + } + + set_versions + set_proxy + enable_root_ssh + set_apt_get_proxy + docker_install_and_configure + docker_compose_install + pnf_sim_file_checkout + start_pnf_simulator + start_netconf_simulator + params: + $proxy: { get_param: proxy } + PNF_PnP_simulator_port0: + type: OS::Neutron::Port + properties: + network_id: { get_param: private_net_id } + security_groups: + - default + fixed_ips: + - subnet_id: { get_param: private_subnet_id } + PNF_PnP_simulator_public: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: { get_param: public_net_id } + port_id: { get_resource: PNF_PnP_simulator_port0 } +outputs: + PNF_PnP_simulator_private_ip: + description: IP address of PNF_PnP_simulator in private network + value: { get_attr: [ PNF_PnP_simulator, first_address ] } + PNF_PnP_simulator_public_ip: + description: Floating IP address of PNF_PnP_simulator in public network + value: { get_attr: [ PNF_PnP_simulator_public, floating_ip_address ] } diff --git a/test/mocks/pnfsimulator/netconfsimulator/docker-compose.yml b/test/mocks/pnfsimulator/netconfsimulator/docker-compose.yml index fd3339162..201f7c4de 100644 --- a/test/mocks/pnfsimulator/netconfsimulator/docker-compose.yml +++ b/test/mocks/pnfsimulator/netconfsimulator/docker-compose.yml @@ -26,7 +26,7 @@ services: - zookeeper netconf-simulator: - image: nexus3.onap.org:10003/onap/netconfsimulator:5.0.0-SNAPSHOT + image: nexus3.onap.org:10003/onap/netconfsimulator ports: - "9000:8080" restart: on-failure diff --git a/test/mocks/pnfsimulator/pnfsimulator/docker-compose.yml b/test/mocks/pnfsimulator/pnfsimulator/docker-compose.yml index c6a0531c9..e69d371ed 100644 --- a/test/mocks/pnfsimulator/pnfsimulator/docker-compose.yml +++ b/test/mocks/pnfsimulator/pnfsimulator/docker-compose.yml @@ -24,7 +24,7 @@ services: ME_CONFIG_MONGODB_ADMINPASSWORD: zXcVbN123! pnf-simulator: - image: nexus3.onap.org:10003/onap/pnfsimulator:5.0.0-SNAPSHOT + image: nexus3.onap.org:10003/onap/pnfsimulator ports: - "5000:5000" volumes: diff --git a/test/mocks/pnfsimulator/pom.xml b/test/mocks/pnfsimulator/pom.xml index adc2bd582..2f683a9ae 100644 --- a/test/mocks/pnfsimulator/pom.xml +++ b/test/mocks/pnfsimulator/pom.xml @@ -36,7 +36,8 @@ 5.0.0-SNAPSHOT pnfsimulator - netconfsimulator + netconfsimulator + deployment UTF-8 -- cgit 1.2.3-korg