Fix xml metadata for volumes extension.

Fixes bug 1040891

Change-Id: I3a5d46af18f764e86ab457071d2b3afafdcdaa24
Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com>
Allow for deleting VMs from  down compute nodes.

Fix bug 872899

If compute node service_is_up returns false, just delete the VM from
the database. If compute node recovers, setting
running_deleted_instance_action=reap will clean up the node.

Change-Id: Ibb5f1e22c2e482d304c59a485a04b882ead0c67d
Re-attach volumes after instance resize

Fixes bug 1051600.

Update the compute manager to pass block_device_info to three
additional driver entry points and update all virtualization drivers
to accept it as an optional argument.

Within libvirt, migrate_disk_and_power_off() will now iterate and disconnect
any existing connections.  finish_migration() simply updates its use
of to_xml(), passing block_device_info, which returns a libvirt XML
fully populated with volumes.  Finally, finish_revert_migration() no
longer uses the on-disk XML file, instead generating it via to_xml; as
the former lacks volume configuration.

Change-Id: I7dccd03ef9cc7d2848f07764d4def3787e41e202
Fix xml metadata for volumes api in nova-volume.

Fixes bug 1040891

Change-Id: I6295e4084adc33999bfdf66728623b278895b2d6
Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com>
Add a tunable to control how many ARPs are sent.

This new flag, send_arp_for_ha_count, controls how many
ARPs are sent when binding a floating IP address to an
instance.  Also increased the default number to 3 from 1,
to make this more robust and guarantee other network
devices see them.

Fixes bug 1043796.

Change-Id: Ib9118fcc5334ef4a8c5d7a5e765364e26fea68da
Move api_samples to doc dir

The generated api_samples aren't used for the tests, they're only
included in git so that they can be synced into the docs. Move them
to the doc/ dir to make that more clear since I keep forgetting.

Change-Id: I0851ac0ee234dc1e8740666716733e05f856ddec
Fix synchronized decorator path cleanup

Fix bug 1047029

nova/tests/nova.compute.manager/ folder was being left behind during tests

Change-Id: If56f719ebcb1f5d1d57a2a36c5f4cb59c7a1e285
Allow cinder catalog match values to be configured

Depending on how a deployments keystone catalog is set up, the
default values passed in to the cinder client may be incorrect.
This adds a configuration option to specify exactly where to look
for the cinder endpoint in the service catalog.

Fixes bug 1047033

Change-Id: I93324b6930f384306311b0bbac375a9224283fbc
Fix EC2 cinder volume creation as an admin user.

Updates the EC2 API _format_volume function so that it
only tries to add project_id and host to responses if those
keys are present.  This resolves a KeyError that would occur when
using Cinder because volumes from it don't contain this
information.

Fixes LP Bug #1046464.

Change-Id: I56b977cfd1ae482f2559a3f1fda8d1543d3ea227
Merge "Move api_samples to doc dir"
Merge "Fix xml metadata for volumes extension."
Generate a flavorid if needed at flavor creation

When creating a new flavor, it's now possible to omit flavorid. In this
case it will be automatically generated using utils.gen_uuid().
nova-manage and OS API updated accordingly.

Fixes: bug #1043410
Change-Id: Ibf9229599dac953177fbf1ffac5242ed716142db
Merge "Allow cinder catalog match values to be configured"
Specify the conf file when creating a volume.

Updates the tgt-admin command to actually use the config file
we create for the volume being created.

This fixes an issue introduced in
66f6a9edce3ccd624aba5d2a6bf3362901ed57f7 which breaks iscsi
volume creation.

Fixes LP Bug #1046985.

Change-Id: I58bd23ef6dd0055a329ace8e4b09d86886aa38e9
Simplify setting up test notifier

Rather than duplicating the test notifier module name, just use the
__name__ attribute on the module itself.

Also, where we were using stubout to set the notification_driver
flag, switch to using cfg's set_override() mechanism.

Change-Id: I46f705f71a4a220c235618491e06602fa4ea7a47
Merge "Fix synchronized decorator path cleanup"
Merge "Simplify setting up test notifier"
Implement paginate query use marker in nova-api

1.add limit and marker param to db.instance_get_all_by_filters()
2.set the filter use marker
3.execute limit before sqlarchmy get_all()
4.add testcase 'test_db_api.test_instance_get_all_by_filters_paginate'
5.related testcase:
    test_get_servers_with_marker()
    test_get_servers_with_limit_and_marker()
  in nova/tests/api/openstack/compute/test_servers.py
    test_instance_get_all_by_filters_paginate()
  in nova/tests/test_db_api.py
6.add InvalidSortkey exception

Implement bp:efficient-limiting.

Change-Id: Iea3eeb7b51194b6017d624506aafc6469d7338e4
Fake requests in tests should be to v1

v2 does not exist, yet.

(cherry-picked from cinder commit ac1b465)

Change-Id: Id3a332c4d78c87882a7db1a8b98479a3881b0a5f
Use volume driver specific exceptions

Change generic use of exception.NovaException in the nova/volume directory
to specific exceptions. The exceptions used in this patch are:

 exception.VolumeBackendAPIException
 exception.InvalidInput
 exception.InvalidVolume
 exception.VolumeAtatched

Patch includes updates to the appropriate tests as well.

(cherry picked from cinder commit 3905a99)

Change-Id: I10407ff3f5babe64e88f445d3529269b7665ee16