Hi,
Deploying a new testbed, we experience an issue with nova-compute (using canonical charmed openstack Train). We use networking-vpp, that uses python-etcd. After installation of openstack, and configuration of the networking-vpp setup, we cannot start nova-compute anymore:
Feb 15 09:35:19 sr635-1 nova-compute[131674]: Traceback (most recent call last):
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/bin/nova-compute", line 6, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: from nova.cmd.compute import main
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/nova/cmd/__init__.py", line 16, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: import nova.monkey_patch # noqa
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/nova/monkey_patch.py", line 98, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: _monkey_patch()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/nova/monkey_patch.py", line 67, in _monkey_patch
Feb 15 09:35:19 sr635-1 nova-compute[131674]: import oslo_service # noqa
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/oslo_service/__init__.py", line 16, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: from oslo_log import log as logging
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/oslo_log/log.py", line 41, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: from oslo_config import cfg
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/oslo_config/cfg.py", line 53, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: from oslo_config import types
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/oslo_config/types.py", line 28, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: from debtcollector import removals
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/debtcollector/__init__.py", line 20, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: 'debtcollector').version_string()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pbr/version.py", line 467, in version_string
Feb 15 09:35:19 sr635-1 nova-compute[131674]: return self.semantic_version().brief_string()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pbr/version.py", line 462, in semantic_version
Feb 15 09:35:19 sr635-1 nova-compute[131674]: self._semantic = self._get_version_from_pkg_resources()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pbr/version.py", line 439, in _get_version_from_pkg_resources
Feb 15 09:35:19 sr635-1 nova-compute[131674]: import pkg_resources
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
Feb 15 09:35:19 sr635-1 nova-compute[131674]: @_call_aside
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
Feb 15 09:35:19 sr635-1 nova-compute[131674]: f(*args, **kwargs)
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
Feb 15 09:35:19 sr635-1 nova-compute[131674]: working_set = WorkingSet._build_master()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 574, in _build_master
Feb 15 09:35:19 sr635-1 nova-compute[131674]: ws = cls()
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 567, in __init__
Feb 15 09:35:19 sr635-1 nova-compute[131674]: self.add_entry(entry)
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 623, in add_entry
Feb 15 09:35:19 sr635-1 nova-compute[131674]: for dist in find_distributions(entry, True):
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2065, in find_on_path
Feb 15 09:35:19 sr635-1 nova-compute[131674]: for dist in factory(fullpath):
Feb 15 09:35:19 sr635-1 nova-compute[131674]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2127, in distributions_from_metadata
Feb 15 09:35:19 sr635-1 nova-compute[131674]: if len(os.listdir(path)) == 0:
Feb 15 09:35:19 sr635-1 nova-compute[131674]: PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/python_etcd-0.4.5.dist-info'
Feb 15 09:35:19 sr635-1 systemd[1]: nova-compute.service: Main process exited, code=exited, status=1/FAILURE
Meanwhile, in a different deployment, which runs nova-compute 20.3.0-ubuntu1~cloud0, we do not experience this issue. Permissions of all the packages in /usr/local/lib/python3.6/dist-packages/ are all identical. When we remove all packages once again (python-etcd etc), nova-compute is able to start without any issue.
Anyone experiencing the same, or has a workaround?
I've not experienced this directly - have you got the apparmor enabled on one of the deployments but not the other? That's a charm configuration option. You would also see a DENIED message in the kern.log file if this is enabled (I think).
Regards
James