Merge "Update INFO.yaml file"
[integration.git] / test / mocks / mass-pnf-sim / pnf-sim-lightweight / deployment / PnP_PNF_sim_heat_template.yml
1 description: Heat template that deploys PnP PNF simulator
2 heat_template_version: '2013-05-23'
3 parameters:
4   flavor_name: {description: Type of instance (flavor) to be used, label: Flavor,
5     type: string}
6   image_name: {description: Image to be used for compute instance, label: Image name
7       or ID, type: string}
8   key_name: {description: Public/Private key pair name, label: Key pair name, type: string}
9   public_net_id: {description: Public network that enables remote connection to VNF,
10     label: Public network name or ID, type: string}
11   private_net_id: {type: string, description: Private network id, label: Private network name or ID}
12   private_subnet_id: {type: string, description: Private subnet id, label: Private subnetwork name or ID}
13   proxy: {type: string, description: Proxy, label: Proxy, default: ""}
14 resources:
15   PNF_PnP_simualtor:
16     type: OS::Nova::Server
17     properties:
18       key_name: { get_param: key_name }
19       image: { get_param: image_name }
20       flavor: { get_param: flavor_name }
21       networks:
22       - port: { get_resource: PNF_PnP_simualtor_port0 }
23       user_data_format: RAW
24       user_data:
25         str_replace:
26           template: |
27             #!/bin/bash
28
29             set_versions () {
30                     DOCKER_COMPOSE_VERSION=1.22.0
31             }
32
33
34             enable_root_ssh () {
35                 sed -i 's/PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
36                 sed -i 's/PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
37                 service sshd restart
38                 echo -e "arthur\narthur" | passwd root
39             }
40
41             update_os () {
42                 dnf -y install fedora-upgrade
43             }
44
45             docker_remove () {
46                 dnf -y remove docker \
47                               docker-client \
48                               docker-client-latest \
49                               docker-common \
50                               docker-latest \
51                               docker-latest-logrotate \
52                               docker-logrotate \
53                               docker-selinux \
54                               docker-engine-selinux \
55                               docker-engine
56             }
57
58             docker_install_and_configure () {
59                 dnf -y install dnf-plugins-core
60                 dnf config-manager \
61                  --add-repo \
62                 https://download.docker.com/linux/fedora/docker-ce.repo
63                 dnf -y install docker-ce
64                 systemctl start docker
65                 mkdir -p /etc/systemd/system/docker.service.d/
66                 cat > /etc/systemd/system/docker.service.d/override.conf<< EOF
67             [Service]
68             Environment="HTTP_PROXY=$proxy"
69             Environment="HTTPS_PROXY=$proxy"
70             EOF
71                 systemctl daemon-reload
72                 systemctl restart docker
73             }
74             docker_compose_install () {
75                 curl -L https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
76                 chmod +x /usr/local/bin/docker-compose
77             }
78             pnf_sim_file_checkout () {
79                 cd /root; git clone https://gerrit.onap.org/r/integration
80                 printf "{\n  "simulatorParams": {\n    "vesServerUrl": "http://VES-HOST:VES-PORT/eventListener/v7",\n    "testDuration": "10",\n    "messageInterval": "1"\n  },\n  "commonEventHeaderParams": {\n    "eventName": "pnfRegistration_Nokia_5gDu",\n    "nfNamingCode": "gNB",\n    "nfcNamingCode": "oam",\n    "sourceName": "NOK6061ZW3",\n    "sourceId": "val13",\n    "reportingEntityName": "NOK6061ZW3"\n  },\n  "pnfRegistrationParams": {\n    "serialNumber": "6061ZW3",\n    "vendorName": "Nokia",\n    "oamV4IpAddress": "val3",\n    "oamV6IpAddress": "val4",\n    "unitFamily": "BBU",\n    "modelNumber": "val6",\n    "softwareVersion": "val7",\n    "unitType": "val8"\n  }\n}" > integration/test/mocks/pnfsimulator/config/config.json
81             }
82
83             start_simulator () {
84                docker login -u docker -p docker nexus3.onap.org:10003
85                cd ~/integration/test/mocks/pnfsimulator
86                ./simulator.sh start
87             }
88
89             set_versions
90             enable_root_ssh
91             update_os
92             docker_remove
93             docker_install_and_configure
94             docker_compose_install
95             pnf_sim_file_checkout
96             start_simulator
97           params:
98             $proxy: { get_param: proxy }
99   PNF_PnP_simualtor_port0:
100     type: OS::Neutron::Port
101     properties:
102       network_id: { get_param: private_net_id }
103       security_groups:
104         - default
105       fixed_ips:
106         - subnet_id: { get_param: private_subnet_id }
107   PNF_PnP_simualtor_public:
108     type: OS::Neutron::FloatingIP
109     properties:
110       floating_network_id: { get_param: public_net_id }
111       port_id: { get_resource: PNF_PnP_simualtor_port0 }
112 outputs:
113   PNF_PnP_simualtor_private_ip:
114     description: IP address of PNF_PnP_simualtor in private network
115     value: { get_attr: [ PNF_PnP_simualtor, first_address ] }
116   PNF_PnP_simualtor_public_ip:
117     description: Floating IP address of PNF_PnP_simualtor in public network
118     value: { get_attr: [ PNF_PnP_simualtor_public, floating_ip_address ] }