16

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?

24

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.

  • 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 '13 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. – Rik Schneider Jul 11 '13 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. – Rik Schneider Jul 20 '13 at 18:51
4
root@puppet01 ~:
# puppet --version
3.2.2
root@puppet01 ~:
# puppet master --version
3.2.2
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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