[sdk]: Block storage service update volume status from reserved to available

dmeng dmeng at uvic.ca
Tue Sep 7 19:20:39 UTC 2021


Hello there, 

Hope everything is going well. 

I would like to know if there is any method that could update the volume
status or reset its state. While we creating volumes use the block
storage service or creating vms with volumes use the compute service,
sometimes we got volumes stuck in creating/deleteing/attaching/reserved
state. And we couldn't remove them or reset their state without an admin
account even we own the project. The way we create volumes and boot vms
is like the following:

# create the volume
cv = cinder.create_volume(name=bv_name, size=size, image_id=imageobj.id,
volume_type=volume_type, is_bootable=True) 
# format mapping data
bdm = [{'uuid': cv.id, 'source_type': 'volume', 'destination_type':
'volume', 'delete_on_termination': True, 'boot_index': 0}]
# create the vm
nova.create_server(name=hostname, image_id=imageobj.id,
flavor_id=flavorl.id, key_name=key_name, block_device_mapping=bdm,
user_data=format_userdata, networks=netid, security_groups=sec_groups)

In the normal situation, everything works. But in the case of any
network issue, the volume might stuck in the process of creating,
deleting, or attaching. And if the volume got created successfully, when
it tries to create the vm, the volume will be reserved for it, but if
anything wrong happen when creating the vm or get timed out, the volume
will be in the reserved stage forever. We would like to know if we could
update the state or delete them without the admin account?

We tried the command line tools 'openstack volume set --state available
<volume_id>' and 'cinder reset-state --state available <volume_id>', but
both got:
Policy doesn't allow volume_extension:volume_admin_actions:reset_status
to be performed. (HTTP 403) (Request-ID:
req-b50236c3-5662-4cc0-8602-19e79e80219d)
ERROR: Unable to reset the state for the specified entity(s).

We are using the chameleon openstack cloud but we are not the admin user
there, so wondering if there is any method that we could update the
volume in our own project?

Thanks and have a great day!
Catherine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20210907/f770af35/attachment.html>


More information about the openstack-discuss mailing list