[openstack-dev] [docs][neutron] checking link integrity in the gate
Doug Hellmann
doug at doughellmann.com
Wed Sep 6 18:46:54 UTC 2017
Excerpts from Alexandra Settle's message of 2017-09-06 17:47:44 +0000:
>
>
> On 9/6/17, 12:10 PM, "Doug Hellmann" <doug at doughellmann.com> wrote:
>
> Excerpts from Doug Hellmann's message of 2017-09-05 13:53:40 -0400:
> > Excerpts from Boden Russell's message of 2017-09-05 11:25:34 -0600:
> > >
> > > On 9/5/17 11:03 AM, Doug Hellmann wrote:
> > > > Is eventlet being initialized (or partially initialized) when a module
> > > > from the application is imported for the auto-generated API
> > > > documentation?
> > > More than likely :)
> > > But even if they are, what's the fix/workaround?
> > >
> >
> > Ensure that it is fully initialized, or not initialized at all, I would
> > think. I'm sure Sphinx does not expect to be running under eventlet.
> >
> > I see a comment in neutron's doc/source/conf.py about another issue with
> > eventlet and some of the test code. I would start by configuring pbr to
> > ignore the test code when generating class documentation and see if that
> > eliminates both problems. See "autodoc_tree_excludes" in
> > https://docs.openstack.org/pbr/latest/user/using.html#pbr for details.
> >
> > If that doesn't help, then I would try to find a way to avoid
> > initializing eventlet at all. For example, set an environment variable
> > in doc/source/conf.py and then look for it in
> > neutron/common/eventlet_utils.py and skip the call to
> > eventlet.monkey_patch().
> >
> > If neither of those options work, we can continue thinking of other
> > ideas.
> >
> > Doug
> >
>
> Something to watch out for when using link check in CI: It's a path for
> someone outside of your team to break your gate, just by renaming a web
> page. It might be more useful to schedule regular manual runs and
> updates.
>
> The docs team may have suggestions for how they handle that on the main
> docs.o.o site and the guides they manage.
>
> Previously we have run a spider over our repo. Specifically, I know Andreas has successfully used https://github.com/alecxe/broken-links-checker.git
>
> Hopefully this helps. I was thinking we needed to do the same thing over the manuals repo now we have finalized most of the migration.
>
To be clear, if you can get Sphinx's linkchecker builder to work, that's
a great option for this. I just don't think you really want to run it
for every check or gate job that builds the docs.
Doug
More information about the OpenStack-dev
mailing list