blob: 94776fc6da0d72fe428685a07c0f862eedb31f75 (
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
|
heat_template_version: 2013-05-23
description: Heat template to deploy a packet generator for the vLoadBalancer/vDNS demo app for ONAP
parameters:
public_net_id:
type: string
label: Public network name or ID
description: Public network that enables remote connection to VNF
vpg_image_name:
type: string
label: Image name or ID
description: Image to be used for compute instance
vpg_flavor_name:
type: string
label: Flavor
description: Type of instance (flavor) to be used
vpg_name_0:
type: string
label: vPacketGenerator name
description: Name of the vPacketGenerator
key_name:
type: string
label: Key pair name
description: Public/Private key pair name
pub_key:
type: string
label: Public key
description: Public key to be installed on the compute instance
repo_url_blob:
type: string
label: Repository URL
description: URL of the repository that hosts the demo packages
repo_url_artifacts:
type: string
label: Repository URL
description: URL of the repository that hosts the demo packages
vlb_ipaddr:
type: string
label: Public IP of the vLoadBalancer to which we want to send traffic
description: Public IP of the vLoadBalancer to which we want to send traffic
install_script_version:
type: string
label: Installation script version number
description: Version number of the scripts that install the vFW demo app
demo_artifacts_version:
type: string
label: Artifacts version used in demo vnfs
description: Artifacts (jar, tar.gz) version used in demo vnfs
cloud_env:
type: string
label: Cloud environment
description: Cloud environment (e.g., openstack, rackspace)
resources:
random-str:
type: OS::Heat::RandomString
properties:
length: 4
my_keypair:
type: OS::Nova::KeyPair
properties:
name:
str_replace:
template: base_rand
params:
base: { get_param: key_name }
rand: { get_resource: random-str }
public_key: { get_param: pub_key }
save_private_key: false
vpg_0:
type: OS::Nova::Server
properties:
image: { get_param: vpg_image_name }
flavor: { get_param: vpg_flavor_name }
name: { get_param: vpg_name_0 }
key_name: { get_resource: my_keypair }
networks:
- network: { get_param: public_net_id }
user_data_format: RAW
user_data:
str_replace:
params:
__repo_url_blob__ : { get_param: repo_url_blob }
__repo_url_artifacts__ : { get_param: repo_url_artifacts }
__vlb_ipaddr__: { get_param: vlb_ipaddr }
__demo_artifacts_version__ : { get_param: demo_artifacts_version }
__install_script_version__ : { get_param: install_script_version }
__cloud_env__ : { get_param: cloud_env }
template: |
#!/bin/bash
# Create configuration files
mkdir /opt/config
echo "__vlb_ipaddr__" > /opt/config/vlb_ipaddr.txt
echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt
echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt
echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt
echo "__install_script_version__" > /opt/config/install_script_version.txt
echo "__cloud_env__" > /opt/config/cloud_env.txt
# Download and run install script
curl -k __repo_url_blob__/org.openecomp.demo/vnfs/vlb/__install_script_version__/v_packetgen_install.sh -o /opt/v_packetgen_install.sh
cd /opt
chmod +x v_packetgen_install.sh
./v_packetgen_install.sh
|