Issue #16803 has been updated by Hugh Cole-Baker.

Brice Figureau wrote:
> You might want to add --debug to your command line, it should show what 
> puppet doc is doing. That might help us/you understand the issue.

After adding --debug I can see the problem:

Error: Could not generate documentation: Definition 'jenkins::plugin' is 
already defined at 
/etc/puppet/environments/production/modules/jenkins/manifests/plugin.pp:1; 
cannot be redefined at 
/etc/puppet/environments/production/modules/jenkins/features/support/boxes/deb/init.pp:1

I'm using the jenkins module from http://forge.puppetlabs.com/rtyler/jenkins 
which is the culprit. The second definition seems to be in the features 
directory used for running tests, since I don't think this is needed in 
production I removed the directory. I got another error after that:

Error: Could not generate documentation: Node 'default' is already defined at 
/etc/puppet/environments/production/modules/jenkins/tests/site.pp:1; cannot 
redefine at /etc/puppet/environments/production/manifests/nodes.pp:5

which was solved, again, by moving the 'tests' directory out of the jenkins 
module.

I'm not sure if this is a problem with the Jenkins module or in puppet doc, 
though I'm suspecting the former? Is there a better way to include module tests 
which won't cause puppet doc to choke?
puppet doc could be more informative when a fatal error like this happens, 
though. Without --debug it is completely silent.
----------------------------------------
Bug #16803: puppet doc not creating rdoc files
https://projects.puppetlabs.com/issues/16803#change-73213

Author: Hugh Cole-Baker
Status: Unreviewed
Priority: Normal
Assignee: 
Category: documentation
Target version: 
Affected Puppet version: 3.0.0
Keywords: 
Branch: 


After upgrading from 2.7.19 to 3.0.0, the process we used to use to generate 
documentation from doc-comments in Puppet manifests seems to have stopped 
working.

We run a webserver on the puppet master that serves static pages from 
/var/www/doc. We have two environments defined, "testing" and "production". 
These have identical directory structures in /etc/puppet/environments/[testing, 
production]/ with subdirectories for manifests, modules, and templates in each 
environment's directory.

To generate rdoc documentation for the "production" environment, I would run 
(as root) on the puppet master:

cd /var/www
puppet doc --all --mode rdoc --environment production --outputdir doc

This produces the following output:
<pre>
/usr/lib/ruby/1.8/rdoc/dot/dot.rb:28: warning: already initialized constant 
NODE_OPTS
/usr/lib/ruby/1.8/rdoc/dot/dot.rb:46: warning: already initialized constant 
EDGE_OPTS
/usr/lib/ruby/1.8/rdoc/dot/dot.rb:76: warning: already initialized constant 
GRAPH_OPTS
</pre>
It creates the 'doc' directory in /var/www but the directory is empty. This has 
only broken since 3.0.0; in 2.7.19 a set of rdoc files would be generated in 
the 'doc' directory.

I'm using Puppet installed via the Ubuntu packages from apt.puppetlabs.com, 
running Puppet version 3.0.0-1puppetlabs1.
The operating system is Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-31-virtual x86_64).
I've attached a copy of my puppet.conf (server name removed).



-- 
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 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-bugs?hl=en.

Reply via email to