blob: 413171add610d32174aba9f1f33b59def70b154c (
plain)
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
|
##############################################################################
# Copyright 2018 EuropeanSoftwareMarketingLtd.
# ===================================================================
# Licensed under the ApacheLicense, Version2.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
#
# 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
##############################################################################
# vnftest comment: this is a modified copy of
# yardstick/tools/vsperf_install.yml
heat_template_version: 2015-04-30
description: >
Used to run VMs with Vsperf
parameters:
image:
type: string
description: Name of the image
default: vnftest-vsperf
flavor:
type: string
default: vsperf-flavor
timeout:
type: number
description: Timeout in seconds for WaitCondition, depends on your image and environment
default: 6000
external_net_name:
type: string
description: Name of the external network which management network will connect to
default: ext-net1
resources:
network:
type: OS::Neutron::Net
properties:
name: vsperf_net
subnet:
type: OS::Neutron::Subnet
properties:
name: vsperf_subnet
ip_version: 4
cidr: 192.168.0.0/24
network: { get_resource: network }
management_router:
type: OS::Neutron::Router
properties:
name: management_router
external_gateway_info:
network: { get_param: external_net_name }
management_router_interface:
type: OS::Neutron::RouterInterface
properties:
router: { get_resource: management_router }
subnet: { get_resource: subnet }
floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network: { get_param: external_net_name }
floating_ip_association:
type: OS::Nova::FloatingIPAssociation
properties:
floating_ip: { get_resource: floating_ip }
server_id: {get_resource: vsperf_vm}
keypair:
type: OS::Nova::KeyPair
properties:
name: vnftest-key
public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0RkXfW6pksd1cZmXuvXZF/Mlqqq3ahIGcGoULOC97XMpu0vdxMpcUwdjwGqMwEXTVyfHidu0l99bLqOCpSUKCmbWx3ONJ+1kqFx4HwsKEWLiyDYqsuMrDeZT1eFjC5avCoTcrIw2wq5NaBb00lDGagNZOeopaL5YIa4+PizEY23+cir24D67NU21Fg3JE92AIeGlNa4j66L3a+lL0hZq74Dilmp42wm4GsbplRO6KJfyaraowHb1X+TmhCjBgHk6M/OJ9yPAroZyJNcwjMAuuxhAYWRuT3SdbnoUR0RG2VhfDh0qNid7vOqLbhKPeaLLFmzkN+9w3WdCp6LbSYt87 vnftest@vnftest.onap.org
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition:
type: OS::Heat::WaitCondition
properties:
handle: { get_resource: wait_handle }
count: 1
timeout: { get_param: timeout }
vsperf_vm:
type: OS::Nova::Server
depends_on: [subnet, keypair]
properties:
name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: flavor }
key_name: {get_resource: keypair}
networks:
- network: { get_resource: network }
config_drive: True
user_data_format : RAW
user_data:
str_replace:
template: |
#!/bin/bash
cat <<'CEOF' > /tmp/vsperf_post_build.sh
echo "Install vswitchperf"
mv /root/vswitchperf /home/ubuntu
chown -R ubuntu:ubuntu /home/ubuntu/vswitchperf
cd /home/ubuntu/vswitchperf/systems
sudo -H -u ubuntu ./build_base_machine.sh
echo "Set password less access to MoonGen server"
sudo -H -u ubuntu ssh-keygen -b 2048 -t rsa -f /home/ubuntu/.ssh/id_rsa -N ''
sudo -H -u ubuntu touch /home/ubuntu/.cloud-warnings.skip
echo "Enable 1GB huge pages"
update-grub
$NOTIFY --data-binary '{"status": "SUCCESS"}'
CEOF
chmod +x /tmp/vsperf_post_build.sh
nohup /tmp/vsperf_post_build.sh &
params:
$NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
outputs:
vm_uuid:
description: uuid of the VM
value: { get_attr: [ vsperf_vm, show,id ] }
|