Work around provided here:
http://projects.puppetlabs.com/issues/7178
-Josh


On Nov 4, 10:23 am, Joshua Vaughn <[email protected]> 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 '[email protected]'.
>     # reportfrom = [email protected]
>
>     # The mapping between reporting tags and email addresses.
>     # The default value is '$confdir/tagmail.conf'.
>     tagmap = /etc/puppet/tagmail.conf
>
>     # The server through which to send email reports.
>     # The default value is 'none'.
>     # smtpserver = none
>
>     # Where to find the sendmail binary with which to send email.
>     # The default value is '/usr/sbin/sendmail'.
>     # sendmail = /usr/sbin/sendmail
>
>     # During an inspect run, whether to archive files whose contents
> are audited to a file bucket.
>     # archive_files = false
>
>     # During an inspect run, the file bucket server to archive files
> to if archive_files is set.
>     # The default value is '$server'.
>     archive_file_server = puppet
>
>     # The url where the puppet couchdb database will be created
>     # The default value is 'http://127.0.0.1:5984/puppet'.
>     # couchdb_url =http://127.0.0.1:5984/puppet
>
>     # The directory where RRD database files are stored.
>     # Directories for each reporting host will be created under
>     # this directory.
>     # The default value is '$vardir/rrd'.
>     rrddir = /var/lib/puppet/rrd
>
>     # How often RRD should expect data.
>     # This should match how often the hosts report back to the server.
>     # The default value is '$runinterval'.
>     rrdinterval = 1800
>
>     # The root directory of devices' $vardir
>     # The default value is '$vardir/devices'.
>     devicedir = /var/lib/puppet/devices
>
>     # Path to the device config file for puppet device
>     # The default value is '$confdir/device.conf'.
>     deviceconfig = /etc/puppet/device.conf
>
> cat manifests/classes/nagios3.pp
> class nagios3 {
>
>    package {
>       nagios3:
>          ensure  => installed,
>          alias   => nagios,
>          ;
>    }
>
>    service {
>       nagios3:
>          ensure  => running,
>          alias   => nagios,
>          hasstatus       => true,
>          hasrestart      => true,
>          require => Package[nagios],
>    }
>
>    # collect resources and populate /etc/nagios/nagios_*.cfg
>    Nagios_host <<||>>
>    Nagios_service <<||>>
>    Nagios_hostextinfo <<||>>
>
>    class target {
>       @@nagios_host { $fqdn:
>          ensure => present,
>          alias => $hostname,
>          address => $ipaddress,
>          use => "generic-host",
>       }
>
>       @@nagios_hostextinfo { $fqdn:
>          ensure => present,
>          icon_image_alt => $operatingsystem,
>          icon_image => "base/$operatingsystem.png",
>          statusmap_image => "base/$operatingsystem.gd2",
>       }
>
>       @@nagios_service { "check_ping_${hostname}":
>          use => "check_ping",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_users_${hostname}":
>          use => "remote-nrpe-users",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_load_${hostname}":
>          use => "remote-nrpe-load",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_zombie_procs_${hostname}":
>          use => "remote-nrpe-zombie-procs",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_total_procs_${hostname}":
>          use => "remote-nrpe-total-procs",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_swap_${hostname}":
>          use => "remote-nrpe-swap",
>          host_name => "$fqdn",
>       }
>
>       @@nagios_service { "check_all_disks_${hostname}":
>          use => "remote-nrpe-all-disks",
>          host_name => "$fqdn",
>       }
>    }
>
>
>
>
>
>
>
> }

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to