* lib/razor/config.rb: produce better error when config file can't be read
* spec/config_spec.rb: fix test failure

Test failure was caused by commit 643d495c. The author of that commit has
been talked to about running tests. Sternly.
Ubuntu Precise (12.04 LTS) generic installer

This implements a better Ubuntu Precise installer.

This includes some new installer helpers to allow using repo_url as tool
for retrieving host, port and path of the repository
independently.  (This is required to support the Debian/Ubuntu
installer, which wants them as components rather than a single
fully-formed URL.)

This is partially rewritten by Daniel Pittman <daniel@puppetlabs.com> to
clean up the commit style, and move some code around to better locations.

I made no functional changes to Thomast's work, which was excellent in
all other ways.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Update BOOTIF include the network type and mac

This updates the installer to use iPXE facilities to inject the MAC address of
the DHCP interface into the installer, rather than depending on a much more
convoluted round-trip through the Microkernel.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Define architecture as part of the installer

This adds a manually defined `architecture` field to installers, which
is useful for the Ubuntu installer -- it generally only ships a single
architecture on a disk.
Remove not required kernel_args.erb file from ubuntu preice folder
Upgrade to TorqueBox 3.0.1

This brings in a number of testing fixes, as well as upgrading to JRuby 1.7.8
in the embedded environment.  The TorqueBox gem source is additionally
removed, as the issue preventing their gems hitting rubygems.org was resolved,
so we can use the single authoritative source for gems.

This also bumps the gemset engine version to 1.7.8, matching external and
internal versions of JRuby demanded by the system.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
* doc/api.md: fix a couple minor typos
Add commands to delete and update tags

Fixes https://github.com/puppetlabs/razor-server/issues/68
command update_tag_rule: require 'force' option if tag is used by any policies

If a tag is used by any policies, require that the user pass a 'force'
option to the update-tag-rule command
Evalute tags against all nodes on changes to the tag

* When creating or updating a tag, evaluate it against each node and
  applied/removed as appropriate. Evaluation happens asunchronously
* Updated api docs
Razor::Data::Tag: update node tags whenever a tag rule changes

This does not change the current functionality, but makes it more likely
that we'll keep the API promise we are making now that node.tags reflects
what existing tags apply in the future.
Exclude the `vendor` directory from coverage analysis

When we run our spec tests using a bundler installed collection of gems, they
wind up under the `vendor` directory.  This was included in coverage analysis
by default, which included a whole pile of different code that we don't care
about in our reports.

This restructures the excludes and adds the vendor directory to the filter
list, so coverage doesn't touch it any longer.  No functional changes beyond that.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Version 0.11.0
README.md: fix typo
Add IPMI data to the node definition in our database

This is presently hard-coded into the node, and tracks the three critical
details for communicating with the BMC: which host, user, and password to use;
the later two options are permitted to be NULL, if you hate security on
your network. ;)

This simply emplaces the data, and does not yet provide commands to manipulate
or act on that data.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Implement IPMI credential updates

This adds a command, documentation and tests, to allow users to update the
node IPMI details using the Razor client.  This simply allows updates, making
it practical to associate existing nodes with their BMC/IPMI lan or
lanplus interface.

This, in turn, allows us to start managing power state for the target node.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Add BMC GUID queries and IPMI infrastructure

This implements the basic infrastructure for running synchronous IPMI commands
against a remote host, using external command execution.  That is leveraged to
execute the BMC GUID query, as a proof that the concept works correctly.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>