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 +4 -0
 - data/VERSION +1 -1
 - data/ironfan.gemspec +2 -2
 - data/lib/ironfan/provider/chef/client.rb +1 -1
 - data/lib/ironfan/provider/rds/machine.rb +14 -0
 - data/lib/ironfan/provider.rb +1 -1
 - metadata +3 -3
 
    
        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. 
     | 
| 
      
 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. 
     | 
| 
      
 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- 
     | 
| 
      
 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 =  
     | 
| 
      
 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]
         
     | 
    
        data/lib/ironfan/provider.rb
    CHANGED
    
    | 
         @@ -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. 
     | 
| 
      
 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- 
     | 
| 
      
 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: - 
     | 
| 
      
 384 
     | 
    
         
            +
                  hash: -2459303337095261930
         
     | 
| 
       385 
385 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       386 
386 
     | 
    
         
             
              none: false
         
     | 
| 
       387 
387 
     | 
    
         
             
              requirements:
         
     |