Bug 1772557 - [rhos16 ceph] Unable to create multi-attached volume
Summary: [rhos16 ceph] Unable to create multi-attached volume
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-cinder
Version: 16.0 (Train)
Hardware: x86_64
OS: Linux
high
high
Target Milestone: z2
: 16.0 (Train on RHEL 8.1)
Assignee: Jon Bernard
QA Contact: Tzach Shefi
Chuck Copello
URL:
Whiteboard:
: 1781774 (view as bug list)
Depends On:
Blocks: 1790753
TreeView+ depends on / blocked
 
Reported: 2019-11-14 15:35 UTC by bkopilov
Modified: 2023-09-14 05:46 UTC (History)
8 users (show)

Fixed In Version: openstack-cinder-15.0.2-0.20200208000013.99321eb.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-14 12:11:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
controller-0 logs (71.03 KB, application/gzip)
2019-11-14 16:15 UTC, bkopilov
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1852628 0 None None None 2019-11-14 18:35:42 UTC
OpenStack gerrit 694379 0 'None' MERGED RBD: catch argument exceptions when configuring multiattach 2021-01-13 15:30:59 UTC
Red Hat Product Errata RHBA-2020:2161 0 None None None 2020-05-14 12:11:24 UTC

Description bkopilov 2019-11-14 15:35:43 UTC
Description of problem:

Having a setup with ceph backend with rhos16 
Could not create a volume with muti-attach type...  (it worked on rhos13)

(overcloud) [stack@undercloud-0 ~]$ cinder type-show 44ff4b31-16e5-4ac1-ab57-57b0d9fdfcae
+---------------------------------+----------------------------------------------------+
| Property                        | Value                                              |
+---------------------------------+----------------------------------------------------+
| description                     | None                                               |
| extra_specs                     | multiattach : <is> True                            |
|                                 | volume_backend_name : tripleo_ceph                 |
| id                              | 44ff4b31-16e5-4ac1-ab57-57b0d9fdfcae               |
| is_public                       | True                                               |
| name                            | tempest-volume-typeTestVolumeMultiAttach-551572420 |
| os-volume-type-access:is_public | True                                               |
| qos_specs_id                    | None                                               |
+---------------------------------+----------------------------------------------------+


When trying to create a volume - it fails.

(overcloud) [stack@undercloud-0 ~]$ cinder list --all-tenants
+--------------------------------------+----------------------------------+--------+------+------+----------------------------------------------------+----------+-------------+
| ID                                   | Tenant ID                        | Status | Name | Size | Volume Type                                        | Bootable | Attached to |
+--------------------------------------+----------------------------------+--------+------+------+----------------------------------------------------+----------+-------------+
| b93cf462-2cdf-4aba-b7a2-d0aca9f725bd | 346ae2925a2c4fcd8fb162feedc9b8e7 | error  | -    | 1    | tempest-volume-typeTestVolumeMultiAttach-551572420 | false    |             |
+--------------------------------------+----------------------------------+--------+------+------+----------------------------------------------------+----------+-------------+



From logs :
vers/rbd.py:926
2019-11-14 08:57:38.034 22052 DEBUG cinder.volume.drivers.rbd [req-967dd415-8f2b-4edb-bd02-fe7945678dbe 22
4bb32b71eaa42d4a3d3044a3d3ce728 346ae2925a2c4fcd8fb162feedc9b8e7 - default default] connecting to openstaa
ck@ceph (conf=/etc/ceph/ceph.conf, timeout=-1). _do_conn /usr/lib/python3.6/site-packages/cinder/volume/dd
rivers/rbd.py:411
2019-11-14 08:57:38.173 22052 DEBUG cinder.volume.drivers.rbd [req-967dd415-8f2b-4edb-bd02-fe7945678dbe 22
4bb32b71eaa42d4a3d3044a3d3ce728 346ae2925a2c4fcd8fb162feedc9b8e7 - default default] connecting to openstaa
ck@ceph (conf=/etc/ceph/ceph.conf, timeout=-1). _do_conn /usr/lib/python3.6/site-packages/cinder/volume/dd
rivers/rbd.py:411
2019-11-14 08:57:38.326 22052 ERROR cinder.volume.drivers.rbd [req-967dd415-8f2b-4edb-bd02-fe7945678dbe 22
4bb32b71eaa42d4a3d3044a3d3ce728 346ae2925a2c4fcd8fb162feedc9b8e7 - default default] Error creating rbd imm
age volume-057ca1dd-81ef-405c-b17f-d62c9cffc2df.: rbd.InvalidArgument: [errno 22] error updating featuress
 for image b'volume-057ca1dd-81ef-405c-b17f-d62c9cffc2df'
2019-11-14 08:57:39.252 7 INFO oslo_service.service [req-04fcde8a-f27b-4da2-8477-058cb7f95fc5 - - - - -]  
Child 22052 killed by signal 11
2019-11-14 08:57:39.258 7 DEBUG oslo_service.service [req-04fcde8a-f27b-4da2-8477-058cb7f95fc5 - - - - -]]
 Started child 22610 _start_child /usr/lib/python3.6/site-packages/oslo_service/service.py:579

Comment 1 bkopilov 2019-11-14 16:15:28 UTC
Created attachment 1636165 [details]
controller-0 logs

Comment 2 Eric Harney 2019-11-14 16:46:06 UTC
Stack trace of the segfault from running gdb on c-vol:

#0  0x00007faadbaaaeb1 in void TracepointProvider::initialize<(anonymous namespace)::tracepoint_traits>(CephContext*) () from target:/lib64/librbd.so.1
#1  0x00007faadbab5276 in rbd_remove_with_progress () from target:/lib64/librbd.so.1
#2  0x00007faadc163327 in __pyx_pw_3rbd_3RBD_11remove () from target:/usr/lib64/python3.6/site-packages/rbd.cpython-36m-x86_64-linux-gnu.so
#3  0x00007faaf4d64feb in _PyObject_FastCallDict () from target:/lib64/libpython3.6m.so.1.0
#4  0x00007faaf4d70790 in _PyObject_Call_Prepend () from target:/lib64/libpython3.6m.so.1.0
#5  0x00007faaf4d65623 in PyObject_Call () from target:/lib64/libpython3.6m.so.1.0
#6  0x00007faaf4e129f5 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.6m.so.1.0
#7  0x00007faaf4deb0c8 in PyEval_EvalCodeEx () from target:/lib64/libpython3.6m.so.1.0
#8  0x00007faaf4dec0ee in function_call () from target:/lib64/libpython3.6m.so.1.0
#9  0x00007faaf4d65623 in PyObject_Call () from target:/lib64/libpython3.6m.so.1.0
#10 0x00007faaf4e129f5 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.6m.so.1.0
#11 0x00007faaf4d9d61a in fast_function () from target:/lib64/libpython3.6m.so.1.0
#12 0x00007faaf4dd1e52 in call_function () from target:/lib64/libpython3.6m.so.1.0
#13 0x00007faaf4e10faa in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.6m.so.1.0
#14 0x00007faaf4d9d61a in fast_function () from target:/lib64/libpython3.6m.so.1.0
#15 0x00007faaf4dd1e52 in call_function () from target:/lib64/libpython3.6m.so.1.0
#16 0x00007faaf4e10faa in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.6m.so.1.0
#17 0x00007faaf4d6489a in _PyFunction_FastCallDict () from target:/lib64/libpython3.6m.so.1.0
#18 0x00007faaf4d6527e in _PyObject_FastCallDict () from target:/lib64/libpython3.6m.so.1.0
#19 0x00007faaf4d70790 in _PyObject_Call_Prepend () from target:/lib64/libpython3.6m.so.1.0
#20 0x00007faaf4d65623 in PyObject_Call () from target:/lib64/libpython3.6m.so.1.0
#21 0x00007faaf4e81902 in t_bootstrap () from target:/lib64/libpython3.6m.so.1.0
#22 0x00007faaf4e2edb4 in pythread_wrapper () from target:/lib64/libpython3.6m.so.1.0
#23 0x00007faaf4a4a2de in start_thread () from target:/lib64/libpthread.so.0
#24 0x00007faaf3ff1133 in clone () from target:/lib64/libc.so.6

Comment 3 Eric Harney 2019-11-14 16:55:02 UTC
More complete stack trace:

Thread 12 "cinder-volume" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7faaa27fc700 (LWP 291728)]
0x00007faadbaaae82 in std::atomic_flag::test_and_set (__m=std::memory_order_acquire, this=<optimized out>) at /usr/include/c++/8/bits/atomic_base.h:176
176	/usr/include/c++/8/bits/atomic_base.h: No such file or directory.
(gdb) bt
#0  0x00007faadbaaae82 in std::atomic_flag::test_and_set (__m=std::memory_order_acquire, this=<optimized out>) at /usr/include/c++/8/bits/atomic_base.h:176
#1  ceph::version_1_0::spin_lock (lock=...) at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/src/include/spinlock.h:50
#2  ceph::version_1_0::spinlock::lock (this=<optimized out>) at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/src/include/spinlock.h:39
#3  std::lock_guard<ceph::version_1_0::spinlock>::lock_guard (__m=..., this=<optimized out>) at /usr/include/c++/8/bits/std_mutex.h:162
#4  CephContext::lookup_or_create_singleton_object<TracepointProvider::TypedSingleton<(TracepointProvider::Traits const&)(&(anonymous namespace)::tracepoint_traits)>, CephContext*&> (
    drop_on_fork=false, name=..., this=0x707070707070707) at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/src/common/ceph_context.h:174
#5  TracepointProvider::initialize<(TracepointProvider::Traits const&)(&(anonymous namespace)::tracepoint_traits)> (cct=0x707070707070707)
    at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/src/common/TracepointProvider.h:59
#6  0x00007faadbab5276 in rbd_remove_with_progress (p=p@entry=0x7faa4c009860, name=name@entry=0x7faad3a3db90 "volume-7237a50b-8aad-4573-98bd-72d48dd35ebe", 
    cb=cb@entry=0x7faadc1372d0 <__pyx_f_3rbd_no_op_progress_callback>, cbdata=cbdata@entry=0x0) at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/src/librbd/librbd.cc:3160
#7  0x00007faadc163327 in __pyx_pf_3rbd_3RBD_10remove (__pyx_self=<optimized out>, __pyx_v_self=<optimized out>, __pyx_v_on_progress=<optimized out>, 
    __pyx_v_name=b'volume-7237a50b-8aad-4573-98bd-72d48dd35ebe', __pyx_v_ioctx=<optimized out>) at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/build/src/pybind/rbd3/pyrex/rbd.c:10013
#8  __pyx_pw_3rbd_3RBD_11remove (__pyx_self=<optimized out>, __pyx_args=<optimized out>, __pyx_kwds=<optimized out>)
    at /usr/src/debug/ceph-14.2.4-42.el8cp.x86_64/build/src/pybind/rbd3/pyrex/rbd.c:9832
#9  0x00007faaf4d64feb in _PyObject_FastCallDict (func=<cython_function_or_method at remote 0x7faadc4351b8>, args=0x7faaa27fb4e0, nargs=<optimized out>, kwargs={})
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2331
#10 0x00007faaf4d70790 in _PyObject_Call_Prepend (func=<cython_function_or_method at remote 0x7faadc4351b8>, obj=<optimized out>, 
    args=(<rados.Ioctx at remote 0x7faad3af5f50>, 'volume-7237a50b-8aad-4573-98bd-72d48dd35ebe'), kwargs={}) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2373
#11 0x00007faaf4d65623 in PyObject_Call (func=<method at remote 0x7faad3a3bd88>, args=<optimized out>, kwargs=<optimized out>)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2261
#12 0x00007faaf4e129f5 in do_call_core (kwdict={}, callargs=(<rados.Ioctx at remote 0x7faad3af5f50>, 'volume-7237a50b-8aad-4573-98bd-72d48dd35ebe'), func=<method at remote 0x7faad3a3bd88>)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:5120
#13 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:3404
#14 0x00007faaf4deb0c8 in _PyEval_EvalCodeWithName (qualname=0x0, name=<optimized out>, closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwstep=2, kwcount=<optimized out>, kwargs=<optimized out>, 
    kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=<optimized out>, globals=<optimized out>, _co=<optimized out>)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:3902
#15 PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kws=<optimized out>, kwcount=0, defs=0x0, 
    defcount=0, kwdefs=0x0, closure=0x0) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4187
#16 0x00007faaf4dec0ee in function_call (func=func@entry=<function at remote 0x7faaeee11620>, arg=(), kw={}) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/funcobject.c:604
#17 0x00007faaf4d65623 in PyObject_Call (func=<function at remote 0x7faaeee11620>, args=<optimized out>, kwargs=<optimized out>)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2261
#18 0x00007faaf4e129f5 in do_call_core (kwdict={}, callargs=(), func=<function at remote 0x7faaeee11620>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:5120
#19 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:3404
#20 0x00007faaf4d9d61a in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4968
#21 fast_function (func=<optimized out>, stack=0x7faa7c000cd0, nargs=1, kwnames=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4968
#22 0x00007faaf4dd1e52 in call_function (pp_stack=0x7faaa27fbaa8, oparg=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4872
#23 0x00007faaf4e10faa in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:3335
#24 0x00007faaf4d9d61a in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4968
#25 fast_function (func=<optimized out>, stack=0x7faad3d1ad38, nargs=1, kwnames=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4968
#26 0x00007faaf4dd1e52 in call_function (pp_stack=0x7faaa27fbc58, oparg=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4872
#27 0x00007faaf4e10faa in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:3335
#28 0x00007faaf4d6489a in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:4933
#29 _PyFunction_FastCallDict (func=<optimized out>, args=0x7faaa27fbde0, nargs=1, kwargs=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/ceval.c:5035
#30 0x00007faaf4d6527e in _PyObject_FastCallDict (func=<function at remote 0x7faaf343db70>, args=0x7faaa27fbde0, nargs=<optimized out>, kwargs=0x0)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2310
#31 0x00007faaf4d70790 in _PyObject_Call_Prepend (func=<function at remote 0x7faaf343db70>, obj=<optimized out>, args=(), kwargs=0x0)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2373
#32 0x00007faaf4d65623 in PyObject_Call (func=<method at remote 0x7faa9f586cc8>, args=<optimized out>, kwargs=<optimized out>)
    at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Objects/abstract.c:2261
#33 0x00007faaf4e81902 in t_bootstrap (boot_raw=boot_raw@entry=0x7faad3d09da0) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Modules/_threadmodule.c:1000
#34 0x00007faaf4e2edb4 in pythread_wrapper (arg=<optimized out>) at /usr/src/debug/python3-3.6.8-15.1.el8.x86_64/Python/thread_pthread.h:205
--Type <RET> for more, q to quit, c to continue without paging--
#35 0x00007faaf4a4a2de in start_thread () from target:/lib64/libpthread.so.0
#36 0x00007faaf3ff1133 in clone () from target:/lib64/libc.so.6

Comment 9 Gregory Charot 2019-11-28 11:15:07 UTC
New feature in 16 so not a blocker (was TP in 13).

Comment 12 Eric Harney 2019-12-10 15:00:15 UTC
*** Bug 1781774 has been marked as a duplicate of this bug. ***

Comment 18 Gregory Charot 2020-01-24 16:26:06 UTC
This bugs currently prevents RBD multi attach to be supported on OSP 16. We expect the feature to be supported in 16.0.2

Comment 22 bkopilov 2020-04-02 17:27:48 UTC
Hi, 
Installed latest code, rhos16.
Run storage downstream with cinder multi-attach  --> passed

container cinder version = openstack-cinder-15.0.2-0.20200323201950.83cd511.el8ost.noarch


Benny

Comment 28 errata-xmlrpc 2020-05-14 12:11:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:2161

Comment 29 Red Hat Bugzilla 2023-09-14 05:46:10 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


Note You need to log in before you can comment on or make changes to this bug.