Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm using the very latest version of puppet and have been following the Apress "Pro Puppet" guide step by step. I have installed puppet

sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter

I have edited /etc/puppet/puppet.conf to include certname

[master]
certname=puppet.mydomain.com

I have edited /etc/hosts and added the following line

127.0.0.1 puppet.mydomain.com puppet

I have set the hostname of the server

echo "puppet.mydomain.com" > /etc/hostname
hostname -F /etc/hostname

And then I try and run puppet from the command line.

puppet master --verbose --no-daemonize

And puppet gives me this error:

Could not parse for environment production:
Could not find file /master.pp

I'm running all commands with sudo and the last line of the error message always says that it can't find master.pp and the path before it is to my current working directory.

What am I doing wrong?

I should also mention that I don't have a DNS record set up for puppet.mydomain.com - I saw some online documentation mentioning this might be a problem - however I was fairly sure that the hosts file would let me get around that.

share|improve this question
    
If you are on Debian/Ubuntu why wouldn't you just restart puppet? You only added the certname and didn't removed the other settings from your puppet.conf right? –  Zoredache Nov 18 '11 at 22:53
    
I'm on Ubuntu - it never started the first time. Also if I set the certname then it won't start if I use puppetmasterd but if I remove the certname it will start using puppetmasterd but not with puppet master --verbose --no-daemonize –  cwd Nov 18 '11 at 23:08
1  
Post the full config of /etc/puppet/puppet.conf? –  quanta Nov 19 '11 at 0:23
add comment

3 Answers

up vote 4 down vote accepted

It almost seems like you're using an old version of Puppet, which doesn't understand the master subcommand, and tries to run it as a manifest instead. Somewhere around 0.25 the new command syntax was introduced.

Double-check which version you're running. The current version should be 2.7. I've often found that distros package older versions. For example, Ubuntu 10.04LTS installs 0.25.4, which is pretty ancient.

share|improve this answer
    
Very nice! It was installing 0.25.4-2ubuntu6.5 which is def. not the version I wanted. Thanks so much! Now I need to find the best way to get 2.7 installed. I am running Ubuntu 10.4 (LTS). –  cwd Nov 21 '11 at 18:59
1  
nm - found it here projects.puppetlabs.com/projects/1/wiki/Puppet_Ubuntu –  cwd Nov 21 '11 at 20:22
add comment

To find out the version of the puppet package, run:

sudo apt-cache policy puppet
share|improve this answer
add comment

Martijn is right. Your puppet version is definitely older than 2.6. Are you running an old version of Ubuntu or Debian? Squeeze already includes 2.6 and Ubuntu 11 includes 2.7. If you are on Lenny, you can find a newer version of Puppet on backports. And, if none of that helps, I think puppetlabs has a repository for newer puppet versions, though it might give you some trouble with ruby version.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.