tree d4e8438748e209045715e3fc7a35ebe370eee024
parent 3bdcf7ca8bd7d4cfe267f80856e05c647ffb8b1c
author Matt Riedemann <mriedem@us.ibm.com> 1474486692 -0400
committer Matt Riedemann <mriedem@us.ibm.com> 1475595199 -0400

Add compute API admin test for swap volume

This change adds a test for the swap volume API in
the compute service (updating a volume attachment).

This is an admin-only API by default so it uses
admin credentials to perform the volume attachment
update operation. The server and volumes used during
the test are created with non-admin credentials though.

The only virt driver that supports this operation
is libvirt so a feaure flag is added which will be
configured in devstack to run this test in the gate.

The create_volume and attach_volume methods are added
to the base compute API test class so that we can
refactor other compute API tests that have similar
function and reduce duplication. That will come in a
separate change.

This is tested with devstack change:

Ibb6b309574d2c6a06fcecb0626ea21527fb7f412

Co-Authored-By: Matt Riedemann <mriedem@us.ibm.com>

Change-Id: I2d4779de8d21aa84533f4f92d347e932db2de58e
