I got the latest docker image from the public docker repo: dcaro@vulcanus$ docker pull ceph/daemon:latest-nautilus latest-nautilus: Pulling from ceph/daemon 2d473b07cdd5: Pull complete 6ab62ee0cbfb: Pull complete 8d5f9072ae2b: Pull complete 5cf35aefd364: Pull complete 753fcb95c2ca: Pull complete 3e9f3e2ec7a8: Pull complete 72d990ffe8ba: Pull complete 98112a47860c: Pull complete 2dc4347e44c6: Pull complete d7e7fd551922: Pull complete Digest: sha256:aede85ad3485395fba6351708eedf1c16b3e5c7ee5afebd95a0fc5d95cec3b7f Status: Downloaded newer image for ceph/daemon:latest-nautilus docker.io/ceph/daemon:latest-nautilus and ran bash on it: dcaro@vulcanus$ docker run --entrypoint bash --tty -ti ceph/daemon:latest-nautilus ... [root@bddc068cedef /]# cat etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@bddc068cedef /]# python Python 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import typing Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named typing
And I find no typing module around (only python3 showing up, no venv or similar): [root@f664d09a8a5f /]# find . -iname \*typing\* ./usr/lib64/python3.6/__pycache__/typing.cpython-36.opt-2.pyc ./usr/lib64/python3.6/__pycache__/typing.cpython-36.pyc ./usr/lib64/python3.6/__pycache__/typing.cpython-36.opt-1.pyc ./usr/lib64/python3.6/typing.py ./usr/share/ceph/mgr/dashboard/frontend/src/typings.d.ts the typing module is missing there, downloading and installing it kinda works: [root@bddc068cedef /]# wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python2... ... [root@bddc068cedef /]# rpm -i python2-typing-3.5.2.2-4.el7.noarch.rpm [root@bddc068cedef /]# python Python 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import typing
An older image though (v4.0.18-stable-4.0-nautilus-centos-7) does not have that module either, I'm no expert on how ceph-ansible sets the containers up though, maybe it failed to do some setup? Do you have any logs/output for the run (that you can share)? On 03/12 17:59, Stefan Kooman wrote:
On 3/12/21 5:46 PM, David Caro wrote:
I might be wrong, but maybe the containers are missing something? The easiest way to check if accessing those directly, but from the looks of it it seems some python packages/installation issue.
Adding also more info like 'ceph versions', 'docker images'/'docker ps' might also help figuring out what's the issue.
docker images extract:
REPOSITORY TAG ceph/daemon latest-nautilus
This should be the official Ceph container that got pulled from the docker registry. It's not something custom or something we have built. I got access to the container shell, and this is a list of python packages:
rpm -qa | grep python python-libs-2.7.5-90.el7.x86_64 python3-setuptools-39.2.0-10.el7.noarch python-srpm-macros-3-34.el7.noarch python3-libs-3.6.8-18.el7.x86_64 python-websocket-client-0.56.0-3.git3c25814.el7.noarch python-netifaces-0.10.4-3.el7.x86_64 python-prettytable-0.7.2-3.el7.noarch rpm-python-4.11.3-45.el7.x86_64 python2-rpm-macros-3-34.el7.noarch python2-pyasn1-0.1.9-7.el7.noarch python-werkzeug-0.9.1-2.el7.noarch python-markupsafe-0.11-10.el7.x86_64 python-webtest-1.3.4-6.el7.noarch python3-pip-9.0.3-8.el7.noarch python-singledispatch-3.4.0.2-2.el7.noarch python-cachetools-1.0.3-1.el7.noarch python-itsdangerous-0.23-2.el7.noarch python-enum34-1.0.4-1.el7.noarch python-dateutil-1.5-7.el7.noarch python-kmod-0.9-4.el7.x86_64 python-IPy-0.75-6.el7.noarch python-rpm-macros-3-34.el7.noarch python-requests-2.6.0-10.el7.noarch python-jwt-1.5.3-1.el7.noarch python-rbd-14.2.17-0.el7.x86_64 python-2.7.5-90.el7.x86_64 python-tempita-0.5.1-6.el7.noarch libselinux-python-2.5-15.el7.x86_64 python2-six-1.9.0-0.el7.noarch python-ply-3.4-11.el7.noarch python-cherrypy-3.2.2-4.el7.noarch policycoreutils-python-2.5-34.el7.x86_64 python-ceph-argparse-14.2.17-0.el7.x86_64 python-repoze-lru-0.4-3.el7.noarch python-setuptools-0.9.8-7.el7.noarch python-jwcrypto-0.4.2-1.el7.noarch python-paste-1.7.5.1-9.20111221hg1498.el7.noarch python2-kubernetes-11.0.0-6.el7.noarch python-iniparse-0.4-9.el7.noarch python-chardet-2.2.1-3.el7.noarch python-cffi-1.6.0-5.el7.x86_64 python-rgw-14.2.17-0.el7.x86_64 python-pyudev-0.15-9.el7.noarch python-simplegeneric-0.8-7.el7.noarch python-backports-1.0-8.el7.x86_64 python-urllib3-1.10.2-7.el7.noarch python2-requests-oauthlib-0.8.0-5.el7.noarch python-mako-0.8.1-2.el7.noarch python-nose-1.3.7-1.el7.noarch python-urwid-1.1.1-3.el7.x86_64 python-configshell-1.1.26-1.el7.noarch python-babel-0.9.6-8.el7.noarch python-pycparser-2.14-1.el7.noarch python2-bcrypt-3.1.6-2.el7.x86_64 python-rtslib-2.1.74-1.el7_9.noarch python-routes-1.13-2.el7.noarch python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch python2-cryptography-1.7.2-2.el7.x86_64 python-pecan-0.4.5-2.el7.noarch python2-google-auth-1.1.1-5.el7.noarch libxml2-python-2.9.1-6.el7.5.x86_64 python-gobject-base-3.22.0-1.el7_4.1.x86_64 python-kitchen-1.1.1-5.el7.noarch python-rados-14.2.17-0.el7.x86_64 python-ipaddress-1.0.16-2.el7.noarch python-webob-1.2.3-7.el7.noarch python-magic-5.11-37.el7.noarch audit-libs-python-2.8.5-4.el7.x86_64 python2-rsa-3.4.2-2.el7.noarch python2-pyasn1-modules-0.1.9-7.el7.noarch libsemanage-python-2.5-14.el7.x86_64 libstoragemgmt-python-1.8.1-1.el7.noarch python-jinja2-2.7.2-4.el7.noarch python-six-1.9.0-2.el7.noarch python-urlgrabber-3.10-10.el7.noarch dbus-python-1.1.1-9.el7.x86_64 python3-3.6.8-18.el7.x86_64 python2-certifi-2018.10.15-5.el7.noarch python-flask-0.10.1-5.el7_7.noarch python-idna-2.4-1.el7.noarch python-devel-2.7.5-90.el7.x86_64 python2-oauthlib-2.0.1-8.el7.noarch python-beaker-1.5.4-10.el7.noarch python-pycurl-7.19.0-19.el7.x86_64 libstoragemgmt-python-clibs-1.8.1-1.el7.x86_64 python-cephfs-14.2.17-0.el7.x86_64
There is a module missing for "typing". I installed the python2 version of typing:
yum install python2-typing.noarch
But still the same error (after restarting all the managers).
Gr. Stefan
-- David Caro SRE - Cloud Services Wikimedia Foundation <https://wikimediafoundation.org/> PGP Signature: 7180 83A2 AC8B 314F B4CE 1171 4071 C7E1 D262 69C3 "Imagine a world in which every single human being can freely share in the sum of all knowledge. That's our commitment."