All-
Poking around in the bug database it looks like storeconfigs is being
actively worked on. I am using 2.7.6 on my master as well as all the
clients. I have clients boot , start puppet and get a signed cert via
auto signing. The nagios module (and currently the only thing puppet
does) complains a lot during compile time about not having
storeconfigs enabled, which is not the case in my config.
Additionally I am running foreman and seeing a few errors with it. I
have attached my config, and the nagios module to see if there is
something that I have missed. As for foreman, it was but bit confusing
in the documentation but I have the following set:
root@puppet:/etc/puppet# grep storeconfig puppet.conf
# Boolean; wether storeconfigs store in the database only the
facts and exported resources.
# If true, then storeconfigs performance will be higher and still
allow exported/collected
thin_storeconfigs = false
# async_storeconfigs = false
# You can adjust the backend using the storeconfigs_backend
setting.
storeconfigs = true
storeconfigs_backend = active_record
root@puppet:/etc/puppet# grep foreman puppet.conf
external_nodes = /usr/share/foreman/extras/puppet/foreman/files/
external_node.rb
reports = store, http, foreman, log
root@puppet:/etc/puppet# ls -l /usr/lib/ruby/1.8/puppet/reports
total 32
-rw-r--r-- 1 root root 834 2011-11-03 21:33 foreman.rb
-rw-r--r-- 1 root root 580 2011-09-26 19:40 http.rb
-rw-r--r-- 1 root root 326 2011-09-26 19:40 log.rb
-rw-r--r-- 1 root root 4226 2011-09-26 19:40 rrdgraph.rb
-rw-r--r-- 1 root root 1644 2011-09-26 19:40 store.rb
-rw-r--r-- 1 root root 5344 2011-09-26 19:40 tagmail.rb
The foreman is "err: Could not autoload foreman: Function foreman
already defined"
And the storeconfig is:
"
warning: You cannot collect exported resources without storeconfigs
being set; the collection will be ignored on line 21 in file /etc/
puppet/manifests/classes/nagios3.pp
warning: You cannot collect exported resources without storeconfigs
being set; the collection will be ignored on line 22 in file /etc/
puppet/manifests/classes/nagios3.pp
warning: You cannot collect exported resources without storeconfigs
being set; the collection will be ignored on line 24 in file /etc/
puppet/manifests/classes/nagios3.pp
warning: You cannot collect without storeconfigs being set on line 30
in file /etc/puppet/manifests/classes/nagios3.pp
warning: You cannot collect without storeconfigs being set on line 37
in file /etc/puppet/manifests/classes/nagios3.pp
warning: You cannot collect without storeconfigs being set on line 42
in file /etc/puppet/manifests/classes/nagios3.pp
warning: You cannot collect without storeconfigs being set on line 47
in file /etc/puppet/manifests/classes/nagios3.pp
"
If somebody can point to in the right direction or confirm what I'm
seeing that would be super! Also I think I'm seeing ghosts of bug
#3234
-Josh
cat puppet.conf
# The configuration file for master. Note that this file
# is likely to have unused configuration parameters in it; any
parameter that's
# valid anywhere in Puppet can be in any config file, even if it's not
used.
#
# Every section can specify three special parameters: owner, group,
and mode.
# These parameters affect the required permissions of any files
specified after
# their specification. Puppet will sometimes use these parameters to
check its
# own configured state, so they can be used to make Puppet a bit more
self-managing.
#
# Generated on Thu Oct 20 22:28:03 +0000 2011.
#
[master]
# Whether to automatically migrate the database.
# dbmigrate = false
# The database password for caching. Only
# used when networked databases are used.
# The default value is ''.
# dbport =
# The number of database connections for networked
# databases. Will be ignored unless the value is a positive
integer.
# The default value is ''.
# dbconnections =
# The log level for Rails connections. The value must be
# a valid log level within Rails. Production environments
normally use `info`
# and other environments normally use `debug`.
# The default value is 'info'.
# rails_loglevel = info
# The database cache for client configurations. Used for
# querying within the language.
# The default value is '$statedir/clientconfigs.sqlite3'.
# dblocation = /var/lib/puppet/state/clientconfigs.sqlite3
# The name of the database to use.
# The default value is 'puppet'.
dbname = puppet
# The database user for caching. Only
# used when networked databases are used.
# The default value is 'puppet'.
dbuser = puppet
# The database socket location. Only used when networked
# databases are used. Will be ignored if the value is an empty
string.
# The default value is ''.
# dbsocket =
# The type of database to use.
# The default value is 'sqlite3'.
dbadapter = mysql
# The database server for caching. Only
# used when networked databases are used.
# The default value is 'localhost'.
dbserver = localhost
# The database password for caching. Only
# used when networked databases are used.
# The default value is 'puppet'.
dbpassword = password
# Where Rails-specific logs are sent
# The default value is '$logdir/rails.log'.
railslog = /var/lib/puppet/log/rails.log
# Whether to only use the cached catalog rather than compiling a
new catalog
# on every run. Puppet can be run with this enabled by default
and then selectively
# disabled when a recompile is desired.
# use_cached_catalog = false
# Where puppet agent caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is '$statedir/localconfig'.
localconfig = /var/lib/puppet/state/localconfig
# Facts that are dynamic; these facts will be ignored when
deciding whether
# changed facts should result in a recompile. Multiple facts
should be
# comma-separated.
# The default value is 'memorysize,memoryfree,swapsize,swapfree'.
# dynamicfacts = memorysize,memoryfree,swapsize,swapfree
# The directory in which serialized data is stored on the client.
# The default value is '$vardir/client_data'.
client_datadir = /var/lib/puppet/client_data
# Where FileBucket files are stored locally.
# The default value is '$vardir/clientbucket'.
clientbucketdir = /var/lib/puppet/clientbucket
# The log file for puppet agent. This is generally not used.
# The default value is '$logdir/puppetd.log'.
puppetdlog = /var/lib/puppet/log/puppetd.log
# The server to send transaction reports to.
# The default value is '$server'.
report_server = puppet
# How often puppet agent applies the client configuration; in
seconds.
# Note that a runinterval of 0 means "run continuously" rather
than
# "never run." If you want puppet agent to never run, you should
start
# it with the `--no-client` option.
# The default value is '1800'.
# runinterval = 1800
# The port to communicate with the inventory_server.
# The default value is '$masterport'.
inventory_port = 8140
# The port to use for the certificate authority.
# The default value is '$masterport'.
ca_port = 8140
# Whether puppet agent should be run in noop mode.
# noop = false
# Whether to create dot graph files for the different
# configuration graphs. These dot files can be interpreted by
tools
# like OmniGraffle or dot (which is part of ImageMagick).
# graph = false
# A lock file to temporarily stop puppet agent from doing
anything.
# The default value is '$statedir/puppetdlock'.
puppetdlockfile = /var/lib/puppet/state/puppetdlock
# The server to which server puppet agent should connect
# The default value is 'puppet'.
# server = puppet
# The explicit value used for the node name for all requests the
agent
# makes to the master. WARNING: This setting is mutually exclusive
with
# node_name_fact. Changing this setting also requires changes to
the default
# auth.conf configuration on the Puppet Master. Please see
# http://links.puppetlabs.com/node_name_value for more
information.
# The default value is '$certname'.
node_name_value = ip-10-36-11-244.ec2.internal
# Ignore cache and always recompile the configuration. This is
# useful for testing new configurations, where the local cache may
in
# fact be stale even if the timestamps are up to date - if the
facts
# change or if the server changes.
# ignorecache = false
# Where puppet agent and puppet master store state associated
# with the running configuration. In the case of puppet master,
# this file reflects the state discovered through interacting
# with clients.
# The default value is '$statedir/state.yaml'.
statefile = /var/lib/puppet/state/state.yaml
# The maximum time to delay before runs. Defaults to being the
same as the
# run interval.
# The default value is '$runinterval'.
splaylimit = 1800
# The file in which puppet agent stores a list of the classes
# associated with the retrieved configuration. Can be loaded in
# the separate `puppet` executable using the `--loadclasses`
# option.
# The default value is '$statedir/classes.txt'.
classfile = /var/lib/puppet/state/classes.txt
# How long the client should wait for the configuration to be
retrieved
# before considering it a failure. This can help reduce flapping
if too
# many clients contact the server at one time.
# The default value is '120'.
# configtimeout = 120
# Boolean; whether puppet agent should ignore schedules. This is
useful
# for initial puppet agent runs.
# ignoreschedules = false
# The port to communicate with the report_server.
# The default value is '$masterport'.
report_port = 8140
# Whether puppet agent should listen for
# connections. If this is true, then puppet agent will accept
incoming
# REST API requests, subject to the default ACLs and the ACLs set
in
# the `rest_authconfig` file. Puppet agent can respond usefully to
# requests on the `run`, `facts`, `certificate`, and `resource`
endpoints.
# listen = false
# Where puppet agent stores the last run report summary in yaml
format.
# The default value is '$statedir/last_run_summary.yaml'.
lastrunfile = /var/lib/puppet/state/last_run_summary.yaml
# (Deprecated for 'preferred_serialization_format') What format to
# use to dump the catalog. Only supports 'marshal' and 'yaml'.
Only
# matters on the client, since it asks the server for a specific
format.
# The default value is ''.
# catalog_format =
# Where to store dot-outputted graphs.
# The default value is '$statedir/graphs'.
graphdir = /var/lib/puppet/state/graphs
# Whether to use the cached configuration when the remote
# configuration will not compile. This option is useful for
testing
# new configurations, where you want to fix the broken
configuration
# rather than reverting to a known-good one.
# The default value is 'true'.
# usecacheonfailure = true
# The fact name used to determine the node name used for all
requests the agent
# makes to the master. WARNING: This setting is mutually exclusive
with
# node_name_value. Changing this setting also requires changes to
the default
# auth.conf configuration on the Puppet Master. Please see
# http://links.puppetlabs.com/node_name_fact for more information.
# The default value is ''.
# node_name_fact =
# Whether facts should be made all lowercase when sent to the
server.
# downcasefacts = false
# Whether to send reports after every transaction.
# The default value is 'true'.
report = true
# The directory in which client-side YAML data is stored.
# The default value is '$vardir/client_yaml'.
clientyamldir = /var/lib/puppet/client_yaml
# Whether to sleep for a pseudo-random (but consistent) amount of
time before
# a run.
# splay = false
# The file in which puppet agent stores a list of the resources
# associated with the retrieved configuration.
# The default value is '$statedir/resources.txt'.
resourcefile = /var/lib/puppet/state/resources.txt
# (Deprecated for 'report_server') The server to which to send
transaction reports.
# The default value is '$server'.
reportserver = puppet
# Which port puppet agent listens on.
# The default value is '8139'.
# puppetport = 8139
# The server to send facts to.
# The default value is '$server'.
inventory_server = puppet
# The server to use for certificate
# authority requests. It's a separate server because it cannot
# and does not need to horizontally scale.
# The default value is '$server'.
ca_server = puppet
# Where puppet agent stores the last run report in yaml format.
# The default value is '$statedir/last_run_report.yaml'.
lastrunreport = /var/lib/puppet/state/last_run_report.yaml
# The preferred means of serializing
# ruby instances for passing over the wire. This won't guarantee
that all
# instances will be serialized using this method, since not all
classes
# can be guaranteed to support this format, but it will be used
for all
# classes that support it.
# The default value is 'pson'.
# preferred_serialization_format = pson
# Allow http compression in REST communication with the master.
# This setting might improve performance for agent -> master
communications over slow WANs.
# Your puppet master needs to support compression (usually by
activating some settings in a reverse-proxy
# in front of the puppet master, which rules out webrick).
# It is harmless to activate this settings if your master doesn't
support
# compression, but if it supports it, this setting might reduce
performance on high-speed LANs.
# http_compression = false
# Whether log files should always flush to disk.
# autoflush = false
# Where host certificate requests are stored.
# The default value is '$ssldir/certificate_requests'.
requestdir = /etc/puppet/ssl/certificate_requests
# Where Puppet should store plugins that it pulls down from the
central
# server.
# The default value is '$libdir'.
plugindest = /var/lib/puppet/lib
# An extra search path for Puppet. This is only useful
# for those files that Puppet will load on demand, and is only
# guaranteed to work for those cases. In fact, the autoload
# mechanism is responsible for making sure this directory
# is in Ruby's search path
# The default value is '$vardir/lib'.
libdir = /var/lib/puppet/lib
# Which type of queue to use for asynchronous processing.
# The default value is 'stomp'.
# queue_type = stomp
# Where puppet agent stores the password for its private key.
# Generally unused.
# The default value is '$privatedir/password'.
passfile = /etc/puppet/ssl/private/password
# What files to ignore when pulling down plugins.
# The default value is '.svn CVS .git'.
# pluginsignore = .svn CVS .git
# Run the configuration once, rather than as a long-running
# daemon. This is useful for interactively running puppetd.
# onetime = false
# Where individual hosts store and look for their private key.
# The default value is '$privatekeydir/$certname.pem'.
hostprivkey = /etc/puppet/ssl/private_keys/
ip-10-36-11-244.ec2.internal.pem
# From where to retrieve facts. The standard Puppet `file` type
# is used for retrieval, so anything that is a valid file source
can
# be used here.
# The default value is 'puppet://$server/facts/'.
#factsource = puppet://puppet/facts/
# The YAML file containing indirector route configuration.
# The default value is '$confdir/routes.yaml'.
route_file = /etc/puppet/routes.yaml
# Boolean; whether to use the zlib library
# The default value is 'true'.
# zlib = true
# Where the host's certificate revocation list can be found.
# This is distinct from the certificate authority's CRL.
# The default value is '$ssldir/crl.pem'.
hostcrl = /etc/puppet/ssl/crl.pem
# The configuration file that defines the rights to the different
# namespaces and methods. This can be used as a coarse-grained
# authorization system for both `puppet agent` and `puppet
master`.
# The default value is '$confdir/namespaceauth.conf'.
authconfig = /etc/puppet/namespaceauth.conf
# What syslog facility to use when logging to
# syslog. Syslog has a fixed list of valid facilities, and you
must
# choose one of those; you cannot just make one up.
# The default value is 'daemon'.
# syslogfacility = daemon
# The shell search path. Defaults to whatever is inherited
# from the parent process.
# The default value is 'none'.
# path = none
# Freezes the 'main' class, disallowing any code to be added to
it. This
# essentially means that you can't have any code outside of a
node, class, or definition other
# than in the site manifest.
# freeze_main = false
# An external command that can produce node information. The
output
# must be a YAML dump of a hash, and that hash must have one or
both of
# `classes` and `parameters`, where `classes` is an array and
# `parameters` is a hash. For unknown nodes, the commands should
# exit with a non-zero exit code.
# This command makes it straightforward to store your node mapping
# information in other data sources like databases.
# The default value is 'none'.
external_nodes = /usr/share/foreman/extras/puppet/foreman/files/
external_node.rb
# Where to find information about nodes.
# The default value is 'plain'.
node_terminus = exec
# The name to use when handling certificates. Defaults
# to the fully qualified domain name.
# The default value is 'ip-10-36-11-244.ec2.internal'.
# certname = ip-10-36-11-244.ec2.internal
# Whether to print stack traces on some errors
# trace = false
# Where SSL certificates are kept.
# The default value is '$confdir/ssl'.
ssldir = /etc/puppet/ssl
# The HTTP proxy host to use for outgoing connections. Note: You
# may need to use a FQDN for the server hostname when using a
proxy.
# The default value is 'none'.
# http_proxy_host = none
# The private key directory.
# The default value is '$ssldir/private_keys'.
privatekeydir = /etc/puppet/ssl/private_keys
# From where to retrieve plugins. The standard Puppet `file` type
# is used for retrieval, so anything that is a valid file source
can
# be used here.
# The default value is 'puppet://$server/plugins'.
pluginsource = puppet://puppet/plugins
# Which type of queue to use for asynchronous processing. If your
stomp server requires
# authentication, you can include it in the URI as long as your
stomp client library is at least 1.1.1
# The default value is 'stomp://localhost:61613/'.
# queue_source = stomp://localhost:61613/
# Send the process into the background. This is the default.
# The default value is 'true'.
daemonize = false
# The maximum allowed UID. Some platforms use negative UIDs
# but then ship with tools that do not know how to handle signed
ints, so the UIDs show up as
# huge numbers that can then not be fed back into the system.
This is a hackish way to fail in a
# slightly more useful way when that happens.
# The default value is '4294967290'.
# maximum_uid = 4294967290
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/lib/puppet/run
# Where individual hosts store and look for their certificate
requests.
# The default value is '$ssldir/csr_$certname.pem'.
hostcsr = /etc/puppet/ssl/csr_ip-10-36-11-244.ec2.internal.pem
# Whether to just print a manifest to stdout and exit. Only makes
# sense when used interactively. Takes into account arguments
specified
# on the CLI.
# genmanifest = false
# Where Puppet should look for facts. Multiple directories should
# be colon-separated, like normal PATH variables.
# The default value is '$vardir/lib/facter:$vardir/facts'.
factpath = /var/lib/puppet/lib/facter:/var/lib/puppet/facts
# Boolean; wether storeconfigs store in the database only the
facts and exported resources.
# If true, then storeconfigs performance will be higher and still
allow exported/collected
# resources, but other usage external to Puppet might not work
thin_storeconfigs = false
# Where individual hosts store and look for their public key.
# The default value is '$publickeydir/$certname.pem'.
hostpubkey = /etc/puppet/ssl/public_keys/
ip-10-36-11-244.ec2.internal.pem
# Whether facts should be synced with the central server.
factsync = false
# A command to run before every agent run. If this command
returns a non-zero
# return code, the entire Puppet run will fail.
# The default value is ''.
# prerun_command =
# Whether certificate revocation should be supported by
downloading a Certificate Revocation List (CRL)
# to all clients. If enabled, CA chaining will almost definitely
not work.
# The default value is 'true'.
# certificate_revocation = true
# Which arguments to pass to the diff command when printing
differences between files.
# The default value is '-u'.
# diff_args = -u
# Whether Puppet should manage the owner, group, and mode of files
# it uses internally
# The default value is 'true'.
# manage_internal_file_permissions = true
# The main Puppet configuration directory. The default for this
parameter is calculated based on the user. If the process
# is running as root or the user that Puppet is supposed to run
as, it defaults to a system directory, but if it's running as any
other user,
# it defaults to being in the user's home directory.
# The default value is '/etc/puppet'.
# confdir = /etc/puppet
# Where to get node catalogs. This is useful to change if, for
instance,
# you'd like to pre-compile catalogs and store them in memcached
or some other easily-accessed store.
# The default value is 'compiler'.
# catalog_terminus = compiler
# Whether to create the necessary user and group that puppet agent
will
# run as.
# mkusers = false
# The DNS names on the Server certificate as a colon-separated
list.
# If it's anything other than an empty string, it will be used as
an alias in the created
# certificate. By default, only the server gets an alias set up,
and only for 'puppet'.
# The default value is ''.
# certdnsnames =
# Should usually be the same as the facts terminus
# The default value is '$facts_terminus'.
inventory_terminus = yaml
# Where Puppet stores dynamic and growing data. The default for
this parameter is calculated specially, like `confdir`_.
# The default value is '/var/lib/puppet'.
# vardir = /var/lib/puppet
# The public key directory.
# The default value is '$ssldir/public_keys'.
publickeydir = /etc/puppet/ssl/public_keys
# Print the value of a specific configuration parameter. If a
# parameter is provided for this, then the value is printed and
puppet
# exits. Comma-separate multiple values. For a list of all
values,
# specify 'all'. This feature is only available in Puppet
versions
# higher than 0.18.4.
# The default value is ''.
# configprint =
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/lib/puppet/log
# The HTTP proxy port to use for outgoing connections
# The default value is '3128'.
# http_proxy_port = 3128
# Where the client stores private certificate information.
# The default value is '$ssldir/private'.
privatedir = /etc/puppet/ssl/private
# Whether plugins should be synced with the central server.
# pluginsync = false
# Whether to use a queueing system to provide asynchronous
database integration.
# Requires that `puppetqd` be running and that 'PSON' support for
ruby be installed.
# async_storeconfigs = false
# Where individual hosts store and look for their certificates.
# The default value is '$certdir/$certname.pem'.
hostcert = /etc/puppet/ssl/certs/ip-10-36-11-244.ec2.internal.pem
# The directory where Puppet state is stored. Generally,
# this directory can be removed without causing harm (although it
# might result in spurious service restarts).
# The default value is '$vardir/state'.
statedir = /var/lib/puppet/state
# Where Puppet should store facts that it pulls down from the
central
# server.
# The default value is '$vardir/facts/'.
#factdest = /var/lib/puppet/facts/
# How to determine the configuration version. By default, it will
be the
# time that the configuration is parsed, but you can provide a
shell script to override how the
# version is determined. The output of this script will be added
to every log message in the
# reports, allowing you to correlate changes on your hosts to the
source version on the server.
# The default value is ''.
# config_version =
# Which diff command to use when printing differences between
files.
# The default value is 'diff'.
# diff = diff
# The minimum time to wait (in seconds) between checking for
updates in
# configuration files. This timeout determines how quickly Puppet
checks whether
# a file (such as manifests or templates) has changed on disk.
# The default value is '15'.
# filetimeout = 15
# The environment Puppet is running in. For clients
# (e.g., `puppet agent`) this determines the environment itself,
which
# is used to find modules and much more. For servers (i.e.,
`puppet master`) this provides the default environment for nodes
# we know nothing about.
# The default value is 'production'.
# environment = production
# Where each client stores the CA certificate.
# The default value is '$certdir/ca.pem'.
localcacert = /etc/puppet/ssl/certs/ca.pem
# A parameter that can be used in commit
# hooks, since it enables you to parse-check a single file rather
# than requiring that all files exist.
# ignoreimport = false
# What files to ignore when pulling down facts.
# The default value is '.svn CVS'.
# factsignore = .svn CVS
# A command to run after every agent run. If this command returns
a non-zero
# return code, the entire Puppet run will be considered to have
failed, even though it might have
# performed work during the normal run.
# The default value is ''.
# postrun_command =
# Whether to print a contextual diff when files are being
replaced. The diff
# is printed on stdout, so this option is meaningless unless you
are running Puppet interactively.
# This feature currently requires the `diff/lcs` Ruby library.
# show_diff = false
# Whether to use colors when logging to the console.
# Valid values are `ansi` (equivalent to `true`), `html` (mostly
# used during testing with TextMate), and `false`, which produces
# no color.
# The default value is 'ansi'.
# color = ansi
# The node facts terminus.
# The default value is 'yaml'.
# facts_terminus = yaml
# The certificate directory.
# The default value is '$ssldir/certs'.
certdir = /etc/puppet/ssl/certs
# Where the puppet agent web server logs.
# The default value is '$logdir/http.log'.
httplog = /var/lib/puppet/log/http.log
# Which port puppet master listens on.
# The default value is '8140'.
# masterport = 8140
# The configuration file that defines the rights to the different
# rest indirections. This can be used as a fine-grained
# authorization system for `puppet master`.
# The default value is '$confdir/auth.conf'.
rest_authconfig = /etc/puppet/auth.conf
# Whether to store each client's configuration, including
catalogs, facts,
# and related data. This also enables the import and export of
resources in
# the Puppet language - a mechanism for exchange resources between
nodes.
# By default this uses ActiveRecord and an SQL database to store
and query
# the data; this, in turn, will depend on Rails being available.
# You can adjust the backend using the storeconfigs_backend
setting.
storeconfigs = true
# The directory in which YAML data is stored, usually in a
subdirectory.
# The default value is '$vardir/yaml'.
yamldir = /var/lib/puppet/yaml
# The directory in which to store reports
# received from the client. Each client gets a separate
# subdirectory.
# The default value is '$vardir/reports'.
reportdir = /var/lib/puppet/reports
# Whether to only search for the complete
# hostname as it is in the certificate when searching for node
information
# in the catalogs.
# strict_hostname_checking = false
# The type of server to use. Currently supported
# options are webrick and mongrel. If you use mongrel, you will
need
# a proxy in front of the process or processes, since Mongrel
cannot
# speak SSL.
# The default value is 'webrick'.
# servertype = webrick
# Where puppet master logs. This is generally not used,
# since syslog is the default log destination.
# The default value is '$logdir/puppetmaster.log'.
masterlog = /var/lib/puppet/log/puppetmaster.log
# The configuration file for master.
# The default value is '$confdir/puppet.conf'.
config = /etc/puppet/puppet.conf
# The group puppet master should run as.
# The default value is 'puppet'.
# group = puppet
# How the puppet master determines the client's identity
# and sets the 'hostname', 'fqdn' and 'domain' facts for use in
the manifest,
# in particular for determining which 'node' statement applies to
the client.
# Possible values are 'cert' (use the subject's CN in the client's
# certificate) and 'facter' (use the hostname that the client
# reported in its facts)
# The default value is 'cert'.
# node_name = cert
# Code to parse directly. This is essentially only used
# by `puppet`, and should only be set if you're writing your own
Puppet
# executable
# The default value is ''.
# code =
# The header containing an authenticated
# client's SSL DN. Only used with Mongrel. This header must be
set by the proxy
# to the authenticated client's SSL DN (e.g., `/
CN=puppet.puppetlabs.com`).
# See http://projects.puppetlabs.com/projects/puppet/wiki/Using_Mongrel
for more information.
# The default value is 'HTTP_X_CLIENT_DN'.
# ssl_client_header = HTTP_X_CLIENT_DN
# The directory in which serialized data is stored, usually in a
subdirectory.
# The default value is '$vardir/server_data'.
server_datadir = /var/lib/puppet/server_data
# The URL used by the http reports processor to send reports
# The default value is 'http://localhost:3000/reports/upload'.
reporturl = http://localhost:3000/reports/upload
# The pid file
# The default value is '$rundir/$name.pid'.
pidfile = /var/lib/puppet/run/master.pid
# Where puppet master looks for its manifests.
# The default value is '$confdir/manifests'.
manifestdir = /etc/puppet/manifests
# The user puppet master should run as.
# The default value is 'puppet'.
# user = puppet
# Where the puppet master web server logs.
# The default value is '$logdir/masterhttp.log'.
masterhttplog = /var/lib/puppet/log/masterhttp.log
# Where FileBucket files are stored.
# The default value is '$vardir/bucket'.
bucketdir = /var/lib/puppet/bucket
# Wether the master should function as a certificate authority.
# The default value is 'true'.
# ca = true
# The header containing the status
# message of the client verification. Only used with Mongrel.
This header must be set by the proxy
# to 'SUCCESS' if the client successfully authenticated, and
anything else otherwise.
# See http://projects.puppetlabs.com/projects/puppet/wiki/Using_Mongrel
for more information.
# The default value is 'HTTP_X_CLIENT_VERIFY'.
# ssl_client_verify_header = HTTP_X_CLIENT_VERIFY
# The list of reports to generate. All reports are looked for
# in `puppet/reports/name.rb`, and multiple report names should be
# comma-separated (whitespace is okay).
# The default value is 'store'.
reports = store, http, foreman, log
# Configure the backend terminus used for StoreConfigs.
# By default, this uses the ActiveRecord store, which directly
talks to the
# database from within the Puppet Master process.
# The default value is 'active_record'.
storeconfigs_backend = active_record
# Where the fileserver configuration is stored.
# The default value is '$confdir/fileserver.conf'.
fileserverconfig = /etc/puppet/fileserver.conf
# The address a listening server should bind to. Mongrel servers
# default to 127.0.0.1 and WEBrick defaults to 0.0.0.0.
# The default value is ''.
# bindaddress =
# The search path for modules as a list of directories separated
by the ':' character.
# The default value is '$confdir/modules:/usr/share/puppet/
modules'.
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
# The entry-point manifest for puppet master.
# The default value is '$manifestdir/site.pp'.
manifest = /etc/puppet/manifests/site.pp
# The LDAP attributes that should be stacked to arrays by adding
# the values in all hierarchy elements of the tree. Values
# should be comma-separated.
# The default value is 'puppetvar'.
# ldapstackedattrs = puppetvar
# The user to use to connect to LDAP. Must be specified as a
# full DN.
# The default value is ''.
# ldapuser =
# Whether TLS should be used when searching for nodes.
# Defaults to false because TLS usually requires certificates
# to be set up on the client side.
# ldaptls = false
# The search string used to find an LDAP node.
# The default value is '(&(objectclass=puppetClient)(cn=%s))'.
# ldapstring = (&(objectclass=puppetClient)(cn=%s))
# The LDAP attributes to include when querying LDAP for nodes.
All
# returned attributes are set as variables in the top-level scope.
# Multiple values should be comma-separated. The value 'all'
returns
# all attributes.
# The default value is 'all'.
# ldapattrs = all
# The password to use to connect to LDAP.
# The default value is ''.
# ldappassword =
# Whether to search for node configurations in LDAP. See
# http://projects.puppetlabs.com/projects/puppet/wiki/LDAP_Nodes
for more information.
# ldapnodes = false
# The LDAP server. Only used if `ldapnodes` is enabled.
# The default value is 'ldap'.
# ldapserver = ldap
# The LDAP attributes to use to define Puppet classes. Values
# should be comma-separated.
# The default value is 'puppetclass'.
# ldapclassattrs = puppetclass
# The attribute to use to define the parent node.
# The default value is 'parentnode'.
# ldapparentattr = parentnode
# The search base for LDAP searches. It's impossible to provide
# a meaningful default here, although the LDAP libraries might
# have one already set. Generally, it should be the 'ou=Hosts'
# branch under your main directory.
# The default value is ''.
# ldapbase =
# Whether SSL should be used when searching for nodes.
# Defaults to false because SSL usually requires certificates
# to be set up on the client side.
# ldapssl = false
# The LDAP port. Only used if `ldapnodes` is enabled.
# The default value is '389'.
# ldapport = 389
# Where the CA stores the password for the private key
# The default value is '$caprivatedir/ca.pass'.
capass = /etc/puppet/ssl/ca/private/ca.pass
# Whether to allow a new certificate
# request to overwrite an existing certificate.
# allow_duplicate_certs = false
# The type of hash used in certificates.
# The default value is 'md5'.
# ca_md = md5
# A Complete listing of all certificates
# The default value is '$cadir/inventory.txt'.
cert_inventory = /etc/puppet/ssl/ca/inventory.txt
# The root directory for the certificate authority.
# The default value is '$ssldir/ca'.
cadir = /etc/puppet/ssl/ca
# The CA public key.
# The default value is '$cadir/ca_pub.pem'.
capub = /etc/puppet/ssl/ca/ca_pub.pem
# Where the CA stores certificate requests
# The default value is '$cadir/requests'.
csrdir = /etc/puppet/ssl/ca/requests
# Where the serial number for certificates is stored.
# The default value is '$cadir/serial'.
serial = /etc/puppet/ssl/ca/serial
# How long a certificate should be valid.
# This parameter is deprecated, use ca_ttl instead
# The default value is ''.
# ca_days =
# The bit length of the certificates.
# The default value is '2048'.
# req_bits = 2048
# The CA certificate.
# The default value is '$cadir/ca_crt.pem'.
cacert = /etc/puppet/ssl/ca/ca_crt.pem
# The certificate revocation list (CRL) for the CA. Will be used
if present but otherwise ignored.
# The default value is '$cadir/ca_crl.pem'.
cacrl = /etc/puppet/ssl/ca/ca_crl.pem
# Where the CA stores signed certificates.
# The default value is '$cadir/signed'.
signeddir = /etc/puppet/ssl/ca/signed
# Whether to enable autosign. Valid values are true (which
# autosigns any key request, and is a very bad idea), false (which
# never autosigns any key request), and the path to a file, which
# uses that configuration file to determine which keys to sign.
# The default value is '$confdir/autosign.conf'.
autosign = /etc/puppet/autosign.conf
# The default TTL for new certificates; valid values
# must be an integer, optionally followed by one of the units
# 'y' (years of 365 days), 'd' (days), 'h' (hours), or
# 's' (seconds). The unit defaults to seconds. If this parameter
# is set, ca_days is ignored. Examples are '3600' (one hour)
# and '1825d', which is the same as '5y' (5 years)
# The default value is '5y'.
# ca_ttl = 5y
# The bit length of keys.
# The default value is '1024'.
# keylength = 1024
# The name to use the Certificate Authority certificate.
# The default value is 'Puppet CA: $certname'.
ca_name = Puppet CA: ip-10-36-11-244.ec2.internal
# The CA private key.
# The default value is '$cadir/ca_key.pem'.
cakey = /etc/puppet/ssl/ca/ca_key.pem
# Where the CA stores private certificate information.
# The default value is '$cadir/private'.
caprivatedir = /etc/puppet/ssl/ca/private
# Tags to use to find resources. If this is set, then
# only resources tagged with the specified tags will be applied.
# Values must be comma-separated.
# The default value is ''.
# tags =
# Whether to print a transaction summary.
# summarize = false
# Whether each resource should log when it is
# being evaluated. This allows you to interactively see exactly
# what is being done.
# evaltrace = false
# Whether to use lexical scoping (vs. dynamic).
# lexical = false
# Where Puppet looks for template files. Can be a list of colon-
seperated
# directories.
# The default value is '$vardir/templates'.
templatedir = /var/lib/puppet/templates
# Document all resources
# document_all = false
# The 'from' email address for the reports.
# The default value is '[email protected]'.
# reportfrom = [email protected]
# The mapping between reporting tags and email addresses.
# The default value is '$confdir/tagmail.conf'.
tagmap = /etc/puppet/tagmail.conf
# The server through which to send email reports.
# The default value is 'none'.
# smtpserver = none
# Where to find the sendmail binary with which to send email.
# The default value is '/usr/sbin/sendmail'.
# sendmail = /usr/sbin/sendmail
# During an inspect run, whether to archive files whose contents
are audited to a file bucket.
# archive_files = false
# During an inspect run, the file bucket server to archive files
to if archive_files is set.
# The default value is '$server'.
archive_file_server = puppet
# The url where the puppet couchdb database will be created
# The default value is 'http://127.0.0.1:5984/puppet'.
# couchdb_url = http://127.0.0.1:5984/puppet
# The directory where RRD database files are stored.
# Directories for each reporting host will be created under
# this directory.
# The default value is '$vardir/rrd'.
rrddir = /var/lib/puppet/rrd
# How often RRD should expect data.
# This should match how often the hosts report back to the server.
# The default value is '$runinterval'.
rrdinterval = 1800
# The root directory of devices' $vardir
# The default value is '$vardir/devices'.
devicedir = /var/lib/puppet/devices
# Path to the device config file for puppet device
# The default value is '$confdir/device.conf'.
deviceconfig = /etc/puppet/device.conf
cat manifests/classes/nagios3.pp
class nagios3 {
package {
nagios3:
ensure => installed,
alias => nagios,
;
}
service {
nagios3:
ensure => running,
alias => nagios,
hasstatus => true,
hasrestart => true,
require => Package[nagios],
}
# collect resources and populate /etc/nagios/nagios_*.cfg
Nagios_host <<||>>
Nagios_service <<||>>
Nagios_hostextinfo <<||>>
class target {
@@nagios_host { $fqdn:
ensure => present,
alias => $hostname,
address => $ipaddress,
use => "generic-host",
}
@@nagios_hostextinfo { $fqdn:
ensure => present,
icon_image_alt => $operatingsystem,
icon_image => "base/$operatingsystem.png",
statusmap_image => "base/$operatingsystem.gd2",
}
@@nagios_service { "check_ping_${hostname}":
use => "check_ping",
host_name => "$fqdn",
}
@@nagios_service { "check_users_${hostname}":
use => "remote-nrpe-users",
host_name => "$fqdn",
}
@@nagios_service { "check_load_${hostname}":
use => "remote-nrpe-load",
host_name => "$fqdn",
}
@@nagios_service { "check_zombie_procs_${hostname}":
use => "remote-nrpe-zombie-procs",
host_name => "$fqdn",
}
@@nagios_service { "check_total_procs_${hostname}":
use => "remote-nrpe-total-procs",
host_name => "$fqdn",
}
@@nagios_service { "check_swap_${hostname}":
use => "remote-nrpe-swap",
host_name => "$fqdn",
}
@@nagios_service { "check_all_disks_${hostname}":
use => "remote-nrpe-all-disks",
host_name => "$fqdn",
}
}
}
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.