20

I'm getting started with puppet on centos and was confused about a few things. First off a man page exists for puppet-master but not for puppetmaster even though the daemon in /etc/init.d is puppetmaster

Running the command $ puppet-master --version returns bash: puppet-master: command not found.

How do I tell what version I am running for both the master and the client?

5 Answers 5

29

Newer versions of puppet use a slightly different command line. The command you are looking for would be puppet --version, puppet master --version, and puppet agent --version

For versions before 4.0, if puppet was installed as an RPM package you can query the RPM database like rpm -qa | grep puppet. For Debian/Ubuntu/Mint fans, the package query is dpkg -l | grep puppet.

Puppetlabs has changed their packaging and the packaged puppet version is no indicated by the version number of the puppet-agent package.

3
  • Is the hyphen for pre 2.6 version? Also do the master and agent need to be running the same major version?
    – user784637
    Jul 11, 2013 at 18:52
  • I'm not sure when they made the change. With version 3 Puppet Labs commited to using semantic versioning. This means that major version number changes indicate a change that breaks backwards compatibility. You should be OK if you have a mix of 3.x.y. I wouldn't try a mix of 2.x and 3.x without testing that the results match my expectations. Jul 11, 2013 at 19:07
  • I've done a little more testing and have found that I can use a 2.7 puppet agent with a 3.2.x puppet server. Jul 20, 2013 at 18:51
4
root@puppet01 ~:
# puppet --version
3.2.2
root@puppet01 ~:
# puppet master --version
3.2.2
0
3
# rpm -qa | grep puppet
puppet-server-2.6.18-3.el6.noarch
puppet-2.6.18-3.el6.noarch

first line is version of the server side, the second - client side

# puppet agent --version
2.6.18

# puppet master --version
2.6.18

works too

0

For the fun, you can also use Puppet!

puppet apply -e 'notice("$clientversion")'

Also, in a manifest on the Puppet master, you can add such line:

fail("Server version: $serverversion, Client version: $clientversion")'
fail(inline_template("<%=clientversion.split('.')[0]%>"))

(Note that $serverversion is empty when using puppet apply)

0

Installed the puppet on ubuntu 18.04 , got the same error , the puppet command doesn't get added to the path hence this error

navigated to this path /opt/puppetlabs/bin and run the command puppet master --version

you get the desired result

You must log in to answer this question.

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