The fix was tested and verified on multi-node deployments of Austin and Bexar with MySQL, and it was also verified that the change does not affect sqlite users (dev environment testing only).
Example output:
VolumeTestCase
test_concurrent_volumes_get_different_targets ok
test_create_delete_volume ok
test_multi_node ok
test_run_attach_detach_volume ok
test_too_big_volume ok
test_too_many_volumes ok
XenAPIVMTestCase
test_list_instances_0 ok
test_spawn ok
XenAPIVolumeTestCase
test_attach_volume ok
test_attach_volume_raise_exception ok
test_create_iscsi_storage ok
test_parse_volume_info_raise_exception ok
----------------------------------------------------------------------
Ran 232 tests in 82.677s
Launchpad is removing a bunch of spaces from the output, but the 'ok' parts are all lined up in the 65th column
1. A snapshot() method to the compute API
2. Snapshot to the compute drivers(), stubs for libvirt and fake, and an implementation for xenapi_conn.
3. A `glance` XenServer plugin (modeled after the current `objectstore` plugin).
To test functionally you will need to be running both the Glance API and the Glance Registry.
In order to use the cloudservers tool-chain (cloudservers command-line utility, openstack-api, etc), you will need create a project called 'openstack' or override FLAGS.default_project.
You can verify that snapshots work by using the cloudservers command-line utility to run:
cloudservers image-create <instance-id> <my snapshot name>
The utility itself will generate an exception since we're not returning the appropriate metadata yet (that will be a future commit); however, you can confirm that the snapshot worked by checking the compute-service logs, and verifying the snapshot resides in the glance fs-store directory.
Only import Cheetah when needed, as we do already with libvirt and libxml2. This ensures that users of other virt backends don't need Cheetah to run nova-compute.
Resubmitted with pep8 violations fixed.