crowbar/barclamp-crowbar — pull request #692 by VictorLowther (2013-09-12 15:31:20+00:00)
Title: CB 2.0: Make the network barclamp really work, and make all the recipes really Chef11 compliant. [1/5]

This pull request series makes the network barclamp interact with the
core Crowbar framework allow for:

* Dynamic creation of networks at point of need rather than having to
set them all up ahead of time.
* Presenting networks as roles to the core Crowbar framework.
* Presenting address and network interface allocations as noderoles.

Since this is a first-pass implementation, it lacks a few amenities:

* Networks cannot be edited after they are created. This will be
addressed once we get a good idea about what sorts of edits to a
network make sense in a running cluster, and how to make edits on a
live cluster with a decent stab at not losing overall connectivity.
* Address allocations can not be deleted once created. This will be
enabled once we have a better idea about how to do so in a way that
does not break the node-role graph.
* The network barclamp only knows how to present information to the
core, it has no idea how to get information back.
* The admin network is special, and that specialness is hardcoded. It
should be driven by configuration metadata from the network-server
role instead.

This also fixes up a series of non-Chef 11 compliant recipes due to a
combination of bad cache hygene on my part and the Chef 10 client
imnitruck installer having an inexplicably higher priority than the
Chef 11 one.

crowbar.yml | 3 +
crowbar_framework/app/models/barclamp.rb | 53 ++-
crowbar_framework/app/models/jig.rb | 9 +
crowbar_framework/app/models/node.rb | 2 +-
crowbar_framework/app/models/node_role.rb | 10 +-
crowbar_framework/app/models/role.rb | 55 ++-
crowbar_framework/app/models/role_require.rb | 8 +
.../config/initializers/api_helpers.rb | 1 +
.../db/migrate/20120731225510_create_roles.rb | 1 +
crowbar_framework/lib/ip.rb | 369 ++++++++++++++++++++
10 files changed, 449 insertions(+), 62 deletions(-)

Crowbar-Pull-ID: 402e9ce91111702c1f810a6a19545ee4d489a3f9

Crowbar-Release: development