I opened a ticket for this issue. http://projects.reductivelabs.com/issues/3136
That is puppet-mysql uses a type it defines in its module provider. But load_plugin is applied on the list of files sorted alphabetically by the agent code. Thus puppet/type is loaded after puppet/provider. I workaround this by building the files array with puppet://plugins/puppet/type added first. >From 5b9a2f91c34ef043023927a5d8a38b027be3f3b1 Mon Sep 17 00:00:00 2001 From: Alban Browaeys <[email protected]> Date: Mon, 1 Feb 2010 18:48:09 +0100 Subject: [PATCH] Load the plugins type first. Fix providers which require a type defined in the same module. Signed-off-by: Alban Browaeys <[email protected]> --- lib/puppet/configurer/downloader.rb | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/lib/puppet/configurer/downloader.rb b/lib/puppet/ configurer/downloader.rb index 7409fca..19861f0 100644 --- a/lib/puppet/configurer/downloader.rb +++ b/lib/puppet/configurer/downloader.rb @@ -30,8 +30,23 @@ class Puppet::Configurer::Downloader begin Timeout.timeout(self.class.timeout) do catalog.apply do |trans| - trans.changed?.find_all do |resource| + changes = trans.changed? + changes.find_all do |resource| yield resource if block_given? + source = resource[:source][0] + token = source.slice("puppet://puppet/plugins/ puppet/type") + if token.nil? + next + end + files << resource[:path] + end + changes.find_all do |resource| + yield resource if block_given? + source = resource[:source][0] + token = source.slice("puppet://puppet/plugins/ puppet/type") + if not token.nil? + next + end files << resource[:path] end end -- 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.
