L23network: allow setup MTU in the network_schema

This commit allow define MTU for interfaces and endpoints

Change-Id: I0038286fc75a6935cfcd6fefcfa6acd071a66f59
Blueprint: set-mtu-for-interfaces
BUG: 1274789
Add new Savanna plugin 'idh'

Change-Id: I5c9924508f1d954ea2e562a00db44d5c0d6221e2
Pmanager looks for disk devices via id

This patch is to avoid the situation when
bootstrap centos kernel creates hard drive devices which
then can not be found under ubuntu kernel.

Closes-bug: #1277151
Change-Id: Ib03c603b112c1f23e369cc49dd363ed07055534b
Get Ordering of ifconfig operations from transformation order if it possible.

Add unordered interfaces and endpoints to the end of list in alphabetical order.

Closes-bug: #1278718
Change-Id: I0519de41c875d50758908974e8e04f014f27831c
Merge "Add new Savanna plugin 'idh'"
Merge "Pmanager looks for disk devices via id"
Finish configuring a service before adding it to HAProxy

Starting an HAProxy instance for ceilometer-api (and possibly other
similar services) will fail on Ubuntu if the package for that service is
installed but not yet configured: the service is still running in its
default configuration binding to 0.0.0.0 instead of just the management
IP, preventing HAProxy from binding to the management VIP on the same
port.

To prevent a dependency loop (Ceilometer, like most other OpenStack
services, depends on MySQL), Galera dependencies have to be narrowed
down from the whole of HAProxy setup to just the registration of MySQL
service with it. HAProxy related parts of controller_ha and galera
classes are refactored to support reloading HAProxy for each service
independently, and to group together HAProxy options specific to
individual services.

To support granular addition of services into HAProxy, haproxy module
updated to puppetlabs-haproxy 1.0.1 (0d4c50e) and refactored to split
haproxy.cfg into multiple files under /etc/haproxy/conf.d using include
directive as implemented in the patch by Brane F. Gračnar:

http://marc.info/?l=haproxy&m=129235503410444

The define_backends option for haproxy class introduced in Fuel is
renamed to define_backups and ported to the new haproxy module.

Support for selecting exported haproxy::balancermember resources by tag
is dropped since it is no longer used (and not relevant since Fuel no
longer runs puppetmaster).

An ordered list of controllers is passed from osnailyfacter::cluster_ha
to openstack::controller_ha so that haproxy::balancermember always sets
the primary controller as the active server in failover configurations.

HAProxy is now configured as part the "main" stage, so "cluster_head"
stage is no longer necessary. MySQL and RabbitMQ listen blocks are
populated before HAProxy is first started, other listen blocks are added
incrementally with HAProxy being reloaded via OCF. In HA mode, all
dbsync invokations now require HAProxy MySQL (Ceilometer and Heat were
missing), and all OpenStack services now require HAProxy Keystone.

HAProxy configuration for RadosGW is changed from active-passive
failover to active-active load balancing between controller nodes.
Backend IP addresses for RadosGW servers are changed from storage to
internal.

HAProxy mode option handling is cleaned up so that the default "http"
mode now propagates properly for listening services that do not specify
"tcp" mode explicitly.

Syslog facility for Ceilometer changed from SYSLOG to LOG_SYSLOG to
catch up to the cleanup done in LP #1263675.

Added "--no-class_inherits_from_params_class-check" to puppet-lint
options to prevent it from issuing a warning that is not relevant for
Puppet versions 2.7 and newer.

Change-Id: I5fa03dbc3f7e3a7dfa57c226a5396f652c111997
Closes-bug: #1264388
Closes-bug: #1278603
Merge "L23network: allow setup MTU in the network_schema"
Merge "Get Ordering of ifconfig operations from transformation order if it possible."
Merge "Finish configuring a service before adding it to HAProxy"