Add third-party support for Quantum NVP plugin

This patch leverages the third-party mechanism provided by DevStack
to customize the configuration of DevStack instances when working
with the Quantum NVP plugin. This is useful in dev/test scenarios,
where connectivity between the DevStack VM and the NVP Gateway is
required.

Supports blueprint nvp-third-party-support

Change-Id: I3f5afa5de1219f491e37c8b9b28370855d6b017c
Cleanup openrc.

- Cleanup openrc, removing the sourcing of functions (which was failing
  for zsh) and remove the *_DEBUG comment since they have been removed
  from the clients.

Change-Id: Ie2e6fb1e770403c4ef3463a850e8151bd312614c
Ensure Open vSwitch can be installed on RHEL6.

 * RHEL6 does not include Open vSwitch in the default repos, but it
   is available via the RDO repo.  This patch automatically
   configures the RDO repo for RHEL6.
 * The openvswitch package is now listed as an rpm dependency to
   ensure it can be cached by a pre-built CI environment.

Change-Id: I8f93f53039cca4ff29bcb91720be7bb047b3ed8a
add firewall driver if we use quantum security group

fixes bug 1179820

we must set firewall driver if we want to use quantum security group because
quantum will disable security group if we do not change the default firewall
driver. Currently devstack will not change the default firewall driver
if we just running quantum server on a node which will cause nova unable to
security group information.

Change-Id: Ie274325decbf252630a237ed3d6ee3136eb259fe
Create usable IPC directory for ZeroMQ

By default, the zeromq driver looks for
/var/run/openstack which needs to be created and
given the right permissions.

It is easier and just as safe in the case of devstack
to just use mktemp to establish a temporary working
directory.

Change-Id: I4cec33e49d2b042a244420fb40d83d476e4971cd
ZeroMQ driver to default to redis matchmaker

Switching to the redis matchmaker.

The localhost matchmaker does not presently work.
Also, the localhost matchmaker could not work for
multi-host setups.

Change-Id: I81a26b9af78328e360a18b87371c619e194365d2
xenapi - quantum: L2 agents for dom0 and domU

This patch makes it easier to support the all-in-one installation of
XenServer with Quantum:
- separate agents for domU and dom0 openvswitches. The domU agent's name
  is "q-domua", and the dom0 agent is called "q-agt"
- create a physnet1 physical network to connect those openvswitches

Note: This patch depends on the quantum patch:

    https://review.openstack.org/15022

For a diagram, see:
    http://goo.gl/BuAdg

Change-Id: Iff851438553528b9051edd380ecbb2c0415cbf78
Install nose 1.1 from EPEL for RHEL.

 * It's not possible to prevent python-nose (which is not compatible
   with Tempest) from being installed since so many os packages
   dependent on it.
 * This patch installs python-nose1.1 from EPEL and adds a
   /usr/local/bin symlink for nosetests1.1 so that invocations for
   Tempest will work as expected.

Change-Id: I756d1ca5eda127dcdd2efb047c8e14dd344f710d
Add h-api to suggested ENABLED_SERVICES for Heat

Currently lib/heat says:

    To enable, add the following to localrc
    ENABLED_SERVICES+=,heat,h-api-cfn,h-api-cw,h-eng

Once the stack is up, `heat list` fails because the API server
isn't running.

This commit adds h-api to that list.
Also make sure h-api is killed in stop_heat().

Change-Id: I2e818bb343680b3778f9277c23c766f784d28887
Merge "Cleanup openrc."
specify session name on perform rejoin stack

rejoin-stack.sh would not specify screen session name which will lead
unstack.sh unable to kill the screen session started by rejoin-stack.sh
after hypervisor rebooted. So specify the session name if
rejoin-stack.sh need to start a new sreen session.

fixes bug 1182806

Change-Id: I68635887aa82fa63f3667e0f090ea2836eec7b68
Merge "Install nose 1.1 from EPEL for RHEL."
Merge "Add h-api to suggested ENABLED_SERVICES for Heat"
Merge "Create usable IPC directory for ZeroMQ"
Merge "ZeroMQ driver to default to redis matchmaker"
Changes to NVP plugin configuration file

Tweak devstack support to the nicira plugin in order to
reflect changes made in:

https://review.openstack.org/#/c/26427

This complements fixes for bug #1121605

Change-Id: I221466fb40412ceb457d3e888767291a76176aa6
Merge "Ensure Open vSwitch can be installed on RHEL6."
Install nodejs for RHEL/Fedora

nodejs is required for Horizon (ships a copy of lessc internally).  I
couldn't find nodejs in the rpm list, despite it being installed in
lib/horizon.  This adds to the rpm list as NOPRIME and retains the old
install point.

RHEL6 has nodejs in EPEL now, so we remove the old hack that installed
an upstream version and add it to the install mentioned previously

Change-Id: Ib3ee2f7d77e22666c9055c8528288c01b46a95d3
Set variables in rsyslog.conf to disable rate-limiting.

Per Bug https://bugs.launchpad.net/openstack-ci/+bug/1024487, this will
modify the rate-limiting setting for rsyslog.conf.  If rate-limiting is
being used the addition will set it to 0 otherwise the addition will
add the variables to the configuration file and set them to 0.

Implements: Variables "$SystemLogRateLimitBurst 0", and
"$SystemLogRateLimitInterval 0" in "/etc/rsyslog.conf". These changes
are persuent to what has been outlined in the rsyslog docs as found
here : http://www.rsyslog.com/tag/SystemLogRateLimitInterval/

Updated commit implements changes in code and placement post code
review. Recent change implements the "SystemLogRateLimitBurst" in first
if statement, which was "SystemLogRateLimitInterval" and wrong.

Fixes: Bug 1024487
Change-Id: I2637889cbe9e5e87bbfc0f1bb5047abae34d953c
Add missing .debs required by Debian

dnsmasq-utils is available on all Debian-based supported distros.

Debian Wheezy and Jessie need qemu to be installed in order for the resulting
OpenStack environment to be fully functional.

Change-Id: I910968f60ca1ed5c300a1fa599fb480d65591145