[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
Fixed NO_UPDATE_REPOS variable usage

Change-Id: I50a2fd73f30321e97c99947b62fb1729870a2c14
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
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
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
Use one name for neutron database after healing

Now that the Neutron database is healed we no longer need a
plugin-specific name for it.

Related Blueprint: db-migration-refactor

Change-Id: If25e77444f115817e5570bb447bde5b9c8d6e686
Remove unfubar_setuptools

It is no longer used for anything, nor does it seem to be
needed in the modern world of get-pip.py.

Change-Id: I5554514dd862a2004454daf295abbcf9cf9f2bfb
Add SERVICE_TOKEN to the sample local.conf

I expect the sample local.conf file to contain all the required
variables. However, after copying samples/local.conf, the stack.sh
script still asks for SERVICE_TOKEN.

This commit adds the SERVICE_TOKEN definition to local.conf so that a
new user can just copy samples/local.conf, edit it, and have a running
stack.sh without the mild annoyance of having more variables to set.

Change-Id: Ifb163c7f67c80037d8b10458f2df458a20da4667
Add architecture to tempest configuration

Cirros may be also built in other architectures other than
x86_64 (ex: ppc). This option should be broader,
so adding a new variable CIRROS_ARCH

Change-Id: I9fcd3f15e04bb581cf647ad49172c7d698e8e574
Implement Ceph backend for Glance / Cinder / Nova

The new lib installs a full Ceph cluster. It can be managed
by the service init scripts. Ceph can also be installed in
standalone without any other components.
This implementation adds the auto-configuration for
the following services with Ceph:

* Glance
* Cinder
* Cinder backup
* Nova

To enable Ceph simply add: ENABLED_SERVICES+=,ceph to your localrc.
If you want to play with the Ceph replication, you can use the
CEPH_REPLICAS option and set a replica. This replica will be used for
every pools (Glance, Cinder, Cinder backup and Nova). The size of the
loopback disk used for Ceph can also be managed thanks to the
CEPH_LOOPBACK_DISK_SIZE option.

Going further pools, users and PGs are configurable as well. The
convention is <SERVICE_NAME_IN_CAPITAL>_CEPH_<OPTION> where services are
GLANCE, CINDER, NOVA, CINDER_BAK. Let's take the example of Cinder:

* CINDER_CEPH_POOL
* CINDER_CEPH_USER
* CINDER_CEPH_POOL_PG
* CINDER_CEPH_POOL_PGP

** Only works on Ubuntu Trusty, Fedora 19/20 or later **

Change-Id: Ifec850ba8e1e5263234ef428669150c76cfdb6ad
Implements: blueprint implement-ceph-backend
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
Fix exercises for Trove

Reasons:
 - trove.sh should use native python client to exercise Trove API

Changes:
 - adding datastore and datastore version exercises

Change-Id: I041465e5bda6ad9ec3f597ecc290612b8baef09c
Closes-Bug: #1346743
stop leaking service as a global var

the tls code was leaking out $service as a global variable, which
was causing all manner of confusing errors in grenade trying to
use that variable name. All lower case vars should be localize.

Change-Id: I74fa597f20ee7c714cab83490b42d874ea93db02
add is_keystone_enabled

This is missing, and makes logic much harder for the grenade use
case.

Change-Id: Ib6670096d190e69273256b87e6a67e2b46945a0d
Move SERVICE_PROTOCOL from stack.sh to stackrc

This ensures that SERVICE_PROTOCOL is available to other consumers
of the devstack environment like grenade.

Change-Id: I702d7d239e50dd1446d55c076c7a7c57768486ff
Closes-Bug: 1335953
Merge "Fixed NO_UPDATE_REPOS variable usage"
Merge "Add DVR support to DevStack"
Add support for ironicclient bash completion

This commit adds statement to copy the file /ironic.bash_completion
file to the default bash completion directory.

Change-Id: I436d46dbac0895a8ca14d085fec041981435936c
Remove configuration parameter EXTRA_BAREMETAL_OPTS

According to the comments in stack.sh the configuration parameter
EXTRA_BAREMETAL_OPTS should be removed during the Juno cycle.

Change-Id: I8564d16e56d1f77d3afa4af9a50fbffa3da8bfe5
Remove configuration parameter Q_SRV_EXTRA_DEFAULT_OPTS

According to the comments in stack.sh the configuration parameter
Q_SRV_EXTRA_DEFAULT_OPTS should be removed during the Juno cycle.

Change-Id: I2a00c924cd51dab00b56cdab1e48e32ffa007de4