crowbar/barclamp-network — pull request #220 by VictorLowther (2013-09-24 15:30:14+00:00)
Title: IPV6, node availability, sledgehammer bootstrapping, delayed_jobs, oh my! [2/9]

Lots of changes in this pull request series:

* IPv6. All nodes on the admin network get a free shiny IPv6 address,
and the core services have been modified to work equally well over
IPv6 and IPv4 to the extent testable so far. By default, we create
an RFC4193 address range for the network, and synthesize the host
part of the address based on the node name.
* Delayed_jobs. Each individual jig run for a node role happens has a
delayed job. The annealer has been modified to ensure that we only
ever run 1 job per node at a time to ensure that we do not violate
ordering constraints, and we will run up to 10 jobs in parallel.
The converge API is gone -- the crowbar_converge command
demonstrates how to use anneal to drive a cluster towards a
converged state.
* Node aliveness and availability. Nodes have seperate notions of
aliveness (the node is reachable and is capable of running things)
and availability (the node is being managed by Crowbar.) Nodes must
be alive and available for the annealer to do anything with them.
* Sledgehammer bootstrapping. The annealer will attempt to run jobs
against nodes operating in Sledgehammer.

chef/cookbooks/network/recipes/default.rb | 44 +++++++-------
.../network/templates/default/interfaces.erb | 10 +---
.../network/templates/default/redhat-cfg.erb | 2 +-
.../network/templates/default/suse-cfg.erb | 2 +-
.../barclamp_network/networks_controller.rb | 20 ++++++-
.../app/models/barclamp_network/allocation.rb | 3 +
.../app/models/barclamp_network/network.rb | 60 +++++++++++++++-----
.../app/models/barclamp_network/range.rb | 29 +++++-----
.../app/models/barclamp_network/role.rb | 2 +-
.../app/models/barclamp_network/setting.rb | 28 +++++++++
crowbar_engine/barclamp_network/config/routes.rb | 4 +-
.../db/migrate/20130908_create_networks.rb | 12 +++-
12 files changed, 153 insertions(+), 63 deletions(-)

Crowbar-Pull-ID: fda77fb192c9c1d39e5891586544cf031c6d65bf

Crowbar-Release: development