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
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
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
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>
Install gettext from apt on Trusty (Ubuntu 14.04)

The binary 'msgfmt' is not installed as part of python-gettext for Trusty
(Ubuntu 14.04), so gettext needs to be installed from apt.

Change-Id: I415814559d82be453e978a0d92a0cdb38f105683
Closes-Bug: 1331328
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
Fix log_error calls

There is no log_error function, these should have been calls to
die() all along...

Change-Id: I6d853711bcf645de5ceb306f980ef654d5fabac5
Clean up local variable usage - git functions

Cleans up the git-related functions in functions-common

Change-Id: I5f1851c0473e92c61b1e8af60e7ef32c3019f719
Clean up local variable usage - Backends

Combines cleanup for mysql, postgresql and rpc

Change-Id: I37b928a669146671c946fc1ccb8e3ef1a27a3891
Fix cinder volume type creation and rename variable

Commit 7062b12b9b91a1eb405d7079c62b62b0de59109f introduced
a bug where the default_volume_type is set to 'lvm' but
that is not the volume-type that's actually created, that
is 'lvmdriver-1' in gate runs, so we see a ton of
VolumeTypeNotFoundByName for the 'lvm' volume type in the
cinder-api logs.

This simply sets the default_volume_type to the volume
type that's created in the create_volume_types function.

Also renames the default_type variable to default_name to
be consistent with variable naming in the rest of the
cinder script.

Change-Id: Ib35ffc09f6582354010ac8ca35da581ea508877a
Closes-Bug: #1348786
Use Q_PORT variable rather than hardcoded port

Change-Id: I647c6bdf14f2551bd120821a16044cec2b03b197
closes-bug: 1348834
Clean up local variable usage - Nova

Change-Id: Ia4896746a2f574b7fcb95f85640e0d31c50c372b
Avoid uploading trove guest image twice

When creating the trove datastore, get the guest image id from glance.
The trove guest image gets uploaded along with all the other
images specified in $IMAGE_URLS. It is not necessary to upload
it again in init_trove.

Also: add xenapi case to stackrc for trove guest image

Closes-Bug: 1339818
Change-Id: I2973af27ab93182fcd674f874daba1036d767d52
devstack.org site updates

Includes:
* Change Precise to Trusty
* Add the new plugin phase
* Remove deprecated config options
* much, much more

Change-Id: I0385f18a3256ad37a611e505e49572f27b3bcc10
neutron: set connection string in neutron.conf

it's not recommended to put the connection string in plugin specific
config file [1].

[1]:
https://github.com/openstack/neutron/blob/master/etc/neutron.conf#L534

Change-Id: I3c9d7fe3d34385185f483b509dadf7e2ba920a45
XenAPI: Fix declare definition

Some versions of bash do not initialise a variable with declare -a
therefore with set -u bash can terminate the script.

Be more verbose in declaring the array if it is not set

Change-Id: I6ec2b6e986aeffe539a2ab93432fa7af9e5a4f5d
Clean up local variable usage - upload_image()

Cleans up the rather coplex upload_image() function

Change-Id: Ie1ef200b905dd5d17ef887390d620817208f2bf5
Fixes tempest script to accomodate Storage Vendor Names with spaces.

Change-Id: Ic651fbffaba9a9723ab572e8e8b732f6bea6d1c6
Closes-Bug: 1329597
vxlan default ml2 tenant network type

ovs vxlan become supported on most distribution and provides
isolated `multi tenant` networking without special `vlan` aware switch.

In single node deployment you will just see the br-tun ovs bridge
created.

In multi-node setup you might need to adjust the MTU settings.

If your physical switch supports >=1550 MTU size
 probably you will not see any issue.

If your guest image honors the MTU size offered via dhcp,
you can adjust your dnsmask settings with the correct (likely 1450 byte)
MTU size.

cirros (udhcp) does not honors these setting, you might need to
set lower MTU size on br-ex and/or adjust network_device_mtu option
in your local.conf.

The default changed, because it will be used with the multi-node neutron
jobs.

If you want the original behavior for whatever reason add these to your
`local.conf`:
ENABLE_TENANT_TUNNELS=False
Q_ML2_TENANT_NETWORK_TYPE=local

Change-Id: Id33ff0eca44905b3996618f1035ad984a6819b5b