Book Image

Mastering Puppet - Second Edition

By : Thomas Uphill
Book Image

Mastering Puppet - Second Edition

By: Thomas Uphill

Overview of this book

Puppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization. By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.
Table of Contents (17 chapters)

Connectivity issues


As we have seen in Chapter 1, Dealing with Load/Scale, at its core, Puppet communication is done using a web service. Hence, whenever troubleshooting problems with Puppet infrastructure, we should always start with that mindset. Assuming you are having trouble accessing the Puppet master, Puppet should be listening on port 8140, by default.

Note

This port is configurable; you should verify the port is 8140 by running the following command:

# puppet config print masterport
8140

Previous versions of Puppet were run as Passenger processes, under Apache. If you cannot reach your puppetserver on port 8140, you may need to check that Apache is at least running.

You should be able to successfully connect to masterport and check that you get a successful connection using Netcat (nc):

Note

Netcat can be used to check the connectivity of TCP and UDP sockets. If you do not have Netcat (nc) available, you can use Telnet for the same purpose. To exit Telnet, issue Control-] followed by...