[Pkg-puppet-devel] Bug#612894:

Paul Elliott paul.elliott at ynic.york.ac.uk
Fri Feb 11 15:01:05 UTC 2011


This is the relevant commit and diff that was applied upstream. I've
tested this locally and it fixes the issue for us. Please can the patch be
applied and an update released in the next point release? mhy will be
happy to NMU the fix if necessary.

commit b27e9b4bd79c30c7910a02122069695044f05477
Author: Matt Robinson <matt at puppetlabs.com>
Date:   Wed Dec 1 17:16:03 2010 -0800

    [#5081] Revert "Fix #4349 - Parsing with ignoreimport=true was always
loadin

    The fix for #4349 caused --parse-only not to detect syntax errors when
    --ignore-import was used by adding a return statement that bypassed the
    initial import:

    commit 760e418d254a8d2198d2c6eb466d783a5930ef47
    def perform_initial_import
    +   return if Puppet.settings[:ignoreimport]

    The problem that #4349 fixed was more generally fixed in commit
    99c1019e1d3402ec8e476dc859d5aaef82ec4f69 for ticket #4798 so the return
    statement is no longer needed, so reverting the commit for #4349 does
    not reintroduce the problem of an import loop error when running puppet
    doc.

    Paired-with: Jesse Wolfe

diff --git a/lib/puppet/resource/type_collection.rb
b/lib/puppet/resource/type_c
index 63d1103..6a03458 100644
--- a/lib/puppet/resource/type_collection.rb
+++ b/lib/puppet/resource/type_collection.rb
@@ -153,7 +153,6 @@ class Puppet::Resource::TypeCollection
   end

   def perform_initial_import
-    return if Puppet.settings[:ignoreimport]
     parser = Puppet::Parser::Parser.new(environment)
     if code = Puppet.settings.uninterpolated_value(:code,
environment.to_s) and
       parser.string = code
diff --git a/spec/unit/resource/type_collection_spec.rb
b/spec/unit/resource/typ
index 577aea4..ff4c222 100644
--- a/spec/unit/resource/type_collection_spec.rb
+++ b/spec/unit/resource/type_collection_spec.rb
@@ -426,14 +426,6 @@ describe Puppet::Resource::TypeCollection do
       @parser.expects(:parse).raises ArgumentError
       lambda { @code.perform_initial_import }.should
raise_error(Puppet::Error)
     end
-
-    it "should not do anything if the ignore_import settings is set" do
-      Puppet.settings[:ignoreimport] = true
-      @parser.expects(:string=).never
-      @parser.expects(:file=).never
-      @parser.expects(:parse).never
-      @code.perform_initial_import
-    end
   end

   describe "when determining the configuration version" do







More information about the Pkg-puppet-devel mailing list