ironfan 4.10.4 → 4.11.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v4.11.0
2
+ * Changed chef client semantics, to drop problematic deprecated "name" attribute
3
+ * Adding `announcements` to RDS instances
4
+
1
5
  # v4.10.4
2
6
  * Cleaning up specs to use local credentials, chef-zero (requires libssl): fixes #242
3
7
  * Added RDS support, see https://github.com/infochimps-labs/ironfan/pull/290 for details
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.10.4
1
+ 4.11.0
data/ironfan.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ironfan"
8
- s.version = "4.10.4"
8
+ s.version = "4.11.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Infochimps"]
12
- s.date = "2013-06-03"
12
+ s.date = "2013-06-24"
13
13
  s.description = "Ironfan allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
14
14
  s.email = "coders@infochimps.com"
15
15
  s.extra_rdoc_files = [
@@ -45,7 +45,7 @@ module Ironfan
45
45
  # Discovery
46
46
  #
47
47
  def self.load!(cluster=nil)
48
- query = cluster && "name:#{cluster.name}-* OR clientname:#{cluster.name}-*"
48
+ query = "clientname:#{cluster ? '*' : cluster.name}-*"
49
49
  ChefServer.search(:client, query) do |raw|
50
50
  next unless raw.present?
51
51
  client = register(raw)
@@ -155,6 +155,20 @@ module Ironfan
155
155
  'Name' => computer.name,
156
156
  }
157
157
  Rds.ensure_tags(tags, computer.machine)
158
+
159
+ # Because chef will never run on these, we fake announcements after launch.
160
+ Ironfan.step(computer.name, "Adding enpoint and port announcements", :green)
161
+ announcements = { :rds => {
162
+ :endpoint => computer.machine.endpoint["Address"],
163
+ :port => computer.machine.endpoint["Port"],
164
+ :root_user => launch_desc[:master_username],
165
+ :root_pass => launch_desc[:password],
166
+ }
167
+ }
168
+
169
+ computer.node[:announces] = announcements
170
+ computer.node.save
171
+
158
172
  end
159
173
 
160
174
  # @returns [Hash{String, Array}] of 'what you did wrong' => [relevant, info]
@@ -1,7 +1,7 @@
1
1
  # Providers present a lightweight wrapper for various third-party services,
2
2
  # such as Chef's node and client APIs, and Amazon's EC2 APIs. This allows
3
3
  # Ironfan ask specialized questions (such as whether a given resource
4
- # matches
4
+ # matches the one of the Computers that we're handling).
5
5
  module Ironfan
6
6
  class Provider < Builder
7
7
  class_attribute :handle
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ironfan
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.10.4
4
+ version: 4.11.0
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: 2013-06-03 00:00:00.000000000 Z
12
+ date: 2013-06-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
@@ -381,7 +381,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
381
381
  version: '0'
382
382
  segments:
383
383
  - 0
384
- hash: -3042039387970317693
384
+ hash: -2459303337095261930
385
385
  required_rubygems_version: !ruby/object:Gem::Requirement
386
386
  none: false
387
387
  requirements: