Re: [Puppet Users] The puppet model

Dan Bode
Tue, 23 Nov 2010 17:34:31 -0000

Hi Thomas,

I don''t know the docs as well as I should: I found a detailed
description of
the process of compiling catalogs.
http://projects.puppetlabs.com/projects/1/wiki/Puppet_Internals

The model in puppet is implemented as a directed acyclic graph (DAG). The
vertices of the graph are resoures, the edges are the relationships (order
dependencies) between resources.

Resource types describe the desired state of a resource in terms of
properties.
   ex: File has properties content, mode, owner, group

Types specify the description of a resource, which is abstracted from
providers that specify the implementation (how we query the current state,
how we synchronize)
  ex: package { ''foo'': ensure => installed} is a relevant
description
regardless of the implementation of how we query the current state and how
we synchronize if it does not match the description. (could be apt, rpm,
yum)

Properties are attributes of resources that can be synchronized.

The synchronization process is as follows:
  - query the real state of the property on the system
  - compare to the desired state
  - if they are not the same, then synchronize them
  - if we have to sync resources, then create an event.

hope this helps!
-Dan

On Tue, Nov 23, 2010 at 5:57 AM, Thomas Hallgren <thomas@tada.se> wrote:

> Hi,
>
> I''m trying to find a formal description of the "Graph based
model"
> that puppet uses but so far I have not been able to find it. Can
> someone please tell me where to look?
>
> Thanks,
> Thomas Hallgren
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to
>
puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.