crowbar/barclamp-crowbar — pull request #791 by VictorLowther (2013-12-04 00:45:23+00:00)
Title: Start rework of attribs to improve data isolation during annealing [1/3]

Start rework of attribs to let them be role driven.

Among the changes:

* Declare default attribs in crowbar.yml, either in a top-level attribs
section or as part of a role.
* Enhance the attrib type finding model to allow for jig-specific
customizations.
* Allow roles to declare that they want specific attributes. Nothing
uses this now, but it will wind up replacing the current attribute
gathering logic that the jigs use.

The aim of this is to lay the groundwork for replacing our
current overly simple strategy for figuring out which attributes to
inject. It does not start the work of replacing that code yet -- that
will come in a future pull request.

crowbar.yml | 41 +++++++++
crowbar_framework/app/models/attrib.rb | 100 +++++++++------------
crowbar_framework/app/models/barclamp.rb | 25 ++++++
.../barclamp_crowbar/attrib/number_of_drives.rb | 29 ++++++
.../app/models/barclamp_crowbar/attrib_default.rb | 20 -----
.../models/barclamp_crowbar/attrib_drive_count.rb | 29 ------
crowbar_framework/app/models/jig.rb | 1 +
crowbar_framework/app/models/node.rb | 2 +-
crowbar_framework/app/models/role.rb | 9 +-
crowbar_framework/app/models/role_require.rb | 62 ++++++-------
.../app/models/role_require_attrib.rb | 21 +++++
crowbar_framework/app/views/nodes/show.html.haml | 2 +-
.../migrate/20120731225511_create_role_requires.rb | 58 ++++++------
.../db/migrate/20120731225600_create_attribs.rb | 8 +-
.../db/migrate/20131018000000_add_node_attribs.rb | 63 -------------
15 files changed, 236 insertions(+), 234 deletions(-)

Crowbar-Pull-ID: a5df278b8c055255c255e395c0bbfbf2cf28a449

Crowbar-Release: development