Add support for oslo.vmware

Change-Id: I2162a339b1869c27850afcda6be3c4e11de94e0e
Add GIT_TIMEOUT variable to watch git operations

During my CI testing of each devstack change I can often see git get
itself stuck and hang indefinitely.  I'm not sure if it's transient
network issues, or issues at the remote end (seen with both github.com
and git.openstack.org) but it hits fairly frequently.  Retrying the
command usually gets it going again.  Searching for "git hanging" and
similar shows its not entirely uncommon...

This adds a watchdog timeout for remote git operations based on a new
environment variable GIT_TIMEOUT.  It will retry 3 times before giving
up.  The wrapper is applied to the main remote git calls.

Change-Id: I5b0114ca26b7ac2f25993264f761cba9ec8c09e1
Removes the dependence with aptitude

Removes the dependence with aptitude by replacing
the call of:
  aptitude purge -y ~npackage by apt_get purge -y package*

Change-Id: I08875ffad9dc6293047827666f02453a355b16ea
Closes-Bug: 1281410
reset prereqs status on clean.sh

when running a clean, we should really reset the prereq status as
well, as this should start us back from zeroish.

Change-Id: I5fae151ab13bcf7fb82feb1e91eed19e0215dc59
Move setup_develop() to common

It's in the wrong place for current Grenade

Change-Id: Ia670198332af5945a56d708cd83d9239df0c2287
Add variable to configure the run of IPv6 Tests

Related Tempest change:
  https://review.openstack.org/#/c/74933/

Closes-bug: 1282387

Change-Id: If9e9c5319c484dc4c00ed3bdcefc132410719b87
Create stack_domain_admin user

Create an additional service user for Heat, which is a domain admin
for the stack_user_domain - this is necessary since the normal service
user cannot manage the projects/users in the stack_user_domain when
keystone is configured to use the v3cloudsample policy (such as in
gate integration tests).

Change-Id: If59c11a74145b9bd02f78a7e0882afe1b0a72e40
remove sysstat & pidstat

dstat is far cleaner for getting results out of the environment,
and covers the bulk of our use cases for sysstat and pidstat with
a much better ui.

devstack is allowed to be opinionated, so become opinionated here.

Change-Id: I21ec96339dcd704098512fdafd896738f352962d
Add end-of-file checks to bash8

Add two end-of-file checks to bash8.  Firstly, alert if heredoc hasn't
finished.  Some heredocs were done like:

---
sudo bash -c "cat <<EOF > foo
...
EOF"
---

(A better way to do this is "cat <<EOF | sudo tee ..." as it retains
the usual heredoc layout in the code).

The trailing quote was throwing the matching in bash8 off and it kept
appending the next file as if it was still part of the heredoc.  To
avoid this, we check if we're still in a heredoc when we start a new
file; if so raise an error and reset the heredoc status fresh.  We
track the state of the previous file, line and lineno so we can give a
good error.

---
E012: heredoc did not end before EOF: 'cat <<EOF'
 - lib/trove: L221
---

This includes fixes for the existing problem heredocs.

A similar EOF check is to ensure the previous file ended with a
newline.

---
E004: file did not end with a newline: '$MY_XTRACE'
 - lib/neutron_plugins/embrane: L40
---

This requires only one fix

Change-Id: I5e547d87b3921fc7ce6588c28f074e5c9f489c1f
Run yum repolist commands as root

Otherwise you get yum errors like [1] when you run stack.sh as !root.
The solution is to run yum commands as root so it can access the right
certs

[1] https://access.redhat.com/site/solutions/312413

Change-Id: I54b0df13508c50aba67e23da11953c536933917a
Merge "reset prereqs status on clean.sh"
Move enablement of rhel6-optional repo earlier

Change 4f1fee6eae300a3384900df06ebc857e95854eb0 added the RHEL6
optional repo in fixup_stuff.sh, but it turns out that doesn't get run
until after the package prerequisites phase.  Move this into stack.sh
with the RDO repo setup.

Change-Id: Iae0df85fa94c6c1b6f497dd29fda90d03b903a41
Merge "remove sysstat & pidstat"
Make python-guestfs NOPRIME & install for libvirt

The libguestfs dependency tree includes a number
of packages that we may not want or work everywhere, such as fuse.

Now python-(lib)guestfs will install from lib/nova_plugins/hypervisor-libvirt

Change-Id: I6c3a614010ee8d65813eec66a56680def622514c
Insecure check if keystone is up

If we start keystone with an SSL endpoint then the curl check to see if
it is running will fail because it cannot create a secure connection.
This check can be done insecurely as all we care about is that the
service has started.

Change-Id: I826753d4d46e9956f443110029346bc70282951a
Don't use --skip-redirect for cinder restart on rhel6

RHEL6 doesn't support this flag so the restart fails.  Not exactly
sure why it is required, seems unchagned from the initial
commit 67787e6b4c6f31388cbee6d83b67371b31c443d4

(found running stack.sh with -e per [1])

[1] https://review.openstack.org/#/c/71996/

Change-Id: Ib34c3663409d7b96b932286cb5a6974e940075d3
Merge "Create stack_domain_admin user"
Merge "Removes the dependence with aptitude"
Merge "Move enablement of rhel6-optional repo earlier"
Fix heat role create error

https://review.openstack.org/#/c/76036/ changed the user creat commands,
missed the argument to --user

Change-Id: Iaf10ef80a2fb0227dd66a314e7ec253dfb4dc4fe