+1

On 12/04/09 0:36, Luke Kanies wrote:
> This is mostly a configuration change, with some
> code getting removed.
> 
> Signed-off-by: Luke Kanies <[email protected]>
> ---
>  lib/puppet/defaults.rb        |   17 ++++++++++++++---
>  lib/puppet/node/catalog.rb    |    1 +
>  lib/puppet/parser/compiler.rb |   37 -------------------------------------
>  spec/unit/parser/compiler.rb  |   20 --------------------
>  4 files changed, 15 insertions(+), 60 deletions(-)
> 
> diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb
> index e36dd70..e34d945 100644
> --- a/lib/puppet/defaults.rb
> +++ b/lib/puppet/defaults.rb
> @@ -659,9 +659,20 @@ module Puppet
>      )
>  
>      setdefaults(:puppetmasterd,
> -        :storeconfigs => [false,
> -            "Whether to store each client's configuration.  This
> -             requires ActiveRecord from Ruby on Rails."]
> +        :storeconfigs => {:default => false, :desc => "Whether to store each 
> client's configuration.  This
> +            requires ActiveRecord from Ruby on Rails.",
> +            :call_on_define => true, # Call our hook with the default value, 
> so we always get the libdir set.
> +            :hook => proc do |value|
> +                require 'puppet/node'
> +                require 'puppet/node/facts'
> +                require 'puppet/node/catalog'
> +                if value
> +                    Puppet::Node::Catalog.cache_class = :active_record
> +                    Puppet::Node::Facts.cache_class = :active_record
> +                    Puppet::Node.cache_class = :active_record
> +                end
> +            end
> +        }
>      )
>  
>      # This doesn't actually work right now.
> diff --git a/lib/puppet/node/catalog.rb b/lib/puppet/node/catalog.rb
> index 256bfd6..3473deb 100644
> --- a/lib/puppet/node/catalog.rb
> +++ b/lib/puppet/node/catalog.rb
> @@ -1,3 +1,4 @@
> +require 'puppet/node'
>  require 'puppet/indirector'
>  require 'puppet/pgraph'
>  require 'puppet/transaction'
> diff --git a/lib/puppet/parser/compiler.rb b/lib/puppet/parser/compiler.rb
> index d67b3d2..6ea80a0 100644
> --- a/lib/puppet/parser/compiler.rb
> +++ b/lib/puppet/parser/compiler.rb
> @@ -95,10 +95,6 @@ class Puppet::Parser::Compiler
>  
>          fail_on_unevaluated()
>  
> -        if Puppet[:storeconfigs]
> -            store()
> -        end
> -
>          return @catalog
>      end
>  
> @@ -423,39 +419,6 @@ class Puppet::Parser::Compiler
>          end
>      end
>  
> -    # Store the catalog into the database.
> -    def store
> -        unless Puppet.features.rails?
> -            raise Puppet::Error,
> -                "storeconfigs is enabled but rails is unavailable"
> -        end
> -
> -        unless ActiveRecord::Base.connected?
> -            Puppet::Rails.connect
> -        end
> -
> -        # We used to have hooks here for forking and saving, but I don't
> -        # think it's worth retaining at this point.
> -        store_to_active_record(@node, @catalog.vertices)
> -    end
> -
> -    # Do the actual storage.
> -    def store_to_active_record(node, resources)
> -        begin
> -            # We store all of the objects, even the collectable ones
> -            benchmark(:info, "Stored catalog for #{node.name}") do
> -                Puppet::Rails::Host.transaction do
> -                    Puppet::Rails::Host.store(node, resources)
> -                end
> -            end
> -        rescue => detail
> -            if Puppet[:trace]
> -                puts detail.backtrace
> -            end
> -            Puppet.err "Could not store configs: %s" % detail.to_s
> -        end
> -    end
> -

That's good to see this code removed.

>      # Return an array of all of the unevaluated resources.  These will be 
> definitions,
>      # which need to get evaluated into native resources.
>      def unevaluated_resources
> diff --git a/spec/unit/parser/compiler.rb b/spec/unit/parser/compiler.rb
> index 296c8a0..eb0a489 100755
> --- a/spec/unit/parser/compiler.rb
> +++ b/spec/unit/parser/compiler.rb
> @@ -480,26 +480,6 @@ describe Puppet::Parser::Compiler do
>          end
>      end
>  
> -    describe Puppet::Parser::Compiler, "when storing compiled resources" do
> -
> -        it "should store the resources" do
> -            Puppet.features.expects(:rails?).returns(true)
> -            Puppet::Rails.expects(:connect)
> -
> -            @compiler.catalog.expects(:vertices).returns(:resources)
> -
> -            @compiler.expects(:store_to_active_record).with(@node, 
> :resources)
> -            @compiler.send(:store)
> -        end
> -
> -        it "should store to active_record" do
> -            @node.expects(:name).returns("myname")
> -            Puppet::Rails::Host.stubs(:transaction).yields
> -            Puppet::Rails::Host.expects(:store).with(@node, :resources)
> -            @compiler.send(:store_to_active_record, @node, :resources)
> -        end
> -    end
> -
>      describe Puppet::Parser::Compiler, "when managing resource overrides" do
>  
>          before do


-- 
Brice Figureau
Days of Wonder
http://www.daysofwonder.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to