diff options
Diffstat (limited to 'lib/puppet/defaults.rb')
-rw-r--r-- | lib/puppet/defaults.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb index 3454f02dd..ba9697411 100644 --- a/lib/puppet/defaults.rb +++ b/lib/puppet/defaults.rb @@ -163,7 +163,24 @@ module Puppet configuration files. This timeout determines how quickly Puppet checks whether a file (such as manifests or templates) has changed on disk." ], - :queue_type => ["stomp", "Which type of queue to use for asynchronous processing."] + :queue_type => ["stomp", "Which type of queue to use for asynchronous processing."], + :queue_type => ["stomp", "Which type of queue to use for asynchronous processing."], + :queue_source => ["stomp://localhost:61613/", "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"], + :async_storeconfigs => {:default => false, :desc => "Whether to use a queueing system to provide asynchronous database integration. + Requires that ``puppetqd`` be running.", + :hook => proc do |value| + if value + # This reconfigures the terminii for Node, Facts, and Catalog + Puppet.settings[:storeconfigs] = true + + # But then we modify the configuration + Puppet::Node::Catalog.cache_class = :queue + else + raise "Cannot disable asynchronous storeconfigs in a running process" + end + end + } ) hostname = Facter["hostname"].value @@ -687,7 +704,7 @@ module Puppet require 'puppet/node/facts' require 'puppet/resource/catalog' if value - Puppet::Node::Catalog.cache_class = :active_record + Puppet::Node::Catalog.cache_class = :active_record unless Puppet.settings[:async_storeconfigs] Puppet::Node::Facts.cache_class = :active_record Puppet::Node.cache_class = :active_record end |