summaryrefslogtreecommitdiffstats
path: root/docker/vnf/clearwater-heat-add-deps.patch
blob: 4c9dd143e5762390543378f5269f6448f9bb4d24 (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
diff --git a/clearwater.yaml b/clearwater.yaml
index a155c60..1de2e0f 100644
--- a/clearwater.yaml
+++ b/clearwater.yaml
@@ -185,6 +185,7 @@ resources:
 
   ellis:
     type: ./ellis.yaml
+    depends_on: dns
     properties:
       public_mgmt_net_id: { get_param: public_mgmt_net_id }
       private_mgmt_net_id: { get_attr: [ mgmt_network, private_net ] }
@@ -202,6 +203,7 @@ resources:
 
   bono:
     type: OS::Heat::ResourceGroup
+    depends_on: ellis
     properties:
       count: { get_param: bono_cluster_size }
       index_var: "__index__"
@@ -229,6 +231,7 @@ resources:
 
   sprout:
     type: OS::Heat::ResourceGroup
+    depends_on: ellis
     properties:
       count: { get_param: sprout_cluster_size }
       index_var: __index__
@@ -257,6 +260,7 @@ resources:
 
   homer:
     type: OS::Heat::ResourceGroup
+    depends_on: ellis
     properties:
       count: { get_param: homer_cluster_size }
       index_var: __index__
@@ -285,6 +289,7 @@ resources:
 
   dime:
     type: OS::Heat::ResourceGroup
+    depends_on: ellis
     properties:
       count: { get_param: dime_cluster_size }
       index_var: __index__
@@ -313,6 +318,7 @@ resources:
 
   vellum:
     type: OS::Heat::ResourceGroup
+    depends_on: ellis
     properties:
       count: { get_param: vellum_cluster_size }
       index_var: __index__
diff --git a/dns.yaml b/dns.yaml
index 825ede1..3e6c938 100644
--- a/dns.yaml
+++ b/dns.yaml
@@ -91,6 +91,16 @@ resources:
       security_groups:
         - { get_param: dns_security_group }
 
+  wait_condition:
+    type: OS::Heat::WaitCondition
+    properties:
+      handle: {get_resource: wait_handle}
+      count: 1
+      timeout: 600
+
+  wait_handle:
+    type: OS::Heat::WaitConditionHandle
+
   server:
     type: OS::Nova::Server
     properties:
@@ -110,6 +120,7 @@ resources:
             __public_ip__: { get_attr: [ mgmt_floating_ip, floating_ip_address ] }
             __private_sig_ip__: { get_attr: [ sig_port, fixed_ips, 0, ip_address ] }
             __private_sig_cidr__: { get_param: private_sig_net_cidr }
+            wc_notify: { get_attr: [wait_handle, curl_cli] }
           template: |
             #!/bin/bash
 
@@ -162,6 +173,7 @@ resources:
 
             # Now that BIND configuration is correct, kick it to reload.
             service bind9 reload
+            wc_notify --data-binary '{"status": "SUCCESS"}'
 
 outputs:
   public_mgmt_ip:
diff --git a/ellis.yaml b/ellis.yaml
index 963352d..d39c235 100644
--- a/ellis.yaml
+++ b/ellis.yaml
@@ -103,6 +103,16 @@ resources:
       floating_network_id: { get_param: public_mgmt_net_id }
       port_id: { get_resource: mgmt_port }
 
+  wait_condition:
+    type: OS::Heat::WaitCondition
+    properties:
+      handle: {get_resource: wait_handle}
+      count: 1
+      timeout: 600
+
+  wait_handle:
+    type: OS::Heat::WaitConditionHandle
+
   server:
     type: OS::Nova::Server
     properties:
@@ -126,6 +136,7 @@ resources:
             __dnssec_key__: { get_param: dnssec_key }
             __etcd_ip__ : { get_param: etcd_ip }
             __index__ : { get_param: index }
+            wc_notify: { get_attr: [wait_handle, curl_cli] }
           template: |
             #!/bin/bash
 
@@ -227,6 +238,7 @@ resources:
             echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
             echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
             service dnsmasq force-reload
+            wc_notify --data-binary '{"status": "SUCCESS"}'
 
 outputs:
   public_mgmt_ip: