On Tue, Jun 26, 2018 at 5:14 PM Vladyslav Drok <vd...@mirantis.com> wrote:
> > On Tue, Jun 26, 2018 at 4:58 PM Takashi Yamamoto <yamam...@midokura.com> > wrote: > >> On Tue, Jun 26, 2018 at 10:13 PM, Doug Hellmann <d...@doughellmann.com> >> wrote: >> > Excerpts from Lance Bragstad's message of 2018-06-25 22:51:37 -0500: >> >> Thanks a bunch for digging into this, Tony. I'll follow up with the >> >> oauthlib maintainers and see if they'd be interested in these changes >> >> upstream. If so, I can chip away at it. For now we'll have to settle >> for >> >> not treating warnings as errors to unblock our documentation gate [0]. >> >> >> >> [0] https://review.openstack.org/#/c/577974/ >> > >> > How are docstrings from a third-party library making their way into the >> > keystone docs and breaking the build? >> >> in the same way that docstrings from os-vif affect networking-midonet >> docs. >> i.e. via class inheritance >> >> > >> > Doug >> > >> >> >> >> On 06/25/2018 07:27 PM, Tony Breeds wrote: >> >> > On Mon, Jun 25, 2018 at 05:42:00PM -0500, Lance Bragstad wrote: >> >> >> Keystone is hitting this, too [0]. I attempted the same solution >> that >> >> >> Tony posted, but no luck. I've even gone so far as removing every >> >> >> comment from the module to see if that helps narrow down the problem >> >> >> area, but sphinx still trips. The output from the error message >> isn't >> >> >> very descriptive either. Has anyone else had issues fixing this for >> >> >> python comments, not just docstrings? >> >> >> >> >> >> [0] https://bugs.launchpad.net/keystone/+bug/1778603 >> >> > I did a little digging for the keystone problem and it's due to a >> >> > missing ':' in >> >> > >> https://github.com/oauthlib/oauthlib/blob/master/oauthlib/oauth1/rfc5849/request_validator.py#L819-L820 >> >> > >> >> > So the correct way to fix this is to correct that in oauthlib, get it >> >> > released and use that. >> >> > >> >> > I hit additional problems in that enabling -W in oauthlib, to pevent >> >> > this happening in the future, lead me down a rabbit hole I don't >> really >> >> > have cycles to dig out of. >> >> > >> >> > Here's a dump of where I got to[1]. Clearly it mixes "fixes" with >> >> > debugging but it isn't too hard to reproduce and someone that knows >> more >> >> > Sphinx will be able to understand the errors better than I can. >> >> > >> >> > >> >> > [1] http://paste.openstack.org/show/724271/ >> >> > >> >> > Yours Tony. >> > > This also might be related to this thread, in ironic I can see the > following while building the docs, apart from 'Bullet list ends without a > blank line' issue: > > Warning, treated as error: > /home/vlad/work/ironic/ironic/api/app.py:docstring of > ironic.api.app.IronicCORS:1:Error in "wsme:service" directive: > unknown option: "module". > > .. wsme:service:: None > :module: ironic.api.app > > Bases: :class:`oslo_middleware.cors.CORS` > > Ironic-specific CORS class > > We're adding the Ironic-specific version headers to the list of simple > headers in order that a request bearing those headers might be accepted > by > the Ironic REST API. > > I see that there is some code in wsmeext that should be dealing with that > if I understand correctly -- > https://github.com/openstack/wsme/blob/0.8.0/wsmeext/sphinxext.py#L356-L357 > > Sphinx version I have is 1.7.5. > > Several other folks indicated that they hit it with on fresh fedora. > It also appears that index of :module: entry has changed: -> if ':module:' in self.directive.result[-1]: (Pdb) self.directive.result ViewList(['', '.. py:module:: ironic.api.app', '', '', '.. wsme:service:: None', ' :module: ironic.api.app', '', ' Bases: :class:`oslo_middleware.cors.CORS`'], items=[('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app.IronicCORS', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app.IronicCORS', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app.IronicCORS', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app.IronicCORS', 0), ('/home/vlad/work/ironic/ironic/api/app.py:docstring of ironic.api.app.IronicCORS', 0)]) It is self.directive.result[-3] now, so I guess it needs to be changed to iterate on everything in that list with that check? > >> >> > >> >> > >> >> > >> __________________________________________________________________________ >> >> > OpenStack Development Mailing List (not for usage questions) >> >> > Unsubscribe: >> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> >> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> > >> > >> __________________________________________________________________________ >> > OpenStack Development Mailing List (not for usage questions) >> > Unsubscribe: >> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> __________________________________________________________________________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: >> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev