+1 on initial examination; I want to play with an alternative, more
general solution (having environments always serialize as just their
name) but this looks like it would do the trick as well.


On Sat, Jul 10, 2010 at 7:42 AM, Brice Figureau
<[email protected]> wrote:
> Environments used to be only some strings, but now we pass around
> environment instances which have references to the known resource types
> and other information.
> When saving the host information in the storeconfigs database, we were
> using this environment instance which was yamlized by AR and stored instead
> of using the environment name. This could result for storing a potentially
> large information in the environment column of the hosts table.
>
> Signed-off-by: Brice Figureau <[email protected]>
> ---
>  lib/puppet/indirector/catalog/active_record.rb     |    2 +-
>  spec/unit/indirector/catalog/active_record_spec.rb |    6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/puppet/indirector/catalog/active_record.rb 
> b/lib/puppet/indirector/catalog/active_record.rb
> index fabb08e..da9256e 100644
> --- a/lib/puppet/indirector/catalog/active_record.rb
> +++ b/lib/puppet/indirector/catalog/active_record.rb
> @@ -32,7 +32,7 @@ class Puppet::Resource::Catalog::ActiveRecord < 
> Puppet::Indirector::ActiveRecord
>
>       if node = Puppet::Node.find(catalog.name)
>         host.ip = node.parameters["ipaddress"]
> -        host.environment = node.environment
> +        host.environment = node.environment.name.to_s
>       end
>
>       host.save
> diff --git a/spec/unit/indirector/catalog/active_record_spec.rb 
> b/spec/unit/indirector/catalog/active_record_spec.rb
> index 4e9d049..baa5b9a 100755
> --- a/spec/unit/indirector/catalog/active_record_spec.rb
> +++ b/spec/unit/indirector/catalog/active_record_spec.rb
> @@ -79,7 +79,9 @@ describe "Puppet::Resource::Catalog::ActiveRecord" do
>       @host = stub 'host', :name => "foo", :save => nil, :merge_resources => 
> nil, :last_compile= => nil, :ip= => nil, :environment= => nil
>       @host.stubs(:railsmark).yields
>
> -     �...@node = stub_everything 'node', :parameters => {}
> +     �...@env = stub 'env', :name => :myenv
> +
> +     �...@node = stub_everything 'node', :parameters => {}, :environment => 
> @env
>       Puppet::Node.stubs(:find).returns(@node)
>
>       Puppet::Rails::Host.stubs(:find_by_name).returns @host
> @@ -117,8 +119,6 @@ describe "Puppet::Resource::Catalog::ActiveRecord" do
>     end
>
>     it "should set host environment if we could find a matching node" do
> -     �[email protected](:environment).returns("myenv")
> -
>       @host.expects(:environment=).with 'myenv'
>
>       @terminus.save(@request)
> --
> 1.6.6.1
>
> --
> 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.
>
>



-- 
-----------------------------------------------------------
The power of accurate observation is
commonly called cynicism by those
who have not got it.  ~George Bernard Shaw
------------------------------------------------------------

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