Fix validation of SBD devices when none is specified

https://bugzilla.novell.com/show_bug.cgi?id=888060

This is a backport of

https://github.com/crowbar/barclamp-pacemaker/pull/123
Always remove deprecated target-role meta on update of a primitive

This is a backport of:
https://github.com/crowbar/barclamp-pacemaker/pull/130

We deprecated setting target-role values via the meta attribute, in
favor of :start/:stop actions on the resource. So this should not be
relied upon anymore, and it's safe to drop this if we want to.

There is one racy case where this matters:
  - node1 and node2 try to create a primitive with the chef resource; on
    initial creation, we set target-role='Stopped' because we do not
    want to autostart primitives.
  - because they can't create it at the same time, node2 will fail on
    creation. If the chef resource is configured to retry, then node2
    will then try to update the primitive (since it now exists); but the
    chef resource is not reloaded so still has target-role='Stopped'.
  - if node1 had also started the primitive before node2 retries the
    :create, then the target-role will be changed from 'Started' to
    'Stopped' with the update.

This can result in a primitive not being started with [:create, :start].
Therefore, we just delete this deprecated bit from meta to avoid any issue.

[Thu, 31 Jul 2014 15:11:55 +0200] INFO: Processing pacemaker_primitive[vip-public-cluster-proposal-1] action create (crowbar-pacemaker::haproxy line 15)
[Thu, 31 Jul 2014 15:11:56 +0200] INFO: Creating new primitive resource 'vip-public-cluster-proposal-1'
[Thu, 31 Jul 2014 15:11:56 +0200] INFO: Processing execute[crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped" ] action run (/var/chef/cache/cookbooks/pacemaker/libraries/chef/mixin/pacemaker/sta
ndard_cib_object.rb line 91)

================================================================================
Error executing action `run` on resource 'execute[crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped" ]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped"  ----
STDOUT:
STDERR: ERROR: vip-public-cluster-proposal-1: id is already in use
---- End output of crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped"  ----
Ran crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped"  returned 1

[...]

[Thu, 31 Jul 2014 15:11:56 +0200] INFO: Retrying execution of pacemaker_primitive[vip-public-cluster-proposal-1], 0 attempt(s) left
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: Checking existing primitive resource 'vip-public-cluster-proposal-1' for modifications
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: vip-public-cluster-proposal-1's ip params didn't change
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: vip-public-cluster-proposal-1's target-role meta changed from  to Stopped
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: Processing execute[crm_resource --resource vip-public-cluster-proposal-1 --set-parameter "target-role" --parameter-value "Stopped" --meta] action run (/var/chef/cache/cookbooks/pacemaker/providers/primitive.rb line 88)
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: execute[crm_resource --resource vip-public-cluster-proposal-1 --set-parameter "target-role" --parameter-value "Stopped" --meta] ran successfully
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: Processing execute[crm configure primitive vip-public-cluster-proposal-1 ocf:heartbeat:IPaddr2 params ip="192.168.126.5" meta target-role="Stopped" ] action nothing (/var/chef/cache/cookbooks/pacemaker/libraries/chef/mixin/pacemaker
/standard_cib_object.rb line 91)
[Thu, 31 Jul 2014 15:12:02 +0200] INFO: Processing execute[crm_resource --resource vip-public-cluster-proposal-1 --set-parameter "target-role" --parameter-value "Stopped" --meta] action nothing (/var/chef/cache/cookbooks/pacemaker/providers/primitive.rb line 88)
Sort vip primitives when creating haproxy group

This is a backport of:
https://github.com/crowbar/barclamp-pacemaker/pull/134

Without the sort, the order of the VIP can change, and we keep updating
the haproxy group every now and then.
Complete 558432f by dropping target-role on the chef resource too

Commit 558432f was not fully complete, as it's also important to drop
target-role from the chef resource, not just from the bit we're using to
check if we need to update the pacemaker resource.
Also drop target-role when updating clone, group and ms
Fix naming of variable
Fix race on initial run where cluster founder is not found

On the very first time we apply a pacemaker proposal, non-founder nodes
might be running chef-client faster than the founder node (depending on
how crowbar will order them) and this might result in the founder
attribute not being indexed fast enough. So the nodes will fail not
finding the founder.

So on this very first time, we wait a bit to make sure the founder will
be returned in our search results.
Force output of "crm configure show" to not use colors

We don't care about colors, we just want to parse plain text.

This allows us to avoid being hit by this crmsh bug:
https://bugzilla.novell.com/show_bug.cgi?id=893011
crowbar-pacemaker: Increase tune.bufsize option of haproxy

The default value (16384) is too small for keystone: getting a PKI token
from its ID fails with a 400 Bad Request message from haproxy because
the URI path is too long.
(cherry picked from commit de4b60e0bf94c3559de723e07dd4a1d139684b96)
haproxy: Allow setting the tune.bufsize and tune.chksize options
(cherry picked from commit ae3818723e0b38a690a6fabd3d390daafcfce961)
Merge pull request #141 from bkutil/ha_backports

Ha backports