Add caching for ec2 mapping ids.

Requests to map ec2 ids can be slow when there are a large number
of instances. These shouldn't ever change so cache them in memory
for a week. The one week timeout is simply to prevent memory from
growing uncontrollably.

Fixes bug 1157437

Change-Id: I3f1c68959a933a7aaa50f122c34a716264c8722d
Change type of ssh_port option from Str to Int

The type of CONF option virtual_power_ssh_port was incorrectly defaulted
to Str. This can cause Paramiko to raise when casting to %d.

Fixes bug 1157824.

Change-Id: I30ddd1ff0da45f8392085249f1bd2a539b201a7e
Change arguments to volume_detach()

Most compute API calls accept an instance object.  To be compatible with
cells, volume_detach() should as well.  Also change it to accept the
volume object, instead of just a volume ID.  This lets us proxy the
volume object to child cells a bit more easily.

This removes 2 skipTests that we have related to volumes and cells.

Fixes bug 1157408

There was also a check that if instance_get_by_uuid() returned no
instance, it VolumeUnattached should be raised.  However, this check
would never work as InstanceNotFound would have been raised.  This
patch also corrects that.

Change-Id: Ide35ad5d8e147f6bd21b5840b901363dab0eae38
Merge "Change type of ssh_port option from Str to Int"
nova-manage vm list fails looking 'instance_type'

The recent set of changes to remove the join on instance_types and get
data from instance_system_metadata missed out the use in
"nova-manage vm list"

fixes bug:  #1158352

Change-Id: I5b06a4fef34331abe40e7429b3abda47070bcbbc
Make nova.virt.fake.FakeDriver useable in integration testing

With this change nova.virt.fake.FakeDriver can be used for scale testing
using devstack. By setting 'compute_driver = nova.virt.fake.FakeDriver'
in nova.conf and disabiling quota and other limits, we can load up nova
to think it is running 1000's of instances.  This particular scenario is
analagous to how the baremetal driver will work (one machine managing
100's to 1000's of instances).

Make nova.virt.fake.FakeDriver use CONF.host for hostname.

Change-Id: I731ca2968176b4e39dd2fe7fc99f479cc568398b
Merge "nova-manage vm list fails looking 'instance_type'"
Merge "Add caching for ec2 mapping ids."
Merge "Make nova.virt.fake.FakeDriver useable in integration testing"
Merge "Change arguments to volume_detach()"