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


I have edited /etc/hosts and added the following line 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.

  • 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, 2011 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, 2011 at 23:08
  • 1
    Post the full config of /etc/puppet/puppet.conf?
    – quanta
    Nov 19, 2011 at 0:23

3 Answers 3


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.

  • 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, 2011 at 18:59
  • 1
    nm - found it here projects.puppetlabs.com/projects/1/wiki/Puppet_Ubuntu
    – cwd
    Nov 21, 2011 at 20:22

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

sudo apt-cache policy puppet

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.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .