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.
