All,

Victor and I were kicking around the DB models a little more.  The result was a 
further refinement/simplification for discussion.


1)      Deployment is the top level thing.  Basically, all the roles hang off 
the deployment (through the snapshot pointer).  When a role has a prerequisite, 
that prerequisite is always resolved from within the deployment.  The 
discussion image shows the role prereq chain in blue.

2)      Each role is linked to a one (and only one) jig.  That means it is very 
clear which jig owns the operation of any role and the inbound data values 
related to that role.  The consequence of that design choice is that we may 
have "duplicate" roles that are implemented by different jigs.  For example, 
the SQL barclamp could have roles for the Puppet and Chef jigs.  While that 
seems redundant, it is much clearer and reduces a lot of ambiguity. It would be 
OK for a role tied to the Chef jig to have a Puppet jig role as a prereq; 
however, we expect that most roles will be chained within a single jig type.

3)      The jig is responsible to updating the state of the node-role after any 
activity.  Having roles tied to jigs makes that ownership very clear.

Schema:
https://github.com/crowbar/barclamp-crowbar/blob/master/doc/devguide/model/crowbar_model.png
Example:
https://github.com/crowbar/barclamp-crowbar/blob/master/doc/devguide/model/crowbar_model_discussion.png

Remember: the node-role relationship is proposed as the core atomic unit in CB2 
core.  It's the action handle that's passed to a jig and also the place where 
state is updated.

Overall, I feel like we're moving towards a model that is more explicit and 
direct than before.  Our design objective is that Crowbar operations are more 
transparent and easier to track.

Rob
______________________________
Rob Hirschfeld
Distinguished Cloud Solution Architect
Dell | Cloud Edge, Data Center Solutions
blog robhirschfeld.com, twitter @zehicle
Please note, I am based in the CENTRAL (-6) time zone

_______________________________________________
Crowbar mailing list
[email protected]
https://lists.us.dell.com/mailman/listinfo/crowbar
For more information: http://crowbar.github.com/

Reply via email to