Add openstack_extras and epel dependency

* Required for pacemaker service provider wrappers
  implementation.
* Add Puppet-openstack_extras module which comes to replace
  puppet-openstack in upstream.
  commit sha: b0b83dbf4507db36220f9c04c68e4788109b1c4b
  Source: https://github.com/stackforge/puppet-openstack_extras
* Add a dependency epel module
  v1.0.0 db0cdeba51739e748c965974ec832acada227084
  Source: https://github.com/stahnma/puppet-module-epel

Related blueprint pacemaker-improvements

Change-Id: Ib607cd77d56e55489e2a855c7ca933b8eb9fcaee
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Rename of LOG var value in OCF scripts

Change-Id: I656e68859df08582cf5476cc7001e5124c348013
Closes-Bug: #1386317
fix resource names in co-location and ordering constraints for DHCP/L3

Closes-bug: #1389606
Change-Id: I7e0822aafd3513337fff604f3412dd73254f632a
Remove old basic service_disables

* Remove *_stopped/*_disabled services definitions
  * RabbitMQ
  * Heat Engine
  * Galera
* Use clear titles for services and use name if service
  name should be changed (e.g from params.pp)
* Fix mangling for corosync services.

Related to blueprint granular-deployment-based-on-tasks

Fuel-CI: disable
Change-Id: Iedd11984f43f0d653526113ac208470aa4f39a94
Use separate pid files for Pacemaker OCF

W/o this change, improved pacemaker provider
would not differ OS-aware service pid file from
its own one. That would make impossible to
disable OS-aware services inside pcs provider.

The solution is to separate OS-aware layer from
pacemaker OCF one for pid/run/lock files (we use
only pid files in OCF scripts):

* Unify $OCF_RESKEY_pid_default definitions with
  $HA_RSCTMP and "$__SCRIPT_NAME" varaibles
* Add separate pid directories for resources managed
  by pacemaker OCF ($HA_RSCTMP/$__SCRIPT_NAME/)
  and keep pid files there to distinguish them from
  OS-aware ones.
* While $HA_RSCTMP is owned by root, chown resources'
  subdirectories $__SCRIPT_NAME to
  $OCF_RESKEY_user to grant daemons
  write access for their pid files as well.
* For status actions of OCF scripts, add safe creation
  and chowning of aforementioned pid directories
* Add missing user/group checks for rabbitmq ocf
* Add debug for pid file related actoins
* Make empty pidfile checks
* Fix pidfile creation on start action of neutron
  agents OCF
* Fix pidfile deletion on stop action for mysql OCF

DocImpact
Related blueprint pacemaker-improvements

Fuel-CI: disable
Change-Id: I7f50e32ced83af8f32fd7907cb5fc723055da121
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
New service provider

* Rewrite pacemaker service provider
* Auto-disable basic non-ha service
* Uses p_ prefix if needed
* Look for master to start for multistate resources
* Includes debugging console and specs
* Print debug status on timeout

Related-Blueprint: pacemaker-improvements
Change-Id: I712e52acc5127f02838b88eaf99e6e63a0812897
Refactor Heat HA to wrappers

* Separate HA changes from upstream module.

Related-Blueprint: pacemaker-improvements
Change-Id: I632ca630dbdf598ea5da0ff74ff73cc9b8f7aaf2
Merge "Rename of LOG var value in OCF scripts"
Merge "fix resource names in co-location and ordering constraints for DHCP/L3"
Fix keystone_endpoint in ceph module

Closes-bug: #1390118
Change-Id: I5d141f9b2397482175a19a725c595c69a327af0e
Merge "Add openstack_extras and epel dependency"
Merge "Fix keystone_endpoint in ceph module"
Sync puppetlabs rabbitmq module

commit 4832bd61b5b1bfea7c9cc985508e65cd10081652
Source: https://github.com/puppetlabs/puppetlabs-rabbitmq.git

Related blueprint merge-openstack-puppet-modules

Fuel-CI: disable
Change-Id: I924a2a4489dc329fefbee859a4b4bde0b79e86d1
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Adapt rabbitmq module for Fuel

* Add dependency modules: garethr-erlang, nanliu-staging
* Add support for rabbimtq >1.0 <=4.1 for nova module and make it
  backward compatible (otherwise can't be contributed in upstream)
  (https://bugs.launchpad.net/puppet-nova/+bug/1386309)
* Adjust other existing rabbit class calls for new 4.1 rabbit module
* Remove deprecated usage of rabbitmq::server class and replace it
  to ::rabbitmq (cinder, murano, openstack, zabbix, mcollective,
  nailgun)
* Move rabbit.pub.key template from rabbitmq to openstack module
  (Fuel uses it for offline installation of rabbitmq)
* Move custom rabbit OCF file from nova to openstack and remove
  OS-aware services disable from rabbit's manifests
* Make pacemaker provider HA wrapper for rabbitmq service and move
  it to pacemaker_wrappers::rabbitmq
  (TODO move to extras and contribute the change)
* Fix linting
* Fix rabbitmq service name for zabbix mon
* Port fix for #MODULES-1488
* Fix env_config for rabbitmq::nailgun, unify RABBIT_* env args.
* Use key_content, package_gpg_key, config_*, cluster_*,
  environment_* params to ensure the same rabbit configuration as
  before and make offline installation possible.
* Add cluster_partition_handling for nova::rabbitmq and
  openstack::controller
  (https://bugs.launchpad.net/puppet-nova/+bug/1386309)
* Del unused rabbitmq_node_ip_address and rename as node_ip_address
* Del unneeded rabbit_cluster due to it is being evaluated via
  passed rabbitmq_cluster_nodes as well
* Adjust debug log_levels for rabbit config as well
* For '$production !~ /docker/' case, remove custom init scripts
  for rabbit as non relevant anymore.

Related blueprint merge-openstack-puppet-modules
Related-bug: #1377491

Change-Id: I6e631b975c5835d2d6f1984d5a070a45231fe9ab
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>