Well duh. On Thu, Oct 15, 2009 at 8:49 PM, Luke Kanies <[email protected]> wrote: > > And associated test, of course. > > On Oct 15, 2009, at 7:03 PM, Rein Henrichs wrote: > >> >> Yes. Yes it should. >> >> On Thu, Oct 15, 2009 at 4:55 PM, Luke Kanies <[email protected]> wrote: >>> >>> On Oct 15, 2009, at 4:53 PM, Rein Henrichs wrote: >>> >>>> >>>> Wrap Puppet::Settings.use in a block that disables noop mode during >>>> the >>>> execution of the block and then reenstates its original value >>>> afterwards. This allows internal puppet catalog operations like ssl >>>> directory creation to occur even when puppet is run in --noop mode. >>>> This >>>> should actually solve a broader class of related bugs. >>>> >>>> Signed-off-by: Rein Henrichs <[email protected]> >>>> --- >>>> lib/puppet/util/settings.rb | 9 ++++++++- >>>> spec/integration/bin/puppetmasterd.rb | 26 ++++++++++++++++++++++ >>>> ++ >>>> ++ >>>> 2 files changed, 34 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/lib/puppet/util/settings.rb b/lib/puppet/util/ >>>> settings.rb >>>> index 3e3bc7f..fb3709e 100644 >>>> --- a/lib/puppet/util/settings.rb >>>> +++ b/lib/puppet/util/settings.rb >>>> @@ -157,6 +157,13 @@ class Puppet::Util::Settings >>>> set_value(str, value, :cli) >>>> end >>>> >>>> + def without_noop >>>> + old_noop = value(:noop,:cli) >>>> + set_value(:noop, false, :cli) >>>> + yield >>>> + set_value(:noop, old_noop, :cli) >>> >>> Shouldn't this second 'set_value' be in an 'ensure' block? >>> >>>> + end >>>> + >>>> def include?(name) >>>> name = name.intern if name.is_a? String >>>> @config.include?(name) >>>> @@ -632,7 +639,7 @@ Generated on #{Time.now}. >>>> return >>>> end >>>> >>>> - begin >>>> + without_noop do >>>> catalog.host_config = false >>>> catalog.apply do |transaction| >>>> if transaction.any_failed? >>>> diff --git a/spec/integration/bin/puppetmasterd.rb b/spec/ >>>> integration/bin/puppetmasterd.rb >>>> index b5a3f96..5b3a29f 100755 >>>> --- a/spec/integration/bin/puppetmasterd.rb >>>> +++ b/spec/integration/bin/puppetmasterd.rb >>>> @@ -107,4 +107,30 @@ describe "puppetmasterd" do >>>> end >>>> >>>> it "should exit with return code 1 after parsing if --parseonly >>>> is set and there are errors" >>>> + >>>> + describe "when run for the first time" do >>>> + before do >>>> + �...@ssldir = File.join(@dir, 'ssl') >>>> + FileUtils.rm_r(@ssldir) if File.exists?(@ssldir) >>>> + end >>>> + >>>> + describe "with noop" do >>>> + it "should create its ssl directory" do >>>> + File.directory?(@ssldir).should be_false >>>> + start(' --noop') >>>> + >>>> + sleep 0.5 >>>> + File.directory?(@ssldir).should be_true >>>> + end >>>> + end >>>> + >>>> + describe "without noop" do >>>> + it "should create its ssl directory" do >>>> + File.directory?(@ssldir).should be_false >>>> + start >>>> + sleep 0.5 >>>> + File.directory?(@ssldir).should be_true >>>> + end >>>> + end >>>> + end >>>> end >>>> -- >>>> 1.6.4.2 >>>> >>>> >>>>> >>> >>> >>> -- >>> To be pleased with one's limits is a wretched state. >>> -- Johann Wolfgang von Goethe >>> --------------------------------------------------------------------- >>> Luke Kanies | http://reductivelabs.com | http://madstop.com >>> >>> >>>> >>> >> >> >> >> -- >> Rein Henrichs >> http://reductivelabs.com >> >> > > > > -- > A nation is a society united by delusions about its ancestry and by > common hatred of its neighbors. -- William Ralph Inge > --------------------------------------------------------------------- > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > >
-- Rein Henrichs http://reductivelabs.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 -~----------~----~----~----~------~----~------~--~---
