[openstack-dev] [requirements][FFE] oslosphinx

Matthew Oliver matt at oliver.net.au
Mon Sep 5 04:46:11 UTC 2016


Thanks Tony,

Yup that's my understanding too.

Like you said, thanks to the upper-constraints having the correct version
(4.7.0), and the fact that currently the swiftclient has oslosphinx
unconstrained, means that the online documentation builds OK and the docs
job passes in the gate. Further, anyone trying to build the
python-swiftclient documentation from a fresh install will also be fine, as
pip should download the latest.

We definitely don't want to rock the boat while everyone is trying to
stabilise for the next release, so I think option 2 or 3 are two good
solutions. Personally, because of upper constraints and the fact that there
is a rather simple (or 2 [upgrade or comment out a line]) work arounds, I'm
personally leading for option 2. Rather then adding something hacky that
will be removed in month or so.

I'm also happy to go with option 2 and volunteer to raise option 3 as a
patch if it does turn out to be a major problem or others.

Anyway that's my 2 cents,

Matt

On Mon, Sep 5, 2016 at 1:56 PM, Tony Breeds <tony at bakeyournoodle.com> wrote:

> 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)
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160905/55e650b9/attachment.html>


More information about the OpenStack-dev mailing list