On Apr 14, 2009, at 1:47 PM, Steven Jenkins wrote:
>
> Steven Jenkins wrote:
>> Luke Kanies wrote:
>>> Signed-off-by: Luke Kanies <[email protected]>
>>> ---
>>> README.queueing | 128 ++++++++++++++++++++++++++++++++++++++++++++
>>> +++++++++++
>>> 1 files changed, 128 insertions(+), 0 deletions(-)
>>> create mode 100644 README.queueing
>>>
>>> diff --git a/README.queueing b/README.queueing
>>> new file mode 100644
>>> index 0000000..2876576
>>> --- /dev/null
>>> +++ b/README.queueing
>>> @@ -0,0 +1,128 @@
>>> +*PUPPET QUEUEING
>>> +
>>> +Puppet Queueing is a feature which is designed to take some load
>>> +off of the PuppetMaster by transferring the task of updating the
>>> +database to a separate program which is named puppetqd (Puppet
>>> +Queue Daemon).
>>> +
>>> +Currently this is only supported for "Storeconfigs" which is
>>> +documented at:
>>> +
>>> +http://reductivelabs.com/trac/puppet/wiki/UsingStoredConfiguration
>>> +
>>> +In the future this feature can be extended to any new puppet
>>> +data which involves storage in a database.
>>> +
>>> +*OPERATION
>>> +
>>> +In a nutshell:
>>> +
>>> + puppetmasterd -> stomp -> service -> stomp -> puppetqd ->
>>> database
>>> +
>>> +At the moment the only messaging protocol supported is "stomp".
>>> Although
>>> +others could be implemented, and considered by many as the
>>> +default queueing mechanism for Ruby and Rails applications. It is
>>> +distributed as a Ruby gem and is easily installed.
>>> +
>>> +(The queueing code inside Puppet has been written so that when
>>> other
>>> +interfaces and protocols are implemented they will be easy to
>>> use by
>>> +changing settings in puppet.conf).
>>> +
>>> +The "service" in the diagram above is any queueing service that
>>> supports
>>> +the Stomp API. For details refer to:
>>> +
>>> + http://xircles.codehaus.org/projects/stomp
>>> +
>>> +Both puppetmasterd and puppetqd subscribe to the same queueing
>>> service
>>> +using the stomp interface. As puppetmasterd posts data to the
>>> queue,
>>> +puppetqd receives it and stores it. The details of how to connect
>>> to
>>> +the service and the name of the queue to use are set in
>>> puppet.conf:
>>> +
>>> + <tbd this is a guess>
>>> + [main]
>>> + queue_interface = stomp
>>> + queue_default = storeconfigs
>>> + queue_connect = stomp://localhost:63632
>>> + ... storeconfigs info like dblocation, etc. ...
>>> + [puppetmaster]
>>> + storeconfigs_use_queue = true
>>> + </tbd>
>>> +
>>
>> Just a note that this README needs to be revised. These settings are
>> the initial set proposed, and the final set is simply queue_type and
>> queue_source; e.g.,
>>
>> queue_type = stomp
>> queue_source = stomp://localhost:61613
>>
>
> I believe one other is required as well:
> async_storeconfigs = true
Updated. I'll send a final batch once the whole set of comments are in.
--
Nonreciprocal Laws of Expectations:
Negative expectations yield negative results. Positive expectations
yield negative results.
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Developers" 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-dev?hl=en
-~----------~----~----~----~------~----~------~--~---