ironfan 4.10.4 → 4.11.0

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,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: