capify-ec2 1.3.6 → 1.3.7

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/Changelog.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 1.3.7 (Jan 20, 2013)
2
+
3
+ - Make the behaviour for passing hash/filename consistent
4
+ - Fix ec2_role when role_name_or_hash is not a hash.
5
+
1
6
  ## 1.3.6 (Jan 17, 2013)
2
7
 
3
8
  Bugfixes:
data/lib/capify-ec2.rb CHANGED
@@ -3,7 +3,6 @@ require 'fog'
3
3
  require 'colored'
4
4
  require File.expand_path(File.dirname(__FILE__) + '/capify-ec2/server')
5
5
 
6
-
7
6
  class CapifyEc2
8
7
 
9
8
  attr_accessor :load_balancer, :instances
@@ -18,23 +17,24 @@ class CapifyEc2
18
17
  @ec2_config = ec2_config
19
18
  when String
20
19
  @ec2_config = YAML.load_file ec2_config
21
-
22
- # Maintain backward compatibility with previous config format
23
- @ec2_config[:project_tags] ||= []
24
- # User can change the Roles tag string
25
- @ec2_config[:aws_roles_tag] ||= "Roles"
26
- @ec2_config[:project_tags] << @ec2_config[:project_tag] if @ec2_config[:project_tag]
27
20
  else
28
21
  raise ArgumentError, "Invalid ec2_config: #{ec2_config.inspect}"
29
22
  end
30
23
 
24
+ # Maintain backward compatibility with previous config format
25
+ @ec2_config[:project_tags] ||= []
26
+ # User can change the Roles tag string
27
+ @ec2_config[:aws_roles_tag] ||= "Roles"
28
+ @ec2_config[:project_tags] << @ec2_config[:project_tag] if @ec2_config[:project_tag]
29
+
31
30
  regions = determine_regions()
32
31
 
33
32
  @instances = []
34
33
  regions.each do |region|
35
- servers = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => @ec2_config[:aws_access_key_id],
36
- :aws_secret_access_key => @ec2_config[:aws_secret_access_key], :region => region).servers
37
- servers.each do |server|
34
+ Fog::Compute.new(:provider => 'AWS',
35
+ :aws_access_key_id => @ec2_config[:aws_access_key_id],
36
+ :aws_secret_access_key => @ec2_config[:aws_secret_access_key],
37
+ :region => region).servers.each do |server|
38
38
  @instances << server if server.ready?
39
39
  end
40
40
  end
@@ -77,23 +77,22 @@ Capistrano::Configuration.instance(:must_exist).load do
77
77
  end
78
78
 
79
79
  def ec2_role(role_name_or_hash)
80
- role = role_name_or_hash.is_a?(Hash) ? role_name_or_hash : {:name => role_name_or_hash,:options => {}}
81
- variables = role_name_or_hash[:variables] || {}
80
+ role = role_name_or_hash.is_a?(Hash) ? role_name_or_hash : {:name => role_name_or_hash, :options => {}, :variables => {}}
82
81
 
83
82
  instances = capify_ec2.get_instances_by_role(role[:name])
84
-
85
83
  if role[:options] && role[:options].delete(:default)
86
84
  instances.each do |instance|
87
85
  define_role(role, instance)
88
86
  end
89
- end
87
+ end
88
+
90
89
  regions = capify_ec2.determine_regions
91
90
  regions.each do |region|
92
91
  define_regions(region, role)
93
92
  end unless regions.nil?
94
93
 
95
- define_role_roles(role, instances, variables)
96
- define_instance_roles(role, instances, variables)
94
+ define_role_roles(role, instances)
95
+ define_instance_roles(role, instances)
97
96
  end
98
97
 
99
98
  def define_regions(region, role)
@@ -110,26 +109,27 @@ Capistrano::Configuration.instance(:must_exist).load do
110
109
  end
111
110
  end
112
111
 
113
- def define_instance_roles(role, instances, variables)
112
+ def define_instance_roles(role, instances)
114
113
  instances.each do |instance|
115
114
  task instance.name.to_sym do
116
115
  remove_default_roles
117
- define_role(role, instance, variables)
116
+ define_role(role, instance)
118
117
  end
119
118
  end
120
119
  end
121
120
 
122
- def define_role_roles(role, instances, variables)
121
+ def define_role_roles(role, instances)
123
122
  task role[:name].to_sym do
124
123
  remove_default_roles
125
124
  instances.each do |instance|
126
- define_role(role, instance, variables)
125
+ define_role(role, instance)
127
126
  end
128
127
  end
129
128
  end
130
129
 
131
- def define_role(role, instance, variables = {})
130
+ def define_role(role, instance)
132
131
  options = role[:options] || {}
132
+ variables = role[:variables] || {}
133
133
 
134
134
  cap_options = options.inject({}) do |cap_options, (key, value)|
135
135
  cap_options[key] = true if value.to_s == instance.name
@@ -139,7 +139,8 @@ Capistrano::Configuration.instance(:must_exist).load do
139
139
  ec2_options = instance.tags["Options"] || ""
140
140
  ec2_options.split(%r{,\s*}).compact.each { |ec2_option| cap_options[ec2_option.to_sym] = true }
141
141
 
142
- variables.each { |name, value| set name, value }
142
+ variables.each { |key, value| set key, value }
143
+
143
144
  role role[:name].to_sym, instance.contact_point, cap_options
144
145
  end
145
146
 
@@ -1,6 +1,6 @@
1
1
  module Capify
2
2
  module Ec2
3
- VERSION = "1.3.6"
3
+ VERSION = "1.3.7"
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,79 +1,73 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: capify-ec2
3
- version: !ruby/object:Gem::Version
4
- hash: 23
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.7
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 3
9
- - 6
10
- version: 1.3.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Noah Cantor
14
9
  - Siddharth Dawara
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2013-01-17 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2013-01-20 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: fog
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
27
- - - "="
28
- - !ruby/object:Gem::Version
29
- hash: 25
30
- segments:
31
- - 1
32
- - 3
33
- - 1
19
+ requirements:
20
+ - - '='
21
+ - !ruby/object:Gem::Version
34
22
  version: 1.3.1
35
23
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: colored
39
24
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '='
29
+ - !ruby/object:Gem::Version
30
+ version: 1.3.1
31
+ - !ruby/object:Gem::Dependency
32
+ name: colored
33
+ requirement: !ruby/object:Gem::Requirement
41
34
  none: false
42
- requirements:
43
- - - "="
44
- - !ruby/object:Gem::Version
45
- hash: 11
46
- segments:
47
- - 1
48
- - 2
49
- version: "1.2"
35
+ requirements:
36
+ - - '='
37
+ - !ruby/object:Gem::Version
38
+ version: '1.2'
50
39
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: capistrano
54
40
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - '='
45
+ - !ruby/object:Gem::Version
46
+ version: '1.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: capistrano
49
+ requirement: !ruby/object:Gem::Requirement
56
50
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
64
55
  type: :runtime
65
- version_requirements: *id003
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
66
63
  description: Grabs roles from ec2's tags and autogenerates capistrano tasks
67
- email:
64
+ email:
68
65
  - noah.cantor@forward.co.uk
69
66
  - siddharth.dawara@forward.co.uk
70
67
  executables: []
71
-
72
68
  extensions: []
73
-
74
69
  extra_rdoc_files: []
75
-
76
- files:
70
+ files:
77
71
  - .gitignore
78
72
  - Changelog.md
79
73
  - Gemfile
@@ -87,36 +81,26 @@ files:
87
81
  - readme.md
88
82
  homepage: http://github.com/forward/capify-ec2
89
83
  licenses: []
90
-
91
84
  post_install_message:
92
85
  rdoc_options: []
93
-
94
- require_paths:
86
+ require_paths:
95
87
  - lib
96
- required_ruby_version: !ruby/object:Gem::Requirement
88
+ required_ruby_version: !ruby/object:Gem::Requirement
97
89
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
105
- required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
95
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
114
100
  requirements: []
115
-
116
101
  rubyforge_project: capify-ec2
117
- rubygems_version: 1.8.15
102
+ rubygems_version: 1.8.23
118
103
  signing_key:
119
104
  specification_version: 3
120
105
  summary: Grabs roles from ec2's tags and autogenerates capistrano tasks
121
106
  test_files: []
122
-