[Fedora] Install dnsmasq on n-cpu less host

The libvirt-daemon-driver-network pulls the dnsmasq,
on hosts where the n-cpu installed with libvirt backend.

But nothing installs it if you have only n-net or q-dhcp,
on the given hosts.

dnsmasq-utils does not depends on dnsmasq,
because it can work with other local dhcp servers.

Change-Id: I17a769df3bd51ca608c1728e892009125eea42ed
Support of an alternate pypi server

Currently pip will get the package from the https://pypi.python.org server.
For CI, it's a problem as Internet connection can be down,
the pypi server down, etc...

The usecase is for a company/user that maintain a local pypi mirror
and give the option to use this server instead of the official one

Change-Id: I83aac4646cb78827a92c9636d78238f8a6118642
Implements: blueprint support-local-pypi-server
Do a proper tls/ca cleanup in unstack

Certificates and the index were left in the data directory after
running unstack. That would break devstack on the next run.

partial blueprint devstack-https
Change-Id: I6eb552a76fb29addf4d02254c027e473d6805df1
Lower default IRONIC_VM_SPECS_RAM

Revert the default required RAM for Ironic nodes from 1024MB to 512MB.
Ironic now passes a kernel parameter to deploy ramdisks that avoids use
of tmpfs and lowers minimum memory requirements.

Change-Id: I20226c496fdd06ecfc6769a60b6d6f82887130a8
Promote libffi-dev as a general dependency

libffi-dev/libffi-devel can be requested for rebuilding the
python clients which is an un-skipable part of the devstack install.

Promoting the libffi-devel to a general dependency.

Change-Id: I1dac7fd536b94de1e49aaf335ac29ffae1bd39d1
Add a Tunnel end-point variable for Neutron configuration

The HOST_IP address is being used as IP address
for end-point tunnel configruation. A new variable is
needed to specify a different IP address for the tunnel
end-point that Neutron will use

Change-Id: Ic7fb4853df167e78bf882af6a712b903db754dc2
Closes-bug: #1340433
Fix Neutron configuration if Ceilometer is enabled

Previously if Ceilometer service was enabled,
configuration option to enable Neutron network
notifications was not set. This fixes it.

Change-Id: Ia53d9db1828ef2daa0ce637b2a2635795856502c
Closes-Bug: #1340754
Fixed NO_UPDATE_REPOS variable usage

Change-Id: I50a2fd73f30321e97c99947b62fb1729870a2c14
XenAPI: Use GUEST_PASSWORD when installing DomU

We know what the GUEST_PASSWORD will be, so set it during DomU
installation; therefore if the installation fails for any reason
we have a correct GUEST_PASSWORD set rather than the obscure and
undocumented 'r00tme'

Change-Id: I684646a74f2cede43667a40556e247955e042ae4
Configure the OVS datapath type with devstack.

This feature provides the user with a means of easily configuring
the required Openvswitch datapath type. (Netdev, dpdk, etc)

Define the OVS_DATAPATH_TYPE variable in the devstack configuration file
local.conf.

This feature enables Intel(R) DPDK vSwitch and netdev DPDK vhost.

Implements blueprint config-ovs-datapath-type

Change-Id: I5698720960b1ac532c790d3e5735c5cef36d5e3d
FAQ: Clarification - Devstack is a gating project

Change-Id: I52fdfc5c865e864939df49fecb71b8e615a28cbf
add python-mock to testonly package list

Python-mock is needed by most of OpenStack for testability. Add
this is a testonly package. This should fix current issues with
functional tests in OpenStack that use devstack, but not tox to
run their tests.

Closes-Bug: #1341507

Change-Id: I26cbe42ace75554bae993a6d849c3b4ac649c78e
Support multiple Cinder backend types

This is the first step in supporting multiple Cinder backend types at
once.  It initially converts the existing hard-coded multi-lvm support
to a new cinder_backends driver form.  Eventually the cinder_plugins
will be converted to this form so they can be enabled more than just
one at a time using CINDER_ENABLED_BACKENDS.

The default configuration should be identical to the previous defaults,
including for both True and False values of CINDER_MULTI_LVM_BACKEND.

The existing cinder_plugins are expected to be removed when this is
complete. They should continue to work until they have been converted.

Add wait for c-api to ensure it is started before continuing.

Change-Id: I93b8ef32832269d730c76a6dc24ddb4f20c6d9df
XenAPI: Fix race condition on tailing stack.log

Stack.log is created by stack.sh, which is started by run.sh.  Using
the pid from run.sh doesn't mean that stack.log has been created yet
so wait for the log to be created before tailing

Change-Id: I86e563478949cb7bbe0d1afd80b790ba70328e3a
Make apache restarts a little more forgiving

Apache sometimes is slow to release the port (from the kernel's
perspective) which can cause restarts of apache to fail due to the
requested port already being bound. This fix introduces a small sleep
between the stop and start to help make apache deployments a bit
more resilient.

Change-Id: I9697d71f3cb2d8d5da8fe7ffa8b3e1ade9d52afd
Closes-Bug: #1342256
Merge "Add a Tunnel end-point variable for Neutron configuration"
Add DVR support to DevStack

This patch introduces a new Neutron  config option: Q_DVR_MODE.

The possible values are:

- legacy  : No DVR functionality
- dvr_snat: Controller/single node DVR
- dvr     : Compute node in multi-node DVR

When DVR is enabled the following configuration changes will be
in place:

- neutron.conf
  - router_distributed=True

- l3_agent.ini
  - agent_mode=$Q_DVR_MODE

- ovs_neutron_plugin.ini:
  - enable_distributed_routing=True
  - l2_population=True
  - tunnel_types=vxlan

Supports-blueprint: neutron-ovs-dvr

Change-Id: I669e054a8489fe7ac7f5c00df6535349d477e8c4
Merge "Support multiple Cinder backend types"
Merge "Fix Neutron configuration if Ceilometer is enabled"
Fix trove guest confing to ignore user os_admin

This value of ignore_users in the guest config needs to be set
correctly to ignore the local os_admin user for the trove functional
tests to pass in a devstack-gate environment.

Change-Id: Ia31dfe8f2eab4b24790b6be0dbc474cf50f39afa