blob: 19119f3d9a1a95a3e04fb3244abde55422707602 (
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
|
heat_template_version: 2013-05-23
#################################
#
# Changes in v0.2:
# - Unique availability zone for each VM
# - LAN8 and SLAN networks removed according to latest Prod/Type I diagram
# - 2 DB VMs added
# - Images corrected
# - VM start-up order: SMP->DB->BE->FE (no error handling yet)
# - Provisioning scripts placeholders
#
#################################
description: ASC Template
parameters:
city_name:
type: boolean
description: city name
default: K
address:
type: string
description: address
default: Alonim
home_number:
type: number
description: home_number
default: 8
resources:
# scp_be_wait_condition:
# type: OS::Heat::WaitCondition
# properties:
# handle: { get_resource: scp_be_wait_handle }
# count: 5
# timeout: 300
# scp_be_wait_handle:
# type: OS::Heat::WaitConditionHandle
#
# scp_fe_wait_condition:
# type: OS::Heat::WaitCondition
# properties:
# handle: { get_resource: scp_fe_wait_handle }
# count: 2
# timeout: 300
# scp_fe_wait_handle:
# type: OS::Heat::WaitConditionHandle
#
# smp_wait_condition:
# type: OS::Heat::WaitCondition
# properties:
# handle: { get_resource: smp_wait_handle }
# count: 2
# timeout: 300
# smp_wait_handle:
# type: OS::Heat::WaitConditionHandle
#
# db_wait_condition:
# type: OS::Heat::WaitCondition
# properties:
# handle: { get_resource: db_wait_handle }
# count: 2
# timeout: 300
# db_wait_handle:
# type: OS::Heat::WaitConditionHandle
FE_Affinity:
type: OS::Nova::ServerGroup
properties:
policies: ["anti-affinity"]
BE_Affinity:
type: OS::Nova::ServerGroup
properties:
policies: ["anti-affinity"]
SMP_Affinity:
type: OS::Nova::ServerGroup
properties:
policies: ["anti-affinity"]
DB_Affinity:
type: OS::Nova::ServerGroup
properties:
policies: ["anti-affinity"]
FE_Clustering_KA:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: int_vscp_fe_cluster_net_id }
FE_Clustering_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: FE_Clustering_KA }
cidr: { get_param: int_vscp_fe_cluster_cidr }
Clustering_Network:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: int_vscp_cluster_net_id }
Clustering_Network_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: Clustering_Network }
cidr: { get_param: int_vscp_cluster_cidr }
DB_Network:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: int_vscp_db_network_net_id }
DB_Network_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: DB_Network }
cidr: { get_param: int_vscp_db_network_cidr }
server_scp_be0:
type: OS::Nova::Server
# depends on: db_wait_condition
properties:
name: { get_param: vm_scp_be0_name }
image: { get_param: image_scp_be_id }
# availability_zone: { get_param: availability_zone_be0 }
flavor: { get_param: flavor_scp_be_id }
scheduler_hints: { group: { get_resource: BE_Affinity } }
networks:
- port: { get_resource: be0_port_3 }
- port: { get_resource: be0_port_4 }
- port: { get_resource: be0_port_5 }
- port: { get_resource: be0_port_7 }
metadata:
vnf_id: { get_param: vnf_id }
user_data:
str_replace:
template: |
#!/bin/bash
#todo: provision $vm_name
wc_notify --data-binary '{"status": "SUCCESS"}'
params:
$vm_name: {get_param: vm_scp_be0_name}
# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }
|