Bug 1877222
| Summary: | RHOSP16.1 cannot use "dashboard" to assign multiattach volume to more then one VM. | |||
|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | XinhuaLi <xili> | |
| Component: | python-django-horizon | Assignee: | Radomir Dopieralski <rdopiera> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Ashish Gupta <ashigupt> | |
| Severity: | urgent | Docs Contact: | ||
| Priority: | urgent | |||
| Version: | 16.1 (Train) | CC: | athomas, jrist, m.andre, mgarciac, rdopiera, tovchinn | |
| Target Milestone: | z2 | Keywords: | Reopened, TestOnly, Triaged | |
| Target Release: | 16.1 (Train on RHEL 8.2) | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | python-django-horizon-16.2.1-1.20210728213305.ca38848.el8ost | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2055165 (view as bug list) | Environment: | ||
| Last Closed: | 2023-03-21 10:33:15 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2055165 | |||
Hi Is there any update or comments ? Regards, Sam Hi Sam, any update from customer's side? With kind regards, Tatiana It looks like someone had a similar issue upstream and there is a patch we can backport. Reopening. According to our records, this should be resolved by python-django-horizon-16.2.1-1.20220711203431.ca38848.el8ost. This build is available now. |
Description of problem: -------------------------------------------------------------------------------------- After create a multiattach volume in RHOSP16.1 , we cannot assign the volume to more than one VM via dashboard. However, we can use CLI like "nova volume-attach" to attach the multiattach volume to more then one VM. -------------------------------------------------------------------------------------- Version-Release number of selected component (if applicable): -------------------------------------------------------------------------------------- # sudo podman ps | grep horizon 5773a10ea430 manager.ctlplane.localdomain:8787/rhosp-rhel8/openstack-horizon:16.1-51 kolla_start 5 days ago Up 5 days ago horizon # rpm -qa |grep horizon puppet-horizon-15.4.1-0.20200604003425.dd78e01.el8ost.noarch -------------------------------------------------------------------------------------- How reproducible: Use the dashboard to assign multiattach volume to one VM; then create another VM and try to attach the volume, you cannot see the volume in dropdown list. The volume can only be assigned to one VM. Steps to Reproduce: 1. Use the dashboard to assign multiattach volume to one VM 2. Create another VM and try to attach the volume 3. We cannot see the volume in the dropdown list. Actual results: We cannot use dashboard to assign multiattach volume to more then one VM. Expected results: We can use dashboard to assign multiattach volume to more then one VM. Additional info: It seems that we have commits for "multiattach"; maybe we need to double check the detail against dashboard. -------------------------------------------------------------------------------------- # podman run -it --rm openstack-horizon:16.1-51 bash ()[root@24af034e4eef /]# cd /usr/lib/python3.6/site-packages/openstack_dashboard/ ()[root@24af034e4eef openstack_dashboard]# sed -n '90,94p' api/cinder.py 'snapshot_id', 'source_volid', 'attachments', 'tenant_name', 'group_id', 'consistencygroup_id', 'os-vol-host-attr:host', 'os-vol-tenant-attr:tenant_id', 'metadata', 'volume_image_metadata', 'encrypted', 'transfer', 'multiattach'] ()[root@24af034e4eef openstack_dashboard]# sed -n '30,40p' api/microversions.py "nova": { "locked_attribute": ["2.9", "2.42"], "instance_description": ["2.19", "2.42"], "remote_console_mks": ["2.8", "2.53"], "servergroup_soft_policies": ["2.15", "2.60"], "servergroup_user_info": ["2.13", "2.60"], "multiattach": ["2.60"], "auto_allocated_network": ["2.37", "2.42"], "key_types": ["2.2", "2.9"], "key_type_list": ["2.9"], }, ()[root@24af034e4eef openstack_dashboard]# sed -n '5652,5678p' dashboards/project/instances/tests.py @mock.patch.object(api.cinder, 'volume_list') @mock.patch.object(api.cinder, 'volume_get') @mock.patch.object(api.nova, 'get_microversion', return_value='2.60') @mock.patch.object(api._nova, 'novaclient') def test_volume_attach_post_multiattach( self, mock_client, mock_get_microversion, mock_volume_get, mock_volume_list): # Tests that a multiattach volume must be attached with compute API # microversion 2.60 and the feature is supported. server = self.servers.first() volumes = self.cinder_volumes.list() volume = volumes[1] volume.multiattach = True mock_volume_list.return_value = volumes mock_volume_get.return_value = volume # note that 'device' is not passed form_data = {"volume": volume.id, "instance_id": server.id} url = reverse('horizon:project:instances:attach_volume', args=[server.id]) res = self.client.post(url, form_data) self.assertNoFormErrors(res) self.assertRedirectsNoFollow(res, INDEX_URL) mock_client.assert_called_once_with(mock.ANY, '2.60') -------------------------------------------------------------------------------------- Regards Sam