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
Don't try to regenerate existing ssl certificates

Rerunning stack.sh after some failure unrelated to ssl setup will fail
due to certificates already existing in the CA index. Don't regenerate
them instead. This is a workaround making devstack development easier
rather than something typical user would run into.

Change-Id: Icfd4cb5132c8c9297eb73159e592b7006295184f
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 - Heat

Change-Id: Ia912a8d3ea764dc713e8fdc380175ab98f887a60
Clean up local variable usage - Ironic

Change-Id: I7a455299c6aa079de02b75d4d53df43074880ff7
Clean up local variable usage - Swift

Change-Id: Id02ebdfa5cb3f6c763293876c6bb031184ebd663
Clean up local variable usage - Keystone

Change-Id: I8e5506e9d29879459158ef796854ce7a67107d89
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
Enable custom BUILD_TIMEOUT

The BUILD_TIMEOUT is hardcoded in lib/tempest. This patch
enables people to pass a custom BUILD_TIMEOUT parameter

Change-Id: I260c32e7ed6bf9a49a6bc40272a5535afbca2731
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