Allow instance logging to use just a UUID.

Sometimes all you have is an instance UUID, and its not worth
building an instance dict just for logging. Allow callers to pass
just the UUID if that's all they have. Resolves bug 975774.

I have included a sample use as well.

Change-Id: I1eb50515d837869ed7fdc5e766d8700be7da3286
Cloudpipe tap vpn not always working

Fixes bug 975043

Since Essex, all instances will have an eth0 MAC address in the range
of FA:16:3E, which is near the end of the MAC address space.

When openvpn is started, a TAP interface is created with a random
generated MAC address. Chances are high the generated MAC address is
lower in value than the eth0 MAC address. Once the tap interface is
added to the bridge interface, the bridge interface will no longer have
the eth0 MAC address, but take over the TAP MAC address. This is a
feature of the linux kernel, whereby a bridge interface will take the
MAC address with the lowest value amongst its interfaces. After the ARP
entries expire, this will result in the cloudpipe instance being no
longer reachable.

This fix, randomly generates a MAC address starting with FA:17:3E, which
is greater than FA, and will thus ensure the brige will keep the eth0 MAC
address.

Change-Id: I0bd994b6dc7a92738ed23cd62ee42a021fd394e2
HACKING fixes, sqlalchemy fix.

Add exceptions to hacking.py make sqlalchemy stuff legal and prevent
clutter.

Change-Id: I44b100b4c0c4dfcec81beea7aba2d8598d5a08d0
Information about DifferentHostFilter and SameHostFilter added.

Change-Id: Ice5f03db5f3d24455c43af86bf5722b863cbe959
Add index to fixed_ips.address

Addresses one of the Critical items in bug #964824

Add migration to add an index to fixed_ips.address to remove a table
scan from active code.

Change-Id: Ic5a56bbddd0d434f8a37ad049753e6d25c7ca760
Give all VDIs a reasonable name-label and name-description

Add image id to cached glance images as well as disk type so it's easy
to see if a VDI is an os, swap or ephemeral disk.

Change-Id: I7c1e21e26a98bd38898483f4230ede3099c6099d
Create compute.api.BaseAPI for compute APIs to use

Fixes bug 960226 where compute.api.HostAPI called non-existent methods

Regression was introduced here:
https://review.openstack.org/#change,5252

Added tests for HostAPI

Change-Id: Id17927bc608ff638ea9b0b5509f0f0bb14503f85
Remove unecessary --repeat option for pep8.

Fixes bug 977489

--repeat became the default in 0.7; since we're now requiring 1.0 or
above, this can go away.

Change-Id: I85ee8ab274594ce96ece6610247dfd8a6f082af5
Merge "Add index to fixed_ips.address"
Merge "HACKING fixes, sqlalchemy fix."
Merge "Information about DifferentHostFilter and SameHostFilter added."
Merge "Remove unecessary --repeat option for pep8."
Merge "Give all VDIs a reasonable name-label and name-description"
Delete fixed_ips when network is deleted

 * adds failing test
 * adds exception that is raised when network is in use
 * fixes bug 754900

Change-Id: Ib95dc5927561b979b1eea237d4d6dc323483d4a5
Merge "Create compute.api.BaseAPI for compute APIs to use"
Merge "Cloudpipe tap vpn not always working"
Merge "Delete fixed_ips when network is deleted"
Merge "Allow instance logging to use just a UUID."
Refactor nova.rpc config handling.

This patch does a couple of things:

1) Remove the dependency of nova.rpc on nova.flags.  This is a step
toward decoupling nova.rpc from the rest of nova so that it can be moved
to openstack-common.

2) Refactor nova.rpc so that a configuration object is passed around as
needed instead of depending on nova.flags.FLAGS.

This was done by avoiding changing the nova.rpc API as much as possible
so that existing usage of nova.rpc would not have to be touched.  So,
instead, a config object gets registered, cached, and then passed into
the rpc implementations as needed.  Getting rid of this global config
reference in nova.rpc will require changing the public API and I wanted
to avoid doing that until there was a better reason than this.

Change-Id: I9a7fa67bd12ced877c83e48e31f5ef7263be6815