It is not possible to update or edit Cinder store location volume_backed_images

Bug #1917643 reported by Hemant Sonawane
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
New
Undecided
Unassigned

Bug Description

I encountered some issue in horizon that editing volume_backed_images which has cinder store location set in its properties is not possible. In fact if we change the values and try to update the image the update option is not clickable. But for rest of the images it works fine which has swift store location. The problem only persist for cinder store location volume backed images.
Furthermore I also tried to update the properties of cinder store images via CLI and it works perfectly fine. So it could be horizon issue.

steps to reproduce:

create image in openstack:
openstack image create --disk-format raw --container-format bare IMAGE_NAME

Update the location of image with volume:
glance location-add <image-uuid> --url cinder://<volume-uuid>

once its done try to update the image in horizon.(for e.g set image public or private)

Revision history for this message
Vishal Manchanda (vishalmanchanda) wrote :

Hi, Could you add more info. like what configuration changes I have to do in my devstack env. to reproduce it in the horizon. As per my understanding, I have already added 'USE_CINDER_FOR_GLANCE=True' in my local.conf file of devstack. I have also few more doubts which are following:
1) In step 1 of creating an image can I use cirros image to create the image or I have to use some specific image?
2) In step 2 what I have to pass in this "--url cinder://<volume-uuid>" parameter?

Revision history for this message
Hemant Sonawane (hemson95) wrote :

Hello vishal Manchanda,

Thanks for taking a look. For volume backed images config refer this documentation

https://docs.openstack.org/cinder/victoria/admin/blockstorage-volume-backed-image.html

I have this configuration setup in my openstack env.

1) Yes you can use whatever the image you would like.

2) Yes you need to pass "--url cinder://<volume-uuid>" this parameter during "glance location-add" command which will set location to use cinder store. You can find more info in the documentation i shared.

Thanks,

Hemant

Revision history for this message
Hemant Sonawane (hemson95) wrote :

Hello vishal Manchanda,

Did you try to reproduced it ?

Revision history for this message
Vishal Manchanda (vishalmanchanda) wrote :

yes, I tried but I am not much familiar with the cinder glance store feature:(
I am still not able to reproduce it, below are the setting which I added in my devstack "local.conf" :
GLANCE_USE_IMPORT_WORKFLOW=True
USE_CINDER_FOR_GLANCE=True
GLANCE_ENABLE_MULTIPLE_STORES=True
CINDER_ENABLED_BACKENDS=lvm:lvmdriver-1,lvm:lvmdriver-2
GLANCE_CINDER_DEFAULT_BACKEND=lvmdriver-1

Revision history for this message
Hemant Sonawane (hemson95) wrote :

Hello Vishal Manchanda

Basically you need have below config in glance-api.conf

      glance:
        DEFAULT:
          enable_v1_api: true
          show_multiple_locations: True
        glance_store:
          stores: "file,http,swift,cinder"

Then in cinder.conf have this option

allowed_direct_url_schemes = true

after that in backend section in cinder.conf add

image_upload_use_cinder_backend: true
image_upload_use_internal_tenant: true

once you have this config setup try to create image

"openstack image create --disk-format raw --container-format bare IMAGE_NAME"

and then update the location of image with volume

"glance location-add <image-uuid> --url cinder://<volume-uuid>"

Once it works then try to update the image in horizon.

Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.