Match novaclients transitive six dep

Because of the way pip does dep resolution the "highest" dep
specification wins. In this case the nodepool specified six dep trumps
the six dep that we have transitively via novaclient. Unfortunately this
means that if you have an old six already installed and novaclient needs
a newer version that newer version is not installed.

Fix this by moving nodepools six dep forward to match novaclient.

Change-Id: Ic6f3611bea8c47bdc40757d134670c5f0ed8dc13
Fix test discovery by new testtools

New testtools finds tests in tests/__init__.py and attempts to execute
them. Stop this from happening by not inheriting from the base test
class in __init__.py. Instead mix in the base test class where we
actually need to run the tests in test_allocator.py

Change-Id: I9733ac407d415c90e7dcaa2c6e6a972e75ce6d42
Merge "Match novaclients transitive six dep"
Support install phase with nodepool

Some operating systems are not available as cloud images. To be able to
create nodes of such operating systems, we must install them first on
top of, or by replacing the standard os. This install phase can
include several automated restarts of the node.

To track the installation of the operating system we need more than the
instance's status so an ssh connection is established to check the
existence of a stamp file.

The node preparation script might choose to shut down the node before
the snapshot is taken to guarantee the filesystem's consistency. A step
was added just before snapshot to make sure that the instance is in the
shutoff state before performing the snapshot.

Was I107c7ada43f5650bfaa81ca99732405e749d158b (abandoned)

Change-Id: Ic8044a8fa38a8c55b1ca9010371d89b0a3766e9c
Support nodes with launch condition

Some special nodes when started from an image will not be instantly
available, they might be busy for a while. Nodepool should wait, until
the nodes are ready.

An ssh connection is established to the node and the node is considered
to be ready when a given file has been found on the filesystem of the
node.

Was I67fd9b92e838f8dfc1a4d17bef0390677e36591c (abandoned)

Change-Id: Idc0981c06f9092324362fa571a5ec5deb8bcbd3b