Correctly set the L3 service plugin for ML2

ML2 uses a service plugin for L3. This patch to devstack
correctly sets this by setting or updating the variable
Q_SERVICE_PLUGIN_CLASSES, which makes ML2 compatible when
running with other service plugins (e.g. LBaaS and VPN).

Fixes bug 1231622

Change-Id: I0ce1f5a42bd052995135ffac1ee5ef382d69789e
XenServer hypervisor plugin

Convert XenServer hypervisor configuration in Nova to the new plugin setup.

Change-Id: I8916560ca3f2dae8b8d8bcb60b7aa2eb5984cbcb
Default to the ML2 plugin in Neutron instead of OVS

In Icehouse, the OVS and LinuxBridge plugins are being deprecated in
favor of the Modular Layer 2 (ML2) plugin. This change modifies
devstack to default to ML2 when Neutron is used for networking.

Fixes bug 1220745

Change-Id: I9a4c84b04727a710219fc11f862a655309ffb99b
Update user_attribute_ignore for LDAP Identity config

With a recent patch to keystone, the use of tenantId, tenant_id, and
default_project_id was normalized to reference default_project_id for
all cases internally and translate to the expected results at the
controller (v2.0 returns tenantId, v3 returns default_project_id).

Devstack must now properly ignore the expected mapped LDAP attribute
of 'default_project_id' instead of the old 'tenantId'.  Without this
fix devstack will fail when using the LDAP identity backend because
the 'default_project_id' has been made a special case that requires
the operator of a Openstack cloud to explicitly choose an attribute
to map 'default_project_id' to if storing that value is desired.
Without explicitly mapping that attribute and not having it in the
'user_attribute_ignore' config option, the user_creates can fail.

related-bug: 1219739
Change-Id: I1dd3719de50f6d0948b3a9743e32a03d0ac56b3c
Normalise RECLONE flag to True Or False.

RECLONE flag now uses function trueorfalse for flag handling.
Added more flag cases to normalisation function trueorfalse.

Fixes bug #1200382

Change-Id: I0738537c87634281c6a92fa93b7f84a6b0dad497
ensure tgtd is running in debug mode

this change enables on-the-fly tgtd debug before starting cinder

Change-Id: I193bfd77c5a82e8347d75e2a7fe670a6e25f5558
xenapi: set dhcp timeout on VM installation

Set the DHCP timeout to 120 seconds during virtual machine installation.
Some users failed to run devstack, due to a low DHCP timeout setting.
The default value is 60 seconds. This change sets the value to 120 secs,
that should give enough time for most people.

Change-Id: I15fde45ed0d005c1a8621134eee6c3c338b5be5d
Revert "Revert "Swift: configure Ceilometer when it is enabled""

Commit 6650fda680310e71b5dda7764bf4033f670d90f0 is no longer needed:
https://review.openstack.org/#/c/46048 has been merged.

This reverts commit 6650fda680310e71b5dda7764bf4033f670d90f0.

Change-Id: I47d28a292667eb8ece2061c0ef19c7c925e5747c
Use the rdo havana repo with the RHEL family

In devstack viewpoint there is not too much differences at the moment.
But using the grizzly named repo close to havana release, was strange to me.

Switching to the repo link which does not have a version like '-3'.

Change-Id: Ib421d50d19baeeeff264aa0cb9c105fffcf572f8
Merge "Normalise RECLONE flag to True Or False."
Merge "Correctly set the L3 service plugin for ML2"
Merge "Update user_attribute_ignore for LDAP Identity config"
Using no proxy option to skip wget and curl proxy settings in config

When end users specify proxy settings in config file for wget /etc/wgetrc:
http_proxy = http://...
or for curl ${HOME}/.curlrc:
proxy = http://...

Using `http_proxy="" wget' can not skip the proxy setting in the
config files, also it can skip proxy settings in env viriables.

In order to skip proxy setting in both env and config file, we pass
--no-proxy option for wget, and --noproxy '*' for curl.

Fixes bug #1224836

Change-Id: I2b25aeca9edf2ce4525fb1db325e5e24c18b4d55
Allow openrc to be loaded in zsh

This fix the test then detect OSX in GetOSVersion that break support of zsh.

Fixes bug #1233118

Change-Id: If243fbe59f8f08041327057425018d7ae0d13ab2
Add back rpc_notifier when ceilometer is enabled

This is to reverse what looks like collateral damage from change id
Ic375272b751159a64777ca73c1b64515195aacfb.

When the Ceilometer service is enabled, we also need to tell nova what to use to send
notifications.

Change-Id: I0015194cfa819e89ef85eae5020fedd6e7d71894
Closes-Bug: #1231158
XenAPI: Get the management network dynamically

xenbr0 is correct for most installations, but not all.  Notable xenserver-core
may use a differently named device.  Since we can auto detect this, remove the
config and do so.

Change-Id: I989f6ddd5ffb526ab350f263ef6fc402c596304a
Merge "Default to the ML2 plugin in Neutron instead of OVS"
Revert "Enable tenant isolation to tempest for neutron"

This reverts commit 3d84cf2d7c323750971cf2d27f3a4eaa26cb7a9f.

This is believed to be the cause for the massive increase in
neutron failures in the gate reseting other projects. Realize
this is just a work around.

Change-Id: Id3c59f3fe9ccbb869eb3200ef7ff2659409e2253
Partial-Bug: 1224001
Show where files are copied for sudo switch to stack user

The home directory for the 'stack' user defaults to /opt/stack, which is
not obvious to devstack newbies, and can also be overridden by exporting
a value for DEST.  Therefore it's friendlier to be explicit about the
location of this home directory, to which devstack is copied before
being run as the 'stack' user.

Change-Id: Ia1941a5f2f8cf86a06681e85da52b817a855b8ff
set errexit and xtrace in helper scripts

stack.sh invokes some helper scripts as separate processes, rather than
by source'ing them.  As with stack.sh itself, abort immediately on the
first error, so that errors don't compound and result in confusing error
messages.  If one of these helper scripts aborts, stack.sh itself will
also abort in the usual manner.

Due to the change in behaviour, tweak some mv invocations to ensure that
they don't trigger false failures.

As with stack.sh itself, also enable xtrace so we can see exactly what's
happening.  In particular this allows us to see the cause of any
premature termination due to a command failing whilst errexit is
enabled.

Change-Id: I7a55784c31e5395e29ab9bbe2bb112b83b9be693