Improve exercise robustness

* Test returns and exit codes on most command invocations
* Add start and end banners to make output easier to find in
  long log files
* Adds die_if_error(), die_if_not_set() and is_set() to functions
* Add some function tests

Fixes bug 944593

Change-Id: I55e2962c5fec9aad237b674732b1e922ad37a62e
use --silent-upload for glance - bug 945454

Change-Id: Ib96b38223e21644e3bfbbb3836eb24cbd5d33b49
Merge "Unify the way devstack configures networking for libvirt and xenserver"
Merge "Allow people to specifiy the XENAPI_CONNECTION_URL"
fix kvm configuration for jenkins

Change-Id: I46cd63f2ff1eaf24872486f1b0bcb16f2e6f1dd6
Avoid duplicate "/tokens" path in auth_url.

The "/tokens" path is explicitly appended to the OS_AUTH_URL
by the configure_tempest.sh tool, but this is also appended
internally by glance:

  https://github.com/openstack/glance/blob/master/glance/common/auth.py#L111

leading to a duplicated "/tokens/tokens" path.

Change-Id: I2ea49289f7e1976346eff220dc3d1664bdad4fb0
Set nova config allow_resize_on_same_host

Include --allow_resize_on_same_host in nova.conf to allow the
tempest resize tests to proceed against devstack.

Change-Id: Ifd030ed591d63146c21e640240398a81cee194cd
Merge "Set nova config allow_resize_on_same_host"
Cleanup keystone_data.sh

* Remove the compatibility code for older keystone client
* Reformat commands similar to keystone sample_data.sh
* Improve documentation

Change-Id: I2fc544555a1b936d28f11c3c4eaaf885b2cb6d17
Create nova.conf in INI format (rather than flagfile)

* Rename EXTRA_FLAGS to EXTRA_OPTS
* Is dependant on https://review.openstack.org/4946 (MERGED)

Fixes bug 938924

Change-Id: Idee4f86e7846cff3529e173526d3ccb2289472f0
Merge "Avoid duplicate "/tokens" path in auth_url."
Merge "Cleanup keystone_data.sh"
Sets nova auth strategy to keystone

 * Prepares for https://review.openstack.org/#change,4955

Change-Id: I9bacd36d88dc434b1799336e7b2bd8fbf4354bf3
Use the suggested default scheduler

Change-Id: I99de26ab653e670576e0825ad35b0a67eacda6f7
Fix dependency list generation corner cases

* Handle empty install lists in apt_get() and pip_install()
* pip_install now uses get_packages() to get the dependency list

Fixes bug 948714

Change-Id: I174a60976df18c670eab2067edcd1871c51d07d6
adding default bind_host to enable change 4880

Change-Id: I949effe56cad7ae466a458da48bc85fe1c110138
Ensure that ip_forwarding is always enabled for compute and network

Libvirt gets this in most cases, but it can be disabled.  This is
belts + suspenders + super glue...

Fixes bug 885274

Change-Id: Ifb8d627689800b23cce02a623caa525cd17e507d
Configure nova-rootwrap

* Nova runs as the same user as the rest of devstack and due to the
  sudo configuration for devstack itself it may be possible that
  root subprocess execution that doesn't go through utils.execute() will
  not be caught by the expected sudo failure.

Fixes bug 944373

Change-Id: I0554b3850a59d065059f8ad349c8ff8fb7cfa132
Improve devstack docs for Xenserver

Minor fixes to scripts

Fixes bug 943508

Change-Id: Iaf12b9d67efa78623e8253599010f60192b4af64
Moves python-cloudfiles dependency back to PIP.

For reasons currently unknown, apt-get seems to install
an unusably old version of python-cloudfiles in some
small subset of cases. To avoid that frustration for the
users it does affect, this patch moves python-cloudfiles
back to being installed by pip instead.

Fixes bug 931269.

Change-Id: I4c2e17ddcc0c0d327b3810b4fd4db117076df069