vaporware 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|