1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
description: Heat template that deploys PnP PNF simulator
heat_template_version: '2013-05-23'
outputs:
PNF_PnP_simualtor_private_ip:
description: IP address of PNF_PnP_simualtor in private network
value:
get_attr: [PNF_PnP_simualtor, first_address]
PNF_PnP_simualtor_public_ip:
description: Floating IP address of PNF_PnP_simualtor in public network
value:
get_attr: [PNF_PnP_simualtor_public, floating_ip_address]
parameters:
flavor_name:
description: Type of instance (flavor) to be used
label: Flavor
type: string
image_name:
description: Ubuntu 16.04 image to be used
label: Image name or ID
type: string
key_name:
description: Public/Private key pair name
label: Key pair name
type: string
private_net_id:
description: Private network id
label: Private network name or ID
type: string
private_subnet_id:
description: Private subnet id
label: Private subnetwork name or ID
type: string
public_net_id:
description: Public network that enables remote connection to VNF
label: Public network name or ID
type: string
security_group:
default: default
description: Security group to be used
label: Security Groups
type: string
proxy:
default: ''
description: Proxy
label: Proxy
type: string
correlation_id:
default: 'someId'
description: Correlation ID
label: Correlation ID
type: string
VES-HOST:
default: 'VES-HOST'
description: VES collector host ip
label: VES ip
type: string
VES-PORT:
default: 'VES-PORT'
description: VES collector host port
label: VES port
type: string
resources:
PNF_PnP_simualtor:
properties:
flavor:
get_param: flavor_name
image:
get_param: image_name
key_name:
get_param: key_name
networks:
- port:
get_resource: PNF_PnP_simualtor_port0
user_data:
str_replace:
params:
$proxy:
get_param: proxy
$VES-PORT:
get_param: VES-PORT
$VES-HOST:
get_param: VES-HOST
$correlation_id:
get_param: correlation_id
template: |
#!/bin/bash
set_versions () {
DOCKER_VERSION=17.03
DOCKER_COMPOSE_VERSION=1.22.0
PROTOBUF_VERSION=3.6.1
}
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 "onap\nonap" | passwd root
}
update_os () {
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
}
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
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\": \"$correlation_id\",\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
}
start_simulator () {
docker login -u docker -p docker nexus3.onap.org:10003
cd ~/integration/test/mocks/pnfsimulator
./simulator.sh start
}
set_versions
enable_root_ssh
update_os
docker_install_and_configure
docker_compose_install
pnf_sim_file_checkout
start_simulator
type: OS::Nova::Server
PNF_PnP_simualtor_port0:
properties:
fixed_ips:
- subnet_id:
get_param: private_subnet_id
network_id:
get_param: private_net_id
security_groups:
- get_param: security_group
type: OS::Neutron::Port
PNF_PnP_simualtor_public:
properties:
floating_network_id:
get_param: public_net_id
port_id:
get_resource: PNF_PnP_simualtor_port0
type: OS::Neutron::FloatingIP
|