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