Change number_of_drives and physical_disks to be accurate.
Improve UI of list of barclamps

When only one proposal is allowed, do not show an expander which
shows/hides the list of proposals: directly put the Create/Edit button
in the barclamp row.

Also, remove links that show a proposal in non-edit mode: this page
displays the content of the json, which is not really helpful. Always go
to edit mode, which is what people are interested in.
Merge pull request #524 from VictorLowther/pull-req-release-pebbles-master-b33d4f791a3432f0d3d2d4ea58a1c80f9ce6c95e

https://github.com/crowbar/barclamp-crowbar/pull/524

Merged by devtool for cloudsleuth
Add render_instance_selector helper to render instance selector

It works like the instance selectors in templates, except that it also
checks if multiple proposals are allowed for a barclamp, and doesn't
show anything if this is not the case.

This will make it easy to change, temporarily or not, the
allow_multiple_proposals of barclamps. And this avoids repeating these
three template lines several times in each barclamp template.
Merge pull request #523 from vuntz/hide-simple-proposals

Improve UI of list of barclamps
Add couchdb compaction code to the default Crowbar recipe.

This will prevent the couchdb database from growing without bound.
Merge pull request #526 from VictorLowther/pull-req-release-pebbles-master-956147574eb056fbe34c4de581d9b9c31bed1583

Make sure we compact the Couchdb databases. [1/1]
Sort commands in help out.

Otherwise randomized due to Ruby hash key insertion order.
Merge pull request #525 from vuntz/render_instance_selector

Add render_instance_selector helper to render instance selector
Merge pull request #528 from saschpe/release/pebbles/master-help-sorted

Sort commands in help out.
Also sort areas in the global crowbar binary

Follow-up on https://github.com/crowbar/barclamp-crowbar/pull/528
Merge pull request #532 from saschpe/release/pebbles/master-sorted-areas

https://github.com/crowbar/barclamp-crowbar/pull/532

Merged by devtool for cloudsleuth
Remove unneeded unless statement

queue_me is always false at this stage.
Fix broken handling of proposal queue for already queued proposals

The assumption that a proposal that was already queued should stay
queued is fundamentally broken: the proposal might have been updated,
leading to a situation where it doesn't need to be queued anymore.

Instead of assuming wrong, we always check if a proposal should go in
the queue. If the item was not already queued, we keep the same
behavior. If it was already queued, then:

  - if it doesn't need to go in the queue, we remove it from the queue
  - if it does need to go in the queue, we update the item in the queue
    with up-to-date status.

This fixes an issue where everything can be blocked forever because a
proposal is stuck as queued forever.
Use :install and not :upgrade for installing packages

As agreed during a community call, we want to use :install to allow
upgrades being controlled instead of automatically installed.
Use default as name for proposals of barclamps with a unique proposal

While the name here is not localized anymore, the rationale is that this
is the same name as used during the install process for core crowbar
barclamps. This makes things more consistent. Also, the name is much
less visible now if multiple proposals are not allowed.
Deactivate (and dequeue) proposal when deleting it

If a proposal is being deleted, it needs to be deactivated first (in
case it was active) and dequeued (in case it was queued). Otherwise, the
role will still exist, and this will break later proposals that have the
same name.

Note that while the webui guides the user to avoid this bug, it's easy
to trigger the bug from command line:
  crowbar <barclamp> proposal delete <proposal>
Fix destroy_active to not use role name as intance name

The current code will call apply_role() with a role name instead of an
instance name because of this...
ensure consistent sorting of barclamps, firstly by order number, then by name
Do not pass "r" to File.read()

This won't work in ruby 1.8.x, which I think is a target for pebbles.
And for later versions of ruby, this should be the default, so no
change.