Help needed to Support Multi-attach feature
Gorka Eguileor
geguileo at redhat.com
Fri May 10 09:26:00 UTC 2019
On 02/05, RAI, SNEHA wrote:
> Hi Team,
>
> I am currently working on multiattach feature for HPE 3PAR cinder driver.
>
> For this, while setting up devstack(on stable/queens) I made below change in the local.conf
> [[local|localrc]]
> ENABLE_VOLUME_MULTIATTACH=True
> ENABLE_UBUNTU_CLOUD_ARCHIVE=False
>
> /etc/cinder/cinder.conf:
> [3pariscsi_1]
> hpe3par_api_url = https://192.168.1.7:8080/api/v1
> hpe3par_username = user
> hpe3par_password = password
> san_ip = 192.168.1.7
> san_login = user
> san_password = password
> volume_backend_name = 3pariscsi_1
> hpe3par_cpg = my_cpg
> hpe3par_iscsi_ips = 192.168.11.2,192.168.11.3
> volume_driver = cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
> hpe3par_iscsi_chap_enabled = True
> hpe3par_debug = True
> image_volume_cache_enabled = True
>
> /etc/cinder/policy.json:
> 'volume:multiattach': 'rule:admin_or_owner'
>
> Added https://review.opendev.org/#/c/560067/2/cinder/volume/drivers/hpe/hpe_3par_common.py change in the code.
>
> But I am getting below error in the nova log:
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [None req-2cda6e90-fd45-4bfe-960a-7fca9ba4abab demo admin] [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] Instance failed block device setup: MultiattachNotSupportedByVirtDriver: Volume dc25f09a-6ae1-4b06-a814-73a8afaba62f has 'multiattach' set, which is not supported for this instance.
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] Traceback (most recent call last):
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/compute/manager.py", line 1615, in _prep_block_device
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] wait_func=self._await_block_device_map_created)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 840, in attach_block_devices
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] _log_and_attach(device)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 837, in _log_and_attach
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] bdm.attach(*attach_args, **attach_kwargs)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 46, in wrapped
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] ret_val = method(obj, context, *args, **kwargs)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 620, in attach
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] virt_driver, do_driver_attach)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 274, in inner
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] return f(*args, **kwargs)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 617, in _do_locked_attach
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] self._do_attach(*args, **_kwargs)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 602, in _do_attach
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] do_driver_attach)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] File "/opt/stack/nova/nova/virt/block_device.py", line 509, in _volume_attach
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] volume_id=volume_id)
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa] MultiattachNotSupportedByVirtDriver: Volume dc25f09a-6ae1-4b06-a814-73a8afaba62f has 'multiattach' set, which is not supported for this instance.
> Apr 29 04:23:04 CSSOSBE04-B09 nova-compute[31396]: ERROR nova.compute.manager [instance: fcaa5a47-fc48-489d-9827-6533bfd1a9fa]
>
>
> Apr 29 05:41:20 CSSOSBE04-B09 nova-compute[20455]: DEBUG nova.virt.libvirt.driver [-] Volume multiattach is not supported based on current versions of QEMU and libvirt. QEMU must be less than 2.10 or libvirt must be greater than or equal to 3.10. {{(pid=20455) _set_multiattach_support /opt/stack/nova/nova/virt/libvirt/driver.py:619}}
>
>
> stack at CSSOSBE04-B09:/tmp$ virsh --version
> 3.6.0
> stack at CSSOSBE04-B09:/tmp$ kvm --version
> QEMU emulator version 2.10.1(Debian 1:2.10+dfsg-0ubuntu3.8~cloud1)
> Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
>
Hi Sneha,
I don't know much about this side of Nova, but reading the log error I
would say that you either need to update your libvirt version from 3.6.0
to 3.10, or you need to downgrade your QEMU version to something prior
to 2.10.
The later is probably easier.
I don't use Ubuntu, but according to the Internet you can list available
versions with "apt-cache policy qemu" and then install or downgrade to
the specific version with "sudo apt-get install qemu=2.5\*" if you
wanted to install version 2.5
I hope this helps.
Cheers,
Gorka.
>
> openstack volume show -c multiattach -c status sneha1
> +-------------+-----------+
> | Field | Value |
> +-------------+-----------+
> | multiattach | True |
> | status | available |
> +-------------+-----------+
>
> cinder extra-specs-list
> +--------------------------------------+-------------+--------------------------------------------------------------------+
> | ID | Name | extra_specs |
> +--------------------------------------+-------------+--------------------------------------------------------------------+
> | bd077fde-51c3-4581-80d5-5855e8ab2f6b | 3pariscsi_1 | {'volume_backend_name': '3pariscsi_1', 'multiattach': '<is> True'}|
> +--------------------------------------+-------------+--------------------------------------------------------------------+
>
>
> echo $OS_COMPUTE_API_VERSION
> 2.60
>
> pip list | grep python-novaclient
> DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
> python-novaclient 13.0.0
>
> How do I fix this version issue on my setup to proceed? Please help.
>
> Thanks & Regards,
> Sneha Rai
More information about the openstack-discuss
mailing list