[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. puppet-0.24.5-rc3-1456-g2f0b1e5
James Turnbull
james at lovedthanlost.net
Tue Oct 27 17:05:39 UTC 2009
The following commit has been merged in the upstream branch:
commit d53bc169861815ce7cffac431f76304c995bb4fa
Author: Luke Kanies <luke at madstop.com>
Date: Sat Sep 19 21:21:33 2009 -0700
Adding version information to the catalog for compat
We need to be able to do compatibility testing, and this
allows us to do so.
Signed-off-by: Luke Kanies <luke at madstop.com>
diff --git a/lib/puppet/parser/compiler.rb b/lib/puppet/parser/compiler.rb
index 2eb9438..521bf1c 100644
--- a/lib/puppet/parser/compiler.rb
+++ b/lib/puppet/parser/compiler.rb
@@ -422,6 +422,10 @@ class Puppet::Parser::Compiler
node.parameters.each do |param, value|
@topscope.setvar(param, value)
end
+
+ # These might be nil.
+ catalog.client_version = node.parameters["clientversion"]
+ catalog.server_version = node.parameters["serverversion"]
end
# Return an array of all of the unevaluated resources. These will be definitions,
diff --git a/lib/puppet/resource/catalog.rb b/lib/puppet/resource/catalog.rb
index 6ccfe73..561be82 100644
--- a/lib/puppet/resource/catalog.rb
+++ b/lib/puppet/resource/catalog.rb
@@ -46,6 +46,9 @@ class Puppet::Resource::Catalog < Puppet::SimpleGraph
# whether it is written back out again.
attr_accessor :from_cache
+ # Some metadata to help us compile and generally respond to the current state.
+ attr_accessor :client_version, :server_version
+
# Add classes to our class list.
def add_class(*classes)
classes.each do |klass|
diff --git a/spec/unit/parser/compiler.rb b/spec/unit/parser/compiler.rb
index ad6f351..41f03f2 100755
--- a/spec/unit/parser/compiler.rb
+++ b/spec/unit/parser/compiler.rb
@@ -131,6 +131,15 @@ describe Puppet::Parser::Compiler do
@compiler.topscope.lookupvar("c").should == "d"
end
+ it "should set the client and server versions on the catalog" do
+ params = {"clientversion" => "2", "serverversion" => "3"}
+ @node.stubs(:parameters).returns(params)
+ compile_stub(:set_node_parameters)
+ @compiler.compile
+ @compiler.catalog.client_version.should == "2"
+ @compiler.catalog.server_version.should == "3"
+ end
+
it "should evaluate any existing classes named in the node" do
classes = %w{one two three four}
main = stub 'main'
diff --git a/spec/unit/resource/catalog.rb b/spec/unit/resource/catalog.rb
index af399aa..1fbe3a9 100755
--- a/spec/unit/resource/catalog.rb
+++ b/spec/unit/resource/catalog.rb
@@ -35,6 +35,18 @@ describe Puppet::Resource::Catalog, "when compiling" do
@catalog.write_class_file
end
+ it "should have a client_version attribute" do
+ @catalog = Puppet::Resource::Catalog.new("host")
+ @catalog.client_version = 5
+ @catalog.client_version.should == 5
+ end
+
+ it "should have a server_version attribute" do
+ @catalog = Puppet::Resource::Catalog.new("host")
+ @catalog.server_version = 5
+ @catalog.server_version.should == 5
+ end
+
describe "when compiling" do
it "should accept tags" do
config = Puppet::Resource::Catalog.new("mynode")
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list