Cinder and cinderclient assumes an attachment create request will
always contain instance_uuid. This is not true when glance calls
cinder for attachment in glance cinder configuration.
This patch (along with the cinder patch) make the instance_uuid
optional and allow glance to do attachments without passing
instance_uuid.
Change-Id: Ifbaca4aa87d890bc5130069638d42665b914b378
These arguments were deprecated in the kilo release in favor of a
combined --sort argument. This drops support for the deprecated
arguments.
Change-Id: If8f8ac44cc81f553009a15ca67257e86cb925b6f
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
We introduce a mode option in attachment-create starting with
microversion 3.54. The mode option is the new/preferred way of
setting ro mode (as opposed to admin-metadata).
This patch adds the support for the mode option to the client for
endpoints that support 3.54.
Depends-on: https://review.openstack.org/532702/
Change-Id: I22cfddd0192c4a72b8f844f23d1fa51b96c57e06
The attachment-complete method didn't include the version
checking. This patch adds that and adds a couple of tests.
Change-Id: I63dba6ee6d56bb63a79f3ad2ef3412ebd9c1ce07
Closes-Bug: #1715732
The new attachment_update method in Cinder's API creates an attachment
object and populates it with the provided connector info. In addition,
we set the volumes status to in-use and update the attachment object
status to "attached".
This isn't really accurate though, because we don't know if the volume
is actually attached (connected) by the consumer or not. Also a big
side effect here is that currently all of our tests and automation
use volume-status to determine if a volume is fully connected/ready
for use and that everything went well. It's used as an ack in most
cases.
This change goes back to using multiple states to signify where a
an attachment is in it's life-cycle:
1. attachment_create
We've created an empty attachment record but haven't done anything
with it yet.
2. attachment_update
We provided a connector and set up the TGT so that everything is
ready for a consumer to connect/use it.
3. attachment_complete
An ACK back from the consumer letting us know that they connected
it successfully and are doing their thing.
It would be cool to just key all these checks of the attachment object itself,
and just use attachment_update to do so, maybe in the future?
Change-Id: I3b28d2cb89a8d81c7cdec425f355c78bfdfe3450
Related-Bug: #1710295
Add an attachments API
This includes a new attachment controller and shell
commands. To use you'll need to set your api version
`export OS_VOLUME_API_VERSION=3.27`
Now you can do things like attach a volume (cinders part at least):
`cinder attachment-create --connect True ......`
List/show/delete existing attachments:
`cinder attachment-list`
`cinder attachment-show <attachment-id>`
`cinder attachment-delete <attachemnt-id>`
Change-Id: I2c463f0910b6c9e37502869b7ec33073f12939f1