Fix floating ips with external gateway

If dnsmasq is configured to use an external gateway, then floating
ips on other interfaces do not work properly. This is because
outgoing traffic is no longer snatted to the floating ip.

This patch fixes it by adding an ebtables rule to force traffic
from ips that have a floating ip associated to route instead
of bridge.

Fixes bug 1096985

Change-Id: I8e4904660d42fe51c44b66686bed9f5d622693bd
Add version constraint for cinder

Cinder client usage requires the "retries" parameter introduced in
cinderclient-1.0.1. This should be a constraint in pip-requires.

Change-Id: I36e8a363c9d4bb7cc4ecfda85644fc4284f17471
_sync_compute_node should log host and nodename

ResourceTracker:_sync_compute_node logs the host name when it
creates or updates the record for a compute node. However, with
baremetal, one compute_node (host) may actually manage many
separate physical nodes, identified by unique nodenames.

This patch updates the LOG.info calls to include the nodename.

Change-Id: I69c66b84394b2a740a7ca9d2781015a7e1ff9998
Fix an error in affinity filters

Fix a call to compute_api.get_all to properly exclude deleted instances.
Add tests to prohibit this error in the future.

After some thought, this can be further optimized to let the instance
query do all the filtering/matching.

Resolves bug 1107156.

Change-Id: I6d6a6ba44d38d363489853d0407ad4cc94046656
Add Region name to quantum client

Looks like multi-region setups need the region name

Fixes LP# 1081037

DocImpact

Change-Id: Id8d5b1e1adef75a93df9a3527fd6da463fed0d09
Finer access control in os-volume_attachments

Allows policy.json access controls to authorize requests for specific
actions, rather than just being an all or nothing control for the entire
extension.

Bug 1108222
DocImpact
Change-Id: I78e1f596f22434a73bec3952ed024e4d58faac51
Fix authorized_keys file permissions

Explicitly set the file permissions to be 0600

Fixes LP# 1107908

Change-Id: Ife44deff41959180d31e7e88c29233e9b8cb0af2
Change ''' to """ in bin/nova-{novncproxy,spicehtml5proxy}

Standard practice is for doc comment strings to be enclosed
in """ rather than '''. bin/nova-{novncproxy,spicehtml5proxy}
were exceptions to this.

Change-Id: I689063af2a51b26c971336b6fdbe60d5695b3ebc
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
validate specified volumes to boot from at the API layer

This causes the create to fail fast instead of putting
the instance into error later in the process.

Related to bug: 1069904
Change-Id: I5f7c8d20d3ebf33ce1ce64bf0a8418bd2b5a6411
Adds API Sample tests for os-instance_usage_audit_log extension.

Fixes Bug 1091752.
Partially implements bp nova-api-samples.

Change-Id: I2db83ac32283795ab0cbf254c6adbd352806b297
Add instance_fault_create() to conductor

This moves the use of db.instance_fault_create() from the compute
utils to conductor.

Related to blueprint no-db-compute

Change-Id: If089ce1623374a259a2d63a99befc46fa3a130b6
Merge "validate specified volumes to boot from at the API layer"
Keep flavor information in system_metadata

This patch copies the instance_type information into an
instance's system_metadata on creation. This provides a way
for us to recall the attributes used to create the instance
even after the type may have been deleted.

This adds db migration 153, which generates flavor information in
system_metadata for existing instances in the database, as well as
brings a test to make sure that works.

Change-Id: Iad9d640b44df5f3831de58f9e800bcf42bc0610e
erase outdated comment

the (0,0) is no longer only used by tests, the _modify_rules method uses
it; see commit 7d7fcf1d

Change-Id: I3fdee5677ee92ab80ab85202805a4e9bbfca2d20
Move task_log functions to conductor

This moves the use of the following functions in compute/utils to
the conductor:

  task_log_get()
  task_log_begin_task()
  task_log_end_task()

This removes the db import from compute/utils.py

Related to blueprint no-db-compute

Change-Id: I6ed0563969afee78d9f2970308bc7f91e5690159
Libvirt: Add support for live snapshots

blueprint libvirt-live-snapshots

Implements support for live snapshots when QEMU 1.3 and Libvirt
1.0.0 are available. This implementation may function with other
hypervisors, at which point _check_use_live_snapshots can be
adjusted accordingly.

At a high level, the process is as follows. First we create a
destination file for the snapshot. This file uses the same backing
file as the origin disk and is of the same virtual size. We do this
since the combination of blockRebase and "shallow" copies are the
only bug-free method available as of QEMU 1.3 (Vish has submitted
patches upstream). This process ultimately produces a CoW file,
representing only the current delta between the root disk and
backing file. The final step converts the CoW delta to a backless
image matching the format of the origin disk.

Flags: DocImpact
Change-Id: Icba53336556295722c3f8b7345e6cd09d8ccfed9
Merge "Finer access control in os-volume_attachments"
Merge "Add instance_fault_create() to conductor"
Fix get and update in FlavorExtraSpecs

Fixes bug 1105170
Added serializer test
Change-Id: I365a81e17319fa96d53b53eafb6326fff8bde288
Removed print stmts in test cases

Fixes bug 1108978

Change-Id: I5113e67bad1aaafdbaa0adc202cac97ba8d0dfdb