blob: 7d4a85c2b6fcd9c8bd4d2b2948a2f398a32b4e09 (
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
141
142
143
144
|
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: string
description: city name
default: Hulon
address:
type: string
description: address
default: Alonim
home_number:
type: number
description: home_number
default: 8
private_building:
type: boolean
description: home_number
default: true
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'] }
|