Documentation build broken with openstackdocstheme 1.20.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The glance doc builds are all failing with the latest release of openstackdocstheme. The full traceback looks like this:
Traceback (most recent call last):
File "/opt/stack/
warningiser
File "/opt/stack/
self.
File "/opt/stack/
self.
File "/opt/stack/
return self.events.
File "/opt/stack/
results.
File "/opt/stack/
version = packaging.
File "/opt/stack/
version = _get_version_
File "/opt/stack/
git_dir = git._run_
File "/opt/stack/
if _git_is_
File "/opt/stack/
_run_
File "/opt/stack/
out = output.
File "/usr/lib64/
return self._communica
File "/usr/lib64/
stdout, stderr = self._communica
File "/usr/lib64/
poller = select.poll()
AttributeError: 'module' object has no attribute 'poll'
Although you have to dig into the output file to actually find that. The console only shows the last frame:
2018-03-29 18:29:54.962798 | ubuntu-xenial | Exception occurred:
2018-03-29 18:29:54.966922 | ubuntu-xenial | File "/usr/lib/
2018-03-29 18:29:54.967107 | ubuntu-xenial | poller = select.poll()
2018-03-29 18:29:54.967324 | ubuntu-xenial | AttributeError: 'module' object has no attribute 'poll'
This seems to be related to eventlet monkey patching and was triggered by https:/
At least, this is our working theory. Eventlet monkey patching is a complex beast so it's hard to say anything with absolute certainty.
I believe the best solution is to tweak Glance's monkey patching method to better conform to http://
Reviewed: https:/ /review. openstack. org/557819 /git.openstack. org/cgit/ openstack/ glance/ commit/ ?id=63100524867 64922149427b43f 1b359ad5aab23b
Committed: https:/
Submitter: Zuul
Branch: master
commit 631005248676492 2149427b43f1b35 9ad5aab23b
Author: Ben Nemec <email address hidden>
Date: Thu Mar 29 19:51:39 2018 +0000
Make eventlet monkey patching conform to best practices
Per [1], eventlet monkey patching should happen as early as
possible to avoid mismatches where a module was imported both before
and after it was monkey patched. This is an exception to the import
order rules that should maybe be more explicitly called out.
In addition, partial monkey patching can be a problem, as shown in
the discussion of the thread module from the same document. This
seems to be contributing to the doc build problems that are
occurring with the latest version of openstackdocstheme, so the
partial monkey patching is also removed in favor of full patching.
Change-Id: I0d2d9fb9f0b9d7 47ad1d955420f6a d129ebbfbcf specs.openstack .org/openstack/ openstack- specs/specs/ eventlet- best-practices. html#monkey- patching
1: http://
Closes-Bug: 1759935