BZ #1054181 - Set OS description consistently, install LSB

https://bugzilla.redhat.com/show_bug.cgi?id=1054181

OS descriptions are filled in by LSB, which relies on lsb_release (supplied by
redhat-lsb-core).  On RHEL, they usually contain the variant string "Server",
so also update the description we preset to match that supplied by lsb_release.

(cherry picked from commit 7e43d73c9ea51ef45fbfab2f8f867444005fad75)
BZ #1052408 - HA Mysql manifest: allow creation of neutron db user.

https://bugzilla.redhat.com/show_bug.cgi?id=1052408

Add parameters to allow (optionally) the creation of the neutron db
user and set its db password.  Also switch to str2bool_i
from str2bool.

(cherry picked from commit 0e7f230d1ac015ddf9697f582919b0b2d1adbe68)
Add case-insensitive str2bool function and use it

The source is taken from the original [1], but case-insensitivity flag
is added to the regexes used.

[1] https://github.com/puppetlabs/puppetlabs-stdlib/blob/2c8450d830453e452b819bfb05678768336c3031/lib/puppet/parser/functions/str2bool.rb

(cherry picked from commit ae4ec8ab402ca76e87af96707a761801af0f2faa)
BZ #1055852 - HTTP 500 Error using Neutron metadata agent

https://bugzilla.redhat.com/show_bug.cgi?id=1055852

metadata agent was using admin password instead of neutron user password

(cherry picked from commit cefe430dbc8e66f37be11aaa35d86a7a91916f1c)
bz 1059417,1056892 -- Handle interface names containing "."

https://bugzilla.redhat.com/show_bug.cgi?id=1056892
https://bugzilla.redhat.com/show_bug.cgi?id=1059417

This fixes problems with VLAN interfaces in astapor by calling
regsubst() to replace "." with "_" in interface names when looking up
ipaddress_* facts.

(cherry picked from commit 78619f4ab0b73f4555a92b2c2b4914b6fa5f8dc5)
BZ #1049633 - Foreman should support VXLAN

https://bugzilla.redhat.com/show_bug.cgi?id=1049633

There are 2 new parameters needed by puppet-neutron for ovs agent/plugin support
for vxlan.  This patch adds those and opens the specified udp port on the
firewall.

(cherry picked from commit 288f97a86676ca29f2858f403e426f3f277d0357)
BZ #1017281 - Add support for ML2 Core Plugin.

https://bugzilla.redhat.com/show_bug.cgi?id=1017281

The ml2 code in puppet-neutron seems a bit buggy, so this currently includes
some workarounds, like installing the ml2 package [1], which puppet-neutron
should do.  There also is some extra work required to do the configuration for
the mechanism_drivers, which seem to require installation of their related
packages as well, to get the right configuration files.

[1] Fixed upstream in https://review.openstack.org/#/c/66413/

(cherry picked from commit 80ed412c1ad7821a36c3740abc4b197a7fd515b0)
BZ #1056055 --  [RFE] create cinder-volumes VG backed by a loopback file

https://bugzilla.redhat.com/show_bug.cgi?id=1056055

The default behavior most customers expect for small to medium installations
is to run cinder-volume on the controller node. Packstack does this but
Foreman only allows a dedicated storage backend backed by iSCSI or RHS.
This patch deploys cinder-volume on the Nova or Neutron controller node if
cinder_backend_{iscsi,gluster} are both set to false. It will detect a VG
named cinder-volumes (whether backed by an iSCSI target or loopback device)
and share it via tgtd. The user must create the VG, which is also the case
with the cinder_backend_iscsi parameter for the LVM backend storage group. In
a sense this patch replicates functionality customers expect from packstack.
I tested it against the RHEL OSP 01.31.2014-1 puddle for both iSCSI and LVM
backed Cinder from the controller node.

(cherry picked from commit 8599024a351912939c8327f011beafcf5b1144b6)
BZ #1062664 - Configure qpid_hostname for Controller host groups

https://bugzilla.redhat.com/show_bug.cgi?id=1062664

The default controller common manifest assumes that qpid is
running locally on the hypervisor. This may or may not be the case
and therefore it should take the '$qpid_host' parameter used within
other manifests. Without this change, Nova attempts to use
localhost as it's qpid broker, which obviously breaks if using
multiple controller hosts.

(cherry picked from commit 027b0c5a06bc56bd60070703ce1a9b2ce974c29f)
BZ #1062670 - add tuned configuration for compute nodes.

https://bugzilla.redhat.com/show_bug.cgi?id=1062670

This implements an RFE to add tuned virtual-host profile to compute nodes.
This can be later extended to other profiles and added in other locations as
needed.

(cherry picked from commit 78e8f3783c4f6482fc59f44084e5b6add477a11e)
BZ #1056383 - Foreman Controller's swift proxy no longer runs ...

https://bugzilla.redhat.com/show_bug.cgi?id=1056383

Build the ringbuilder files on the proxy if no devices exist on its
ring files yet.

(cherry picked from commit fafc78991f73ed71bd2b1380336c2e926e848218)
BZ #1055207 - Add localhost and ip access for Horizon UI.

https://bugzilla.redhat.com/show_bug.cgi?id=1055207

Previously we used the default puppet configuration for Horizon, which allows
access only via fqdn.  This BZ requests addition of access via public IP and
'localhost'.  We also include short fqdn as part of this patch.

(cherry picked from commit 3e01031fb59ce03a417d39039d79817c28ab5998)
BZ #1063514 - cinder_gluster_servers default value in...

https://bugzilla.redhat.com/show_bug.cgi?id=1063514

In either controller host group, the params UI should display the
value for cinder_gluster_servers as an array of IPs, not
${$quickstack::params:cinder_gluster_servers}.

(cherry picked from commit c660be1d216322c1adc46803bff522e484246ebd)
BZ #1049633 - Foreman should support VXLAN

https://bugzilla.redhat.com/show_bug.cgi?id=1049633

A couple of the variables inside the compute and networker classes were missing
the 'ovs_' part of the param name.

(cherry picked from commit 983e71727527a40fbc76e16160c11715e21a37ef)