[Bug 1893935] Re: [MIR] python-vitrageclient
Corey Bryant
1893935 at bugs.launchpad.net
Wed Jan 26 22:40:22 UTC 2022
I have uploaded package changes required to fix this in jammy (which
will also be backported to yoga). Since there is a work-around, there
are no plans to fix this in prior releases.
** Also affects: heat (Ubuntu Hirsute)
Importance: Undecided
Status: New
** Also affects: python-zunclient (Ubuntu Hirsute)
Importance: Undecided
Status: New
** Also affects: python-vitrageclient (Ubuntu Hirsute)
Importance: Undecided
Status: New
** Also affects: heat (Ubuntu Impish)
Importance: Undecided
Status: New
** Also affects: python-zunclient (Ubuntu Impish)
Importance: Undecided
Status: New
** Also affects: python-vitrageclient (Ubuntu Impish)
Importance: Undecided
Status: New
** Also affects: heat (Ubuntu Jammy)
Importance: High
Status: Triaged
** Also affects: python-zunclient (Ubuntu Jammy)
Importance: Undecided
Status: Won't Fix
** Also affects: python-vitrageclient (Ubuntu Jammy)
Importance: High
Status: Triaged
** Changed in: heat (Ubuntu Hirsute)
Status: New => Won't Fix
** Changed in: heat (Ubuntu Impish)
Status: New => Won't Fix
** Changed in: python-vitrageclient (Ubuntu Impish)
Status: New => Won't Fix
** Changed in: python-vitrageclient (Ubuntu Hirsute)
Status: New => Won't Fix
** Changed in: python-zunclient (Ubuntu Hirsute)
Status: New => Won't Fix
** Changed in: python-zunclient (Ubuntu Impish)
Status: New => Won't Fix
** Changed in: cloud-archive/victoria
Status: Triaged => Won't Fix
** Also affects: cloud-archive/wallaby
Importance: Undecided
Status: New
** Also affects: cloud-archive/xena
Importance: Undecided
Status: New
** Also affects: cloud-archive/yoga
Importance: High
Status: Triaged
** Changed in: cloud-archive/wallaby
Status: New => Won't Fix
** Changed in: cloud-archive/xena
Status: New => Won't Fix
** Description changed:
== original bug report ==
Kolla built containers with heat-engine fail with following logs:
https://f20bec36e3f198a9ccf9-fa78c758d05065ae4af77013f9d746d5.ssl.cf2.rackcdn.com/749469/2/check/kolla-ansible-ubuntu-binary/059e66f/primary/logs/kolla/heat/heat-engine.txt
2020-09-02 10:50:52.676 6 CRITICAL heat-engine [-] Unhandled error: AttributeError: 'EntryPoint' object has no attribute 'module'
2020-09-02 10:50:52.676 6 ERROR heat-engine Traceback (most recent call last):
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 221, in _load_plugins
2020-09-02 10:50:52.676 6 ERROR heat-engine ext = self._load_one_plugin(ep,
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/enabled.py", line 77, in _load_one_plugin
2020-09-02 10:50:52.676 6 ERROR heat-engine ext = super(EnabledExtensionManager, self)._load_one_plugin(
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 255, in _load_one_plugin
2020-09-02 10:50:52.676 6 ERROR heat-engine plugin = ep.load()
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
2020-09-02 10:50:52.676 6 ERROR heat-engine module = import_module(match.group('module'))
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
2020-09-02 10:50:52.676 6 ERROR heat-engine return _bootstrap._gcd_import(name[level:], package, level)
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap_external>", line 783, in exec_module
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/heat/engine/clients/os/vitrage.py", line 16, in <module>
2020-09-02 10:50:52.676 6 ERROR heat-engine from vitrageclient import client as vitrage_client
2020-09-02 10:50:52.676 6 ERROR heat-engine ModuleNotFoundError: No module named 'vitrageclient'
Seems the culprit is missing python-vitrageclient package, which is part
of heat requirements.txt - but not installed as a dependency when
installing heat-engine from UCA
(https://github.com/openstack/kolla/blob/master/docker/heat/heat-
engine/Dockerfile.j2)
+ ==================================================================
+
[Impact]
heat depends on stevedore to load client entry points. In the past,
stevedore would just give a warning if a client failed to load (ie. due
to an uninstalled Suggests dependency). Then stevedore changed code
to use importlib.metadata which no longer supports ep.load(require=False), and now the failure to load a client entry point will error hard along the lines of that described above (ModuleNotFoundError: No module named 'vitrageclient'). In other words, all openstack clients that heat depends on must be installed or heat will fail hard. By getting python-vitrageclient into Ubuntu main, we can move it from Suggests to Depends and it will always be installed for heat binary packages.
[Testcase]
Taken from: https://bugs.launchpad.net/bugs/1958988 (Thanks to Francois
Michaut)
Installing heat with the following commands :
add-apt-repository cloud-archive:xena
apt update
apt-get install heat-api heat-api-cfn heat-engine
will reproduce the issue.
heat-engine service will crash and restart continuously, all heat-related commands will fail ("openstack stack list" will output (after a very long time): ERROR: Internal Error).
In heat-engine logs, we can see that a module named "vitrageclient" is
missing. Running "pip3 install python-vitrageclient" fixed the issue and
heat started working correctly.
+
+ ==================================================================
+
+ [MIR] python3-vitrageclient
+
+ [Availability]
+ Currently in universe
+
+ [Rationale]
+ Heat is an OpenStack project that we're ready to support in main, and it has a hard dependency on python-vitrageclient.
+
+ [Security]
+ No security history
+
+ [Quality Assurance]
+ Package works out of the box with no prompting. There are no major bugs in Ubuntu and there are no major bugs in Debian. Unit tests are run during build.
+
+ [Dependencies]
+ All are in main. Note: libjs-bootstrap is only needed for the python-vitrageclient-doc binary package which does not need to be in main.
+
+ [Standards Compliance]
+ FHS and Debian Policy compliant
+
+ [Maintenance]
+ Simple python package that the OpenStack Team will take care of
+
+ [Background]
+ This is a client library for OpenStack Vitrage built to interface with the Vitrage API. Vitrage is the OpenStack RCA (Root Cause Analysis) service for organizing, analyzing and expanding OpenStack alarms & events, yielding insights regarding the root cause of problems and deducing their existence before they are directly detected.
** Summary changed:
- [MIR] python-vitrageclient
+ [MIR] python3-vitrageclient
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to heat in Ubuntu.
https://bugs.launchpad.net/bugs/1893935
Title:
[MIR] python3-vitrageclient
Status in Ubuntu Cloud Archive:
Triaged
Status in Ubuntu Cloud Archive victoria series:
Won't Fix
Status in Ubuntu Cloud Archive wallaby series:
Won't Fix
Status in Ubuntu Cloud Archive xena series:
Won't Fix
Status in Ubuntu Cloud Archive yoga series:
Triaged
Status in heat package in Ubuntu:
Triaged
Status in python-vitrageclient package in Ubuntu:
Triaged
Status in python-zunclient package in Ubuntu:
Won't Fix
Status in python-vitrageclient source package in Groovy:
Won't Fix
Status in python-zunclient source package in Groovy:
Won't Fix
Status in heat source package in Hirsute:
Won't Fix
Status in python-vitrageclient source package in Hirsute:
Won't Fix
Status in python-zunclient source package in Hirsute:
Won't Fix
Status in heat source package in Impish:
Won't Fix
Status in python-vitrageclient source package in Impish:
Won't Fix
Status in python-zunclient source package in Impish:
Won't Fix
Status in heat source package in Jammy:
Triaged
Status in python-vitrageclient source package in Jammy:
Triaged
Status in python-zunclient source package in Jammy:
Won't Fix
Bug description:
== original bug report ==
Kolla built containers with heat-engine fail with following logs:
https://f20bec36e3f198a9ccf9-fa78c758d05065ae4af77013f9d746d5.ssl.cf2.rackcdn.com/749469/2/check/kolla-ansible-ubuntu-binary/059e66f/primary/logs/kolla/heat/heat-engine.txt
2020-09-02 10:50:52.676 6 CRITICAL heat-engine [-] Unhandled error: AttributeError: 'EntryPoint' object has no attribute 'module'
2020-09-02 10:50:52.676 6 ERROR heat-engine Traceback (most recent call last):
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 221, in _load_plugins
2020-09-02 10:50:52.676 6 ERROR heat-engine ext = self._load_one_plugin(ep,
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/enabled.py", line 77, in _load_one_plugin
2020-09-02 10:50:52.676 6 ERROR heat-engine ext = super(EnabledExtensionManager, self)._load_one_plugin(
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 255, in _load_one_plugin
2020-09-02 10:50:52.676 6 ERROR heat-engine plugin = ep.load()
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
2020-09-02 10:50:52.676 6 ERROR heat-engine module = import_module(match.group('module'))
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
2020-09-02 10:50:52.676 6 ERROR heat-engine return _bootstrap._gcd_import(name[level:], package, level)
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap_external>", line 783, in exec_module
2020-09-02 10:50:52.676 6 ERROR heat-engine File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-09-02 10:50:52.676 6 ERROR heat-engine File "/usr/lib/python3/dist-packages/heat/engine/clients/os/vitrage.py", line 16, in <module>
2020-09-02 10:50:52.676 6 ERROR heat-engine from vitrageclient import client as vitrage_client
2020-09-02 10:50:52.676 6 ERROR heat-engine ModuleNotFoundError: No module named 'vitrageclient'
Seems the culprit is missing python-vitrageclient package, which is
part of heat requirements.txt - but not installed as a dependency when
installing heat-engine from UCA
(https://github.com/openstack/kolla/blob/master/docker/heat/heat-
engine/Dockerfile.j2)
==================================================================
[Impact]
heat depends on stevedore to load client entry points. In the past,
stevedore would just give a warning if a client failed to load (ie. due
to an uninstalled Suggests dependency). Then stevedore changed code
to use importlib.metadata which no longer supports ep.load(require=False), and now the failure to load a client entry point will error hard along the lines of that described above (ModuleNotFoundError: No module named 'vitrageclient'). In other words, all openstack clients that heat depends on must be installed or heat will fail hard. By getting python-vitrageclient into Ubuntu main, we can move it from Suggests to Depends and it will always be installed for heat binary packages.
[Testcase]
Taken from: https://bugs.launchpad.net/bugs/1958988 (Thanks to
Francois Michaut)
Installing heat with the following commands :
add-apt-repository cloud-archive:xena
apt update
apt-get install heat-api heat-api-cfn heat-engine
will reproduce the issue.
heat-engine service will crash and restart continuously, all heat-related commands will fail ("openstack stack list" will output (after a very long time): ERROR: Internal Error).
In heat-engine logs, we can see that a module named "vitrageclient" is
missing. Running "pip3 install python-vitrageclient" fixed the issue
and heat started working correctly.
==================================================================
[MIR] python3-vitrageclient
[Availability]
Currently in universe
[Rationale]
Heat is an OpenStack project that we're ready to support in main, and it has a hard dependency on python-vitrageclient.
[Security]
No security history
[Quality Assurance]
Package works out of the box with no prompting. There are no major bugs in Ubuntu and there are no major bugs in Debian. Unit tests are run during build.
[Dependencies]
All are in main. Note: libjs-bootstrap is only needed for the python-vitrageclient-doc binary package which does not need to be in main.
[Standards Compliance]
FHS and Debian Policy compliant
[Maintenance]
Simple python package that the OpenStack Team will take care of
[Background]
This is a client library for OpenStack Vitrage built to interface with the Vitrage API. Vitrage is the OpenStack RCA (Root Cause Analysis) service for organizing, analyzing and expanding OpenStack alarms & events, yielding insights regarding the root cause of problems and deducing their existence before they are directly detected.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1893935/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list