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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Joshua Vaughn
2011-Nov-09 21:19 UTC
[Puppet Users] Re: Storeconfigs and nagios and foreman
Work around provided here: http://projects.puppetlabs.com/issues/7178 -Josh On Nov 4, 10:23 am, Joshua Vaughn <j...@sibblingz.com> wrote:> 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_valuefor 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_factfor 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`). > # Seehttp://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. > # Seehttp://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 ''rep...@ip-10-36-11-244.ec2.internal''. > # reportfrom = rep...@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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Apparently Analagous Threads
- Warning: Local environment: "42A" doesn't match server specified node environment "production", switching agent to "production"
- puppetrun fails: "Certificates were not trusted"
- Foreman -- Reporting
- 'puppet storeconfigs export' killed
- Foreman / External Nodes -- Node Not found