blob: 96b923d603e1ba9ccf381f77aa64e3bd499b3df2 (
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
|
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: Hello World
metadata:
template_name: tosca-vnfd-hello-world
topology_template:
node_templates:
VDU1:
type: tosca.nodes.nfv.VDU.Tacker
# commented out as this option seems to cause instance creation to timeout. These options will be covered in separate tests.
# artifacts:
# VNFImage:
# type: tosca.artifacts.Deployment.Image.VM
# file: http://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
capabilities:
nfv_compute:
properties:
num_cpus: 1
mem_size: 1024 MB
disk_size: 4 GB
properties:
image: models-xenial-server
availability_zone: nova
mgmt_driver: noop
config_drive: true
user_data_format: RAW
user_data: |
#!/bin/bash
set -x
mkdir /home/ubuntu
mkdir /home/ubuntu/.ssh
cat << EOM >/home/ubuntu/.ssh/authorized_keys
<pubkey>
EOM
chown -R ubuntu /home/ubuntu
sudo mount /dev/sr0 /mnt/
cd /tmp
id=$(cut -d ',' -f 3 /mnt/openstack/latest/meta_data.json)
cat << EOM | sudo tee index.html
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1"/>
<style>
body { width: 100%; background-color: white; color: black; padding: 0px; margin: 0px; font-family: sans-serif; font-size:100%; }
</style>
</head>
<body>
Hello World!<br>
<a href="http://wiki.opnfv.org"><img src="https://www.opnfv.org/wp-content/uploads/2016/11/opnfv_logo_wp.png"></a>
<div>
<p>Instance ID from config drive file /mnt/openstack/latest/meta_data.json></p>
<pre>
$id
</pre>
<p>Server setup completed at $(date)</p>
</div>
</body></html>
EOM
sudo python3 -m http.server 80
config: |
param0: key1
param1: key2
CP1:
type: tosca.nodes.nfv.CP.Tacker
properties:
management: true
anti_spoofing_protection: false
requirements:
- virtualLink:
node: VL1
- virtualBinding:
node: VDU1
CP2:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: false
requirements:
- virtualLink:
node: VL2
- virtualBinding:
node: VDU1
VL1:
type: tosca.nodes.nfv.VL
properties:
network_name: vnf_mgmt
vendor: Tacker
VL2:
type: tosca.nodes.nfv.VL
properties:
network_name: vnf_private
vendor: Tacker
|