I wondered why this isn't a problem in the legacy-tempest-dsvm-full-devstack-plugin-ceph job in the gate and I also couldn't reproduce the issue with devstack installed with the devstack-plugin-ceph today (which installs Ceph Luminous 12.2.4).
I realized the problem is that the bug reporter has Ceph Infernalis (or older) installed and the python bindings from back then [1] do not handle the unicode string type, whereas the more recent bindings for Ceph >= Jewel [2] work fine.
I just checked our gate job for Ocata [3], which installs Ceph Hammer, and python-rbd 10.2.9 gets installed along with it, and that also works fine without the "TypeError: name must be a string".
I agree with Dmitriy that this sounds like more of an issue with the python-rbd/python-rados versions that openstack-ansible is installing for Ceph. I think it would be a good idea to open a bug with them and try to get that part resolved.
Ceph Hammer is pretty old at this point but it is running in the Ocata gate and working fine with python-rbd/python-rados 10.2.9. Are you able to install that version of the bindings? What version of Ceph are you running?
In Nova, we could add more str() calls to be more resilient about old python binding versions in case someone is running something really old.
I'm going to update the importance of this bug to Low.
I wondered why this isn't a problem in the legacy- tempest- dsvm-full- devstack- plugin- ceph job in the gate and I also couldn't reproduce the issue with devstack installed with the devstack- plugin- ceph today (which installs Ceph Luminous 12.2.4).
I realized the problem is that the bug reporter has Ceph Infernalis (or older) installed and the python bindings from back then [1] do not handle the unicode string type, whereas the more recent bindings for Ceph >= Jewel [2] work fine.
I just checked our gate job for Ocata [3], which installs Ceph Hammer, and python-rbd 10.2.9 gets installed along with it, and that also works fine without the "TypeError: name must be a string".
I agree with Dmitriy that this sounds like more of an issue with the python- rbd/python- rados versions that openstack-ansible is installing for Ceph. I think it would be a good idea to open a bug with them and try to get that part resolved.
Ceph Hammer is pretty old at this point but it is running in the Ocata gate and working fine with python- rbd/python- rados 10.2.9. Are you able to install that version of the bindings? What version of Ceph are you running?
In Nova, we could add more str() calls to be more resilient about old python binding versions in case someone is running something really old.
I'm going to update the importance of this bug to Low.
[1] https:/ /github. com/ceph/ ceph/blob/ infernalis/ src/pybind/ rbd.py# L379-L416 /github. com/ceph/ ceph/blob/ luminous/ src/pybind/ rbd/rbd. pyx#L1343- L1380 logs.openstack. org/77/ 588077/ 1/check/ legacy- tempest- dsvm-full- devstack- plugin- ceph/a2a2d25/ logs/devstacklo g.txt.gz# _2018-08- 01_20_55_ 45_676
[2] https:/
[3] http://