capistrano-elb 0.3.3 → 0.3.4
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.
- data/README.md +3 -0
- data/lib/capistrano-elb/tasks.rb +0 -2
- data/lib/capistrano-elb/version.rb +1 -1
- data/lib/capistrano-elb.rb +15 -10
- metadata +7 -7
data/README.md
CHANGED
@@ -6,17 +6,20 @@ gem install capistrano-elb
|
|
6
6
|
|
7
7
|
## Usage
|
8
8
|
You should have ec2credentials.yaml in the same directory as your cap files
|
9
|
+
|
9
10
|
#ec2credentials.yaml
|
10
11
|
---
|
11
12
|
:aws_access_key_id: YOUR_KEY_ID_
|
12
13
|
:aws_secret_access_key: YOUR_KEY
|
13
14
|
|
14
15
|
then just
|
16
|
+
|
15
17
|
require "capistrano-elb/tasks"
|
16
18
|
|
17
19
|
This will instantiate an instance of the CapELB class and add hooks to remove/readd before/after deploys
|
18
20
|
|
19
21
|
(Equivalent to having the following in your deploy.rb)
|
22
|
+
|
20
23
|
require "capistrano-elb"
|
21
24
|
|
22
25
|
namespace :elb do
|
data/lib/capistrano-elb/tasks.rb
CHANGED
@@ -6,13 +6,11 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
6
6
|
|
7
7
|
task :remove do
|
8
8
|
servers = roles[:web].servers.map {|server| server.host}
|
9
|
-
puts "Removing #{servers} from ELB"
|
10
9
|
capELB.remove servers
|
11
10
|
end
|
12
11
|
|
13
12
|
task :add do
|
14
13
|
servers = roles[:web].servers.map {|server| server.host}
|
15
|
-
puts "Adding #{servers} to ELB"
|
16
14
|
capELB.add servers
|
17
15
|
end
|
18
16
|
|
data/lib/capistrano-elb.rb
CHANGED
@@ -64,22 +64,27 @@ class CapELB
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def add(serverlist)
|
67
|
-
|
68
|
-
|
67
|
+
@lbs.each_pair do |region, lbs|
|
68
|
+
lbs.each_pair do |lbname, target_instances|
|
69
|
+
server_ids = @compute[region].servers.select{|server| serverlist.include? server.dns_name}.map{|server| server.id}
|
70
|
+
to_change = server_ids.select{|server_id| target_instances.include? server_id}
|
71
|
+
unless to_change.empty?
|
72
|
+
puts "Adding #{to_change} to LB #{lbname} in #{region}"
|
73
|
+
@elb[region].register_instances_with_load_balancer(to_change, lbname)
|
74
|
+
end
|
75
|
+
end
|
69
76
|
end
|
70
77
|
end
|
71
78
|
|
72
79
|
def remove(serverlist)
|
73
|
-
each_server_by_lbs(serverlist) do |region, lbname, servers|
|
74
|
-
region.deregister_instances_from_load_balancer(servers, lbname)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def each_server_by_lbs(serverlist)
|
79
80
|
@lbs.each_pair do |region, lbs|
|
80
81
|
lbs.each_pair do |lbname, target_instances|
|
81
|
-
|
82
|
-
|
82
|
+
server_ids = @compute[region].servers.select{|server| serverlist.include? server.dns_name}.map{|server| server.id}
|
83
|
+
to_change = server_ids.select{|server_id| target_instances.include? server_id}
|
84
|
+
unless to_change.empty?
|
85
|
+
puts "Removing #{to_change} from LB #{lbname} in #{region}"
|
86
|
+
@elb[region].deregister_instances_from_load_balancer(to_change, lbname)
|
87
|
+
end
|
83
88
|
end
|
84
89
|
end
|
85
90
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-elb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ default_executable:
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: fog
|
17
|
-
requirement: &
|
17
|
+
requirement: &2161737060 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2161737060
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: excon
|
28
|
-
requirement: &
|
28
|
+
requirement: &2161736640 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2161736640
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: capistrano
|
39
|
-
requirement: &
|
39
|
+
requirement: &2161736220 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2161736220
|
48
48
|
description: Capistrano plugin for removing/readd servers to EC2 load balancers
|
49
49
|
email:
|
50
50
|
- tom.hall@forward.co.uk
|