On Sat, Sep 03, 2016 at 05:12:27PM +0200, Ondrej Novy wrote: > Hi, > > https://review.openstack.org/365253 > > released newton version of python-swiftclient 3.1.0 requires newer version > of oslosphinx. Without it, docs can't be built. > > So i prepared fix: > https://review.openstack.org/#/c/365239/1 > > But gating says: no, you should update global requirements first. So I'm > doing it. > > Please consider granting an exception. Thanks.
I think we need a little more detail.
As I understand it the issue is that projects which set 'show_other_versions' in
html_theme_options will fail to build if it gets oslosphinx < 4.7.0. A quick
look at [1] shows that this is only python-swiftclient.
More generally however the docs *are* building because we always get
oslosphinx 4.7.0 [2] So this review is about correctness rather than fixing a
breakage.
Please correct any of the above if I have it wrong.
I'll outline our options on the assumption that I'm reasonably close in my
problem analysis.
From my POV we have a few options:
1) Grant the FFE
Here are some stats about oslosphinx:
Package : oslosphinx [oslosphinx!=3.4.0,>=2.5.0] (used by 223
projects)
Taking review 365253 would force a minor semver bump a release of 76
projects + and deeper dependencies in libraries. Server/service projects
will get the requirements bump in RC1. This has a pretty major impact on
the release team at a time they're trying to stabilise things.
2) Fix it on master when the freeze is lifted
As I said the docs are building for python-swiftclient, so we could
acknowledge that we have a problem and fix it for master. Newton will always
be broken but I think we've missed the boat on raising the minimum here due
to the scale of the impact. We can't fix it on stable/newton as that's
against the stable-policy.
3) Add a hack to python-swiftclient work around the problem.
This is a terrible and I admit it's papering over an issue with out
tools/process but we could do something like:
---
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 5af77b2..f72b8d5 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -111,7 +111,14 @@ pygments_style = 'sphinx'
# documentation.
# html_theme_options = {}
-html_theme_options = {'show_other_versions': True}
+from pkg_resources import get_distribution, parse_version
+
+oslosphinx_installed = parse_version(get_distribution('oslosphinx').version)
+
+if oslosphinx_installed >= parse_version('4.7.0'):
+ html_theme_options = {'show_other_versions': True}
+else:
+ html_theme_options = {}
---
My opinion is that option 2 is the least worst, taking option 3 will be up to
the swift and oslo teams.
Yours Tony.
[1] http://codesearch.openstack.org/?q=show_other_versions&i=nope&files=&repos=
[2] Because:
1) The projects supports constraints and gets 4.7.0 ; or
2) The projects is unconstrained and pip picks the latest (4.7.0)
signature.asc
Description: PGP signature
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
