Required syntax changes to support ruby version 1.9

"case" syntax changes and using "node.set[]=" instead of "node[]="
Added filter for operations not supported on windows platform.

Kernel-panic delayed reset is not avaiable on windows platform.
Access to some hardware-related info from chef and ohai is also not available (e.g. dmi)
Added support for selecting the operating system in the web interface

Added the support for selecting Windows as target operating system in the
admin web interface. If required (e.g. Windows Server 2012), a license key
can be provided as well. For Microsoft Hyper-V no lincese key is required.
Required syntax changes to support ruby version 1.9

"case" syntax changes and using "node.set[]=" instead of "node[]="
Added filter for operations not supported on windows platform.

Kernel-panic delayed reset is not avaiable on windows platform.
Access to some hardware-related info from chef and ohai is also not available (e.g. dmi)
Added support for selecting the operating system in the web interface

Added the support for selecting Windows as target operating system in the
admin web interface. If required (e.g. Windows Server 2012), a license key
can be provided as well. For Microsoft Hyper-V no lincese key is required.
Fixed the dual entry of the target platform and the Windows Server 2012 naming.
Going to check the javascript for pulling the default OS naming in a later commit.
Merge branch 'pull-req-release-pebbles-master-58a2078e8676eb14d4439f36e1ad3e1385f0a21b' of https://github.com/ociuhandu/barclamp-crowbar into release/pebbles/master

Conflicts:
	crowbar_framework/app/views/nodes/_form.html.haml
Added support for displaying default_os instead of "Target Platform Not Set"
and javascript for displaying the license key field only for Windows Server 2012.
Fixed the displaying of default_os in case it is not defined yet.
Merge branch 'release/pebbles/master' of https://github.com/crowbar/barclamp-crowbar into release/pebbles/master

Conflicts:
	crowbar_framework/app/views/nodes/_show.html.haml
Merge branch 'pull-req-release-pebbles-master-58a2078e8676eb14d4439f36e1ad3e1385f0a21b' of https://github.com/ociuhandu/barclamp-crowbar into release/pebbles/master
Add rake tasks for migration of proposal data bags / roles

There are two new tasks:

  - crowbar:schema_migrate -- this migrates data bags / roles to the
    current revision of the schema
  - crowbar:schema_migrate_prod -- this is a convenience wrapper task to
    call crowbar:schema_migrate with the production environment

By default, this will migrate data bags / roles for all barclamps. It's
possible to restrict this to one or several barclamps:
 rake crowbar:schema_migrate_prod[nova]
 rake crowbar:schema_migrate_prod[keystone nova]

The migration works the following way:

  - it supports upgrades and downgrades.

  - schemas supporting migration must have a schema-revision int
    attribute in the deployment part; the template will contain the
    version of the schema revision in this attribute.
    (Reason this is in the deployment part: this will be available in
    the committed role too)

  - there are migration scripts in
    /opt/dell/chef/data_bags/crowbar/migrate/$barclamp/. The scripts
    must be named $rev_$somedescription.rb; the filename can have
    0 (001_foobar.rb will work as well as 1_foobar.rb). There can be
    multiple scripts per revision; they will be executed by alphabetical
    order (or reverse alphabetical order in case of downgrades).

  - a script can provide two functions (they are optional):
      - an upgrade function
      - a downgrade function
    The functions must take as parameters:
      - the barclamp attributes of the template
      - the barclamp deployment information of the template
      - the barclamp attributes of the proposal / role
      - the barclamp deployment information of the proposal / role
    The functions must return:
      - the updated barclamp attributes of the proposal / role
      - the updated barclamp deployment information of the proposal /
        role

We are explicitly restricting acces to the barclamp attributes and
barclamp deployment information to forbid the migration scripts to
change anything outside of the perimeter of each barclamp.

As an example, for nova, we could have
/opt/dell/chef/data_bags/crowbar/migrate/nova/001_add_vuntz_attribute.rb
with the following content:

def upgrade ta, td, a, d
  a['vuntz'] = ta['vuntz']
  return a, d
end

def downgrade ta, td, a, d
  a.delete('vuntz')
  return a, d
end

This will update the attributes.nova.vuntz attribute in the proposal
data bag, and the default_attributes.nova.vuntz attribute in the role.
Fix constraints based on attributes

If we pass the constraint, we should not return true: there's more code
to execute!
Only show "Reinstall" button for allocated nodes

For unallocated nodes, it makes no sense.
Do not crash when viewing a node at the beginning of its discovery

The number_of_drives method was raising an exception if the node was not
fully discovered yet.
Merge pull request #10 from crowbar/release/pebbles/master

Release/pebbles/master
Update service_object.rb

Removing "-i" option from sudo command in order to get rid of "stdin: is not tty" warning (this warning is harmless but messing up parsing of xml file with tempest run results)
Update service_object.rb

Minor typos fixed
In case default_os is not defined yet, initialize it with the right value.