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
-~----------~----~----~----~------~----~------~--~---

Reply via email to