move pacemaker_vip_primitive definition to crowbar-pacemaker cookbook

The pacemaker_vip_primitive definition only works in a Crowbar
environment (due to retrieving the VIP name/address from Crowbar's
data bag for the relevant network), so it belongs in the
crowbar-pacemaker cookbook not the pacemaker cookbook.
Make the attribute for enabling haproxy per cluster

Right now, it's global which means that all clusters for any role in a
proposal will enable haproxy, which is just wrong.

https://bugzilla.novell.com/show_bug.cgi?id=872528
don't ignore synchronization failures by default

The "fatal" attribute of crowbar_pacemaker's sync_mark LWRP defaulted to
false, so synchronization failures effectively got ignored - the only
difference being an extra 60-second delay and a warning in the logs.

One symptom of ignoring synchronization failures is that Pacemaker
resources get created and started before setup is complete on all nodes.
This in turn causes fencing of nodes with incomplete setup when
Pacemaker attempts to start up the resources on those nodes.

It's more user-friendly if rather than fencing, the chef-client run
simply fails, since this gets bubbled up to the UI without unnecessary
failovers or interruptions to existing services running on the node in
question.

Of course, any synchronization which is advisory-only can still specify

  fatal false

in the resource block.
use crm --force to ensure start/stop in batch mode

We want to allow a resource X to be created without starting it, and
then for a group/clone Y to be created referencing X, which can
subsequently be started.  This ensures that child resources are only
started via their parent, respecting the constraints their parent needs
to impose (e.g. ordering if the parent is a group).

However in this case, changing target-role on Y causes a "Do you want to
override target-role for child resource ..." interactive prompt.  When
STDIN is not a tty, --force is required to ensure that the target-role
on the child resource.  This only works with newer versions of crm which
are patched according to:

  https://bugzilla.novell.com/show_bug.cgi?id=868697
avoid test messing with fixture

Assigning to `fixture` means that the change to the fixture can leak
out to other tests, so we assign to a temporary variable instead.
newly created resources should not be started

In Pacemaker, target-role defaults to 'Started', but we want to allow
consumers of the LWRPs the choice whether their newly created resource
gets started or not, and we also want to adhere to the Principle of
Least Surprise.  Therefore we stick to the intuitive semantics that

  action :create

creates the resource with target-role="Stopped" in order to prevent it
from starting immediately, whereas

  action [:create, :start]

creates the resource and then starts it.

Since we are honouring :start / :stop actions to determine the
target-role value, if target-role is specified via meta, it will just be
overridden anyway.  So we also deprecate direct use of target-role meta
parameter in recipes.
Merge pull request #84 from vuntz/haproxy-per-cluster

Make the attribute for enabling haproxy per cluster
Fix error string
stonith: Ease deployment with SBD

While we cannot fully deploy SBD fencing (the user needs to provide the
devices and to make sure there's a watchdog for this hardware), we can
help a bit by doing the last few bits.
sbd: Claim disks that we're going to use for SBD
Add SBD per node table
Allow specifying attribute name for per node table
Generalize stonith table for other data types

Allow other data types (arrays, comma separated values) to be displayed
in the stonith table.
Split on commas and spaces in SBD table
sbd: Pass -P to sbd

This option is used to "Check Pacemaker quorum and node health" and is
recommended by our HA experts.
Merge pull request #71 from vuntz/sbd

Add option for SBD
haproxy: Allow configuring the default balancing algorithm
Use source balancing for haproxy in Crowbar

This is what is recommended in the HA guide for OpenStack. And in the
end, it's fine with us because we are less interested in load balancing
than in making sure that everything works perfectly all the time.
Merge pull request #89 from vuntz/haproxy-balance

Use source balancing for haproxy
Merge pull request #81 from aspiers/move-vip-definition

move pacemaker_vip_primitive definition to crowbar-pacemaker cookbook