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.


Reply via email to