capistrano-autoscaling 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -0
- data/lib/capistrano-autoscaling.rb +8 -6
- data/lib/capistrano-autoscaling/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -38,6 +38,9 @@ To enable this recipe, add following in your `config/deploy.rb`.
|
|
38
38
|
set(:autoscaling_max_size, 10)
|
39
39
|
after "deploy:setup", "autoscaling:setup"
|
40
40
|
after "deploy", "autoscaling:update"
|
41
|
+
after "deploy:cold", "autoscaling:update"
|
42
|
+
after "deploy:rollback", "autoscaling:update"
|
43
|
+
after "autoscaling:update", "autoscaling:cleanup"
|
41
44
|
|
42
45
|
TODO: Write usage instructions here
|
43
46
|
|
@@ -161,7 +161,8 @@ module Capistrano
|
|
161
161
|
_cset(:autoscaling_ec2_instance_private_dns_names) { autoscaling_ec2_instances.map { |instance| instance.private_dns_name } }
|
162
162
|
|
163
163
|
## AMI
|
164
|
-
_cset(:
|
164
|
+
_cset(:autoscaling_image_name_prefix) { "#{autoscaling_application}/" }
|
165
|
+
_cset(:autoscaling_image_name) { "#{autoscaling_image_name_prefix}#{autoscaling_timestamp}" }
|
165
166
|
_cset(:autoscaling_image_instance) {
|
166
167
|
if 0 < autoscaling_ec2_instances.length
|
167
168
|
autoscaling_ec2_instances.reject { |instance| instance.root_device_type != :ebs }.last
|
@@ -174,10 +175,10 @@ module Capistrano
|
|
174
175
|
}
|
175
176
|
_cset(:autoscaling_image_tag_name) { autoscaling_application }
|
176
177
|
_cset(:autoscaling_image) {
|
177
|
-
autoscaling_ec2_client.images.with_owner("self").
|
178
|
+
autoscaling_ec2_client.images.with_owner("self").filter("name", autoscaling_image_name).to_a.first
|
178
179
|
}
|
179
180
|
_cset(:autoscaling_images) {
|
180
|
-
autoscaling_ec2_client.images.with_owner("self").
|
181
|
+
autoscaling_ec2_client.images.with_owner("self").filter("name", "#{autoscaling_image_name_prefix}*").to_a
|
181
182
|
}
|
182
183
|
|
183
184
|
## LaunchConfiguration
|
@@ -554,9 +555,10 @@ module Capistrano
|
|
554
555
|
|
555
556
|
desc("Delete old AMIs.")
|
556
557
|
task(:cleanup, :roles => :app, :except => { :no_release => true }) {
|
557
|
-
images = autoscaling_images.sort { |x, y| x.name <=> y.name }
|
558
|
-
|
559
|
-
|
558
|
+
images = autoscaling_images.sort { |x, y| x.name <=> y.name }
|
559
|
+
if autoscaling_group and autoscaling_group.exists?
|
560
|
+
images = images.reject { |image| autoscaling_group.launch_configuration.image_id == image.id }
|
561
|
+
end
|
560
562
|
(images - images.last(autoscaling_keep_images-1)).each do |image|
|
561
563
|
if autoscaling_create_image and ( image and image.exists? )
|
562
564
|
snapshots = image.block_device_mappings.map { |device, block_device| block_device.snapshot_id }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-autoscaling
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|