vaporware 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vaporware.rb +21 -27
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd07f1737f07e7d1936f8774cb0808b4d063ff8a
|
4
|
+
data.tar.gz: f479a682b5c19453796eccaa5854f8c91b2cfd7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e97833be8c224dccf8c0eb77ff3346c4c7fb57bbfca15c1a4e7efb7aad78536f63a28d5eb59d9b93fa7c4fa67f1d4d79d4cc97c3e269a3564df43cf35c88989
|
7
|
+
data.tar.gz: 0e268b06cac64fa88c184171cd9e3181e380468f27c72b588fd8dc6ffe86e24f1908b92f7ca974cbee8c1bb50b54a9df8c7b0c9f1157492b3484559a96328610
|
data/lib/vaporware.rb
CHANGED
@@ -10,8 +10,8 @@ class Vaporware
|
|
10
10
|
timeout: 40, # minutes
|
11
11
|
tags: {},
|
12
12
|
on_failure: "ROLLBACK", # or: DO_NOTHING, DELETE
|
13
|
-
status_max_attempts:
|
14
|
-
status_delay:
|
13
|
+
status_max_attempts: 720,
|
14
|
+
status_delay: 5
|
15
15
|
}.merge opts
|
16
16
|
fail "You must specify a template filename!" unless options[:template_filename]
|
17
17
|
|
@@ -31,32 +31,20 @@ class Vaporware
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def create_stack
|
34
|
-
|
34
|
+
wait_for "creation", :stack_create_complete do
|
35
35
|
@client.create_stack(stack_create_params)
|
36
|
-
@client.wait_until(:stack_create_complete, stack_name: @stack_name) do |w|
|
37
|
-
w.max_attempts = @status_max_attempts
|
38
|
-
w.delay = @status_delay
|
39
|
-
end
|
40
36
|
end
|
41
37
|
end
|
42
38
|
|
43
39
|
def update_stack
|
44
|
-
|
40
|
+
wait_for "update", :stack_update_complete do
|
45
41
|
@client.update_stack(stack_update_params)
|
46
|
-
@client.wait_until(:stack_update_complete, stack_name: @stack_name) do |w|
|
47
|
-
w.max_attempts = @status_max_attempts
|
48
|
-
w.delay = @status_delay
|
49
|
-
end
|
50
42
|
end
|
51
43
|
end
|
52
44
|
|
53
45
|
def delete_stack
|
54
|
-
|
46
|
+
wait_for "deletion", :stack_delete_complete do
|
55
47
|
@client.delete_stack(stack_name: @stack_name)
|
56
|
-
@client.wait_until(:stack_delete_complete, stack_name: @stack_name) do |w|
|
57
|
-
w.max_attempts = @status_max_attempts
|
58
|
-
w.delay = @status_delay
|
59
|
-
end
|
60
48
|
end
|
61
49
|
end
|
62
50
|
|
@@ -138,21 +126,27 @@ class Vaporware
|
|
138
126
|
new_events.reverse
|
139
127
|
end
|
140
128
|
|
141
|
-
def
|
129
|
+
def format_events events
|
130
|
+
return "." if events.size == 0
|
131
|
+
events.reduce("") do |acc, event|
|
132
|
+
acc << "[#{event.timestamp}] #{event.logical_resource_id} (#{event.resource_type}): #{event.resource_status}\n"
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def wait_for goal, event_type
|
142
137
|
@old_events = -1
|
143
138
|
new_stack_events
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
139
|
+
puts "Waiting for stack #{goal}..."
|
140
|
+
yield
|
141
|
+
@client.wait_until(event_type, stack_name: @stack_name) do |w|
|
142
|
+
w.max_attempts = @status_max_attempts
|
143
|
+
w.delay = @status_delay
|
144
|
+
w.before_wait do
|
148
145
|
new_events = new_stack_events
|
149
|
-
|
150
|
-
puts "[#{event.timestamp}] #{event.logical_resource_id} (#{event.resource_type}): #{event.resource_status}"
|
151
|
-
end
|
146
|
+
puts format_events new_events
|
152
147
|
end
|
153
148
|
end
|
154
|
-
|
155
|
-
progress_thread.exit
|
149
|
+
puts format_events new_stack_events
|
156
150
|
puts "Stack #{goal} complete!"
|
157
151
|
end
|
158
152
|
end
|