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 'report@ip-10-36-11-244.ec2.internal'. # reportfrom = report@ip-10-36-11-244.ec2.internal # 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 puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.