blob: 09898fd67d958a5d46211b779ebc2567842b1990 (
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
134
135
136
137
138
139
140
|
##############################################################################
# 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/dpdk_install.yml
heat_template_version: 2015-04-30
description: >
Used to run VMs with DPDK pktgen
parameters:
image:
type: string
description: Name of the image
default: vnftest-wily-server
timeout:
type: number
description: Timeout in seconds for WaitCondition, depends on your image and environment
default: 900
external_net_name:
type: string
description: Name of the external network which management network will connect to
default: admin_floating_net
resources:
flavor:
type: OS::Nova::Flavor
properties:
ram: 4096
vcpus: 4
disk: 4
network:
type: OS::Neutron::Net
properties:
name: dpdk_net
subnet:
type: OS::Neutron::Subnet
properties:
name: dpdk_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: dpdk_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 }
dpdk_vm:
type: OS::Nova::Server
depends_on: [subnet, keypair, flavor]
properties:
name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_resource: flavor }
key_name: {get_resource: keypair}
networks:
- network: { get_resource: network }
config_drive: True
user_data_format : RAW
user_data:
str_replace:
template: |
#!/bin/sh
cat <<'CEOF' > /tmp/dpdk_post_build.sh
export RTE_SDK=/dpdk
export RTE_TARGET=x86_64-native-linuxapp-gcc
cd /dpdk
make install T=x86_64-native-linuxapp-gcc DESTDIR=destdir
modprobe uio
insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko
cd /pktgen-dpdk
make RTE_SDK=/dpdk
echo "PCKTGEN BUILT"
rm -rf /var/lib/cloud/instances
echo "rm succesfull"
ls /dpdk/x86_64-native-linuxapp-gcc/kmod/
$NOTIFY --data-binary '{"status": "SUCCESS"}'
CEOF
chmod +x /tmp/dpdk_post_build.sh
echo "chmod"
nohup /tmp/dpdk_post_build.sh &
params:
$NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
outputs:
vm_uuid:
description: uuid of the VM
value: { get_attr: [ dpdk_vm, show,id ] }
|