On Mon, Oct 22, 2012 at 9:31 AM, Hong <[email protected]> wrote:
> Thanks for the reply from Daniel Pittman! Below are the details for my
> questions.

No worries.  Happy to help. :)

>> 1. Is there available Razor object relationship diagram that describes
>> relationships between Razor slices?
>
> Since Mongodb is schemaless, we want to know if there is any existing
> relationship diagram or where to look for schema in the source code of
> Razor.

OK.  You would have to look at the code and, please, be warned that
the content *in the database* is pretty much guaranteed to change as
we head toward 1.0.  If you want to interact with the data Razor
manages, you should do that through the REST API.

>> 2. Does Razor make use of Mongo's JSON doc store features like
>> automatic secondary indexing on all JSON attributes?
>
> The reason I asked this question is that we want to find more info on
> the implementation of the inventory db underneath razor. We'd like to
> understand it a bit more and sort of wondering if puppet may use it
> directly as a fact terminus.

Well, that is simple to answer:

1. Razor doesn't implement an inventory database, or any other sort of
public database.  It has some internal, private data that it uses to
manage the provisioning life-cycle of nodes prior to handing them off
to a broker.

2. Not really, depending on what you mean by "fact terminus":

If you mean "can Puppet use that data when compiling catalogs", the
answer is no: the Puppet master requires that fact data be submitted
as part of the "REST" API when asking for a catalog for a node.  You
can't direct it to obtain that data from somewhere else.

If you mean "can Puppet store and retrieve facts from the Razor
database", then ... no, in the sense that Razor doesn't expose an API
for that - but that is because that doesn't really make sense: Razor
wants to hand a node off to Puppet, and is *finished* with it at that
point.  So, but the time Puppet could support fact data Razor is
already done with it.


If you could explain why you wanted to do that it might help give a
better answer, but at a guess you really want to be using PuppetDB
which *does* store and retrieve facts in a way that "inventory
database" often describes.

-- 
Daniel Pittman
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons

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