Improvements to DevStack's XenServer scripts

I have ensured:
- template gets re-used on second run
- template includes XenServer tools, and custom user accounts
- take snapshot before first boot, for easy re-run
- make host_ip_iface work with either eth2 or eth3
- make ssh into domU checks looser
- above is all ground work for improved jenkins tests
- added some more comments to make it scripts clearer

Change-Id: I5c45370bf8a1393d669480e196b13f592d29154f
Make devstack work with xcp-xapi package on Ubuntu 12.04

- allow you to configure the xenapi_user (often other than root)
- allow you to disable the guest installer network
- install the plugins in the xcp-xapi location
- use alternate webserver location when adding the preseed file
- skip the centos specific ip forwarding configuration
- make use xcp inventory, if no xensource-inventory is found
- correctly deal with kpartx to mount the VM VDI in manage_vdi

Change-Id: I8d51725fc97f0bcaa27a46f7a7ced13c369c809e
Remove unused tools/rfc.sh

OpenStack now uses git-review from pip

Change-Id: If9f59738b807f36168076dc5b1c6bfb8cc780536
Move the ubuntu template generator to use Squeeze.

Newer versions of XenServer don't have lenny templates, so moving
to use Squeeze.

Change-Id: I95473d4cdc6caad86bc53799fe2ecbedd9223026
Set sql_connection in glance-api.conf

The v2 API uses the database directly from the glance-api server. We
need to provide the same connection credentials as we set for the
glance-registry server.

Change-Id: I5093a9f7978f627e1dee4047b1f45383f9e4e7da
Merge "Set sql_connection in glance-api.conf"
Fix multiple distro dependency bug

get_packages() icorrectly handled multiple distros listed in a dependency
file, such as:

    xyz  # dist:fred,barney,wilma

Change-Id: Ib1178b2aaaddafe581902b32776180bb0b41f1ae
Set default image for exercises

The exercises search for an 'ami' image to run; when multiple images are
loaded this fails.  Rather than try to guess or just use the first one
we set the default image name to the cirros image that we load by default.

Change-Id: Iae91a011ca9c42a7715747a68e0deba0dba20835
Merge "Improvements to DevStack's XenServer scripts"
Merge "Make devstack work with xcp-xapi package on Ubuntu 12.04"
Merge "Move the ubuntu template generator to use Squeeze."
Use swift config files shipped with swift.

- Fixes bug 1004548.
- Add function iniuncomment.
- Trying to match the indent as the other stack.sh file.

Change-Id: I70339f7b4c0dd3ef8a018daecb2e1b3fb72c741b
Remove pips.

All of the requirements should now be specified in the pip-requires
of individual projects, which will be installed via setup.py install.

Therefore, remove the few remaining pip dependencies from devstack.

Distutils has a problem installing django 1.4 when django 1.3 is
already installed via debian packages.  Therefore, remove the
dependency on the django debian package (which installs 1.3
and is obsolete anyway).

Change-Id: Ia4dc1f4c94c7f5c0811bafcf41dadc5d629a516d
Use pip to install python depends.

When we use python setup.py develop, if there is a packages not installed
already, it means distutils/easy_install installs it. Unfortunately, those
are both way more stupid than pip. Instead, get pip to install missing
depends, then run the setup.py develop so that distutils doesn't need to
install things.

Change-Id: Ifad3bbc8e9eac0b14dc5bb40175cf2bd45b64b00
Merge "Remove pips."
Always setup rootwrap sudoers entry

Setup /etc/sudoers.d/nova-rootwrap in all cases, and not just
when devstack is not run as root. Fixes bug 1011652.

Change-Id: Ib4cdeaa282f01cf2ce98119618f232c91b6e8db4
Add BeautifulSoup dependency for Horizon

This is a workaround for an undocumented dependency on the Python
BeautifulSoup package.  It fixes both Ubuntu and Fedora builds.

Fixes bug 1010968

Change-Id: If7f5d55c38d3b9ab677378c57839bc8f03898e2f
Install python-swiftclient when installing swift.

- Fixes bug 1002789.

Change-Id: I8ee54652c6a38c7c226c820366897e53807f664d
Fix issues when working through an outbound proxy

* reqork setup-develop() to handle proxy operations and empty dependency lists
* use keystone to get admin token (eliminate a direct curl invocation)
* check for cached image files of 0 bytes and re-download if needed

Change-Id: Ief356667ed3ef8d05c6604f12513ae81f68cec04
Merge "Always setup rootwrap sudoers entry"