Update volume-status waiter for new cinder attach

The new Cinder attach API treats attaching to a shelved instance
differently than the old code.  In the old case we fake things a
bit and mark the volume as attached, even though it's really not,
it's actually just reserved and there's no valid connector
or connection associated with it.

In the new (Cinder V3.27) Attach API's we instead give a more
accurate response, create an attachment record and mark the
volume as 'reserved' until the Instance is unhselved at which
time we complete the connection and move the volume to 'in-use'.

This patch modifes the volume_status waiter slightly so that it
can accept multiple statuses to consider "ok".  We also modify the
test_attach_volume_shelved_or_offload_server and
test_detach_volume_shelved_or_offload_server tests to specify that
either 'in-use' or 'reserved' are acceptable responses.  This way
we're still compatable with older combinatons of nova/cinder and
we also work with the new combination as well.

Change-Id: Ia84f4325ddb0080521241ace26f89d1161db9dca
3 files changed