Issue #16568 has been updated by Charlie Sharpsteen. Category changed from modules to autoloader Status changed from Investigating to Accepted Keywords set to module class
This is caused by an optimization made in commit [242692e](https://github.com/puppetlabs/puppet/commit/242692e) that causes Puppet to track missing clases and skip trying to load them during subsequent compilations. The problem is that Puppet doesn't produce any notice that it is ignoring classes---it just continues to print error messages stating that the class definitions are missing which is very confusing. Furthermore, this optimization appears to address a very narrow use case. Because of this, I would recommend that the optimization be guarded by a configuration setting and disabled by default in order to preserve existing behavior. ---------------------------------------- Bug #16568: Modules added to modulepath aren't recognized until service restart https://projects.puppetlabs.com/issues/16568#change-89197 * Author: Ryan Coleman * Status: Accepted * Priority: Normal * Assignee: Charlie Sharpsteen * Category: autoloader * Target version: 3.x * Affected Puppet version: * Keywords: module class * Branch: ---------------------------------------- Recreating my working environment (in this specific order): * Use CentOS 6.0 * Install puppet-server 3.0.0-rc7 from puppetlabs-devel yum repository on master, puppet 3.0.0-rc7 on agent * Install puppetdb module -- `puppet module install puppetlabs-puppetdb` * Start the puppetmaster service * Declare puppetdb & puppetdb::master::config class on master and run puppet) * Install mediawiki module -- `puppet module install martasd-mediawiki` Declare the mediawiki class for your agent node, <pre> class { 'mediawiki': server_name => 'wiki.puppetlabs.vm', admin_email => '[email protected]', db_root_password => 'really_long_password', doc_root => '/var/www', max_memory => '1024' } </pre> * Run Puppet on your agent I expect you'll run into the error I received. <pre> Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class mediawiki at /etc/puppet/manifests/site.pp:9 on node wiki1.puppetlabs.vm Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run </pre> Additional info: <pre> [root@master modules]# puppet module list /etc/puppet/modules ├── cprice404-inifile (v0.0.3) ├── inkling-postgresql (v0.3.0) ├── mediawiki (???) ├── puppet-haproxy (v0.0.2) ├── puppetlabs-apache (v0.4.0) ├── puppetlabs-firewall (v0.0.4) ├── puppetlabs-mysql (v0.5.0) ├── puppetlabs-puppetdb (v1.0.3) ├── puppetlabs-stdlib (v3.0.1) ├── ripienaar-concat (v0.2.0) ├── saz-memcached (v2.0.2) └── stahnma-epel (v0.0.2) /usr/share/puppet/modules (no modules installed) [root@master modules]# puppet config print modulepath /etc/puppet/modules:/usr/share/puppet/modules </pre> Problem is resolved by restarting the puppetmaster service. No amount of waiting seems to resolve the issue. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
