summaryrefslogtreecommitdiffstats
path: root/lib/puppet/defaults.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/defaults.rb')
-rw-r--r--lib/puppet/defaults.rb21
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