<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 16, 2016 at 1:05 AM, Shuu Mutou <span dir="ltr"><<a href="mailto:shu-mutou@rf.jp.nec.com" target="_blank">shu-mutou@rf.jp.nec.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Anne,<br>
<br>
AFAIK, the API WG adopted Swagger (OpenAPI) as common tool for API docs.<br>
Anne, has not the adoption been changed? Otherwise, do we need to maintain much RST files also?<br></blockquote><div><br></div><div>It does say either/or in the API WG guideline: <a href="http://specs.openstack.org/openstack/api-wg/guidelines/api-docs.html">http://specs.openstack.org/openstack/api-wg/guidelines/api-docs.html</a></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>
IMO, for that the reference and the source code doesn't have conflict, these should be near each other as possible as follow. And it decreases maintainance costs for documents, and increases document reliability. So I believe our approach is more ideal.<br>
<br></blockquote><div><br></div><div>This isn't about a contest between projects for the best approach. This is about serving end-users the best information we can.</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">
The Best: the references generated from source code.<br></blockquote><div><br></div><div>I don't want to argue, but anything generated from the source code suffers if the source code changes in a way that reviewers don't catch as a backwards-incompatible change you can break your contract.</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">
Better: the references written in docstring.<br>
<br>
We know some projects abandoned these approach, and then they uses RST + YAML.<br>
But we hope decreasing maintainance cost for the documents. So we should not create so much RST files, I think.<br>
<br></blockquote><div><br></div><div>I think you'll see the evolution of our discussions over the years has brought us to this point in time. Yes, there are trade-offs in these decisions.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
I'm proceeding auto-generation of swagger spec from magnum source code using pecan-swagger [1], and improving pecan-swagger with Michael McCune [2].<br>
These will generate almost Magnum API specs automatically in OpenAPI format.<br>
Also, these approach can be adopted by other APIs that uses pecan and WSME.<br>
Please check this also.<br></blockquote><div><br></div><div>I ask you to consider the experience of someone consuming the API documents OpenStack provides. There are 26 REST API services under an OpenStack umbrella. Twelve of them will be included in an unified side-bar navigation on <a href="http://developer.openstack.org">developer.openstack.org</a> due to using Sphinx tooling provided as a common web experience. Six of them don't have redirects yet from the "old way" to do API reference docs. Seven of them are not collected under a single landing page or common sidebar or navigation. Three of them have no API docs published to a website. </div><div><br></div><div>I'm reporting what I'm seeing from a broader viewpoint than a single project. I don't have a solution other than RST/YAML for common navigation, and I'm asking you to provide ideas for that integration point.</div><div><br></div><div>My vision is that even if you choose to publish with OpenAPI, you would find a way to make this web experience better. We can do better than this scattered approach. I'm asking you to find a way to unify and consider the web experience of a consumer of OpenStack services. Can you generate HTML that can plug into the openstackdocstheme we are providing as a common tool?</div><div>Thanks,</div><div>Anne</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>
[1] <a href="https://review.openstack.org/#/c/303235/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/303235/</a><br>
[2] <a href="https://github.com/elmiko/pecan-swagger/" rel="noreferrer" target="_blank">https://github.com/elmiko/<wbr>pecan-swagger/</a><br>
<br>
Regards,<br>
Shu<br>
<span class=""><br>
<br>
> -----Original Message-----<br>
> From: Anne Gentle [mailto:<a href="mailto:annegentle@justwriteclick.com">annegentle@<wbr>justwriteclick.com</a>]<br>
</span><span class="">> Sent: Monday, August 15, 2016 11:00 AM<br>
> To: Hongbin Lu <<a href="mailto:hongbin.lu@huawei.com">hongbin.lu@huawei.com</a>><br>
> Cc: <a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.<wbr>org</a>; <a href="http://enstack.org" rel="noreferrer" target="_blank">enstack.org</a><br>
> <<a href="mailto:openstack-docs@lists.openstack.org">openstack-docs@lists.<wbr>openstack.org</a>><br>
> Subject: Re: [openstack-dev] [OpenStack-docs] [Magnum] Using common<br>
> tooling for API docs<br>
><br>
> Hi Hongbin,<br>
><br>
> Thanks for asking. I'd like for teams to look for ways to innovate and<br>
> integrate with the navigation as a good entry point for OpenAPI to become<br>
> a standard for OpenStack to use. That said, we have to move forward and<br>
> make progress.<br>
><br>
> Is Lars or anyone on the Magnum team interested in the web development work<br>
> to integrate with the sidebar? See the work at<br>
> <a href="https://review.openstack.org/#/c/329508" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/329508</a> and my comments on<br>
> <a href="https://review.openstack.org/#/c/351800/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/351800/</a> saying that I would like teams<br>
> to integrate first to provide the best web experience for people consuming<br>
> the docs.<br>
><br>
> Anne<br>
><br>
> On Fri, Aug 12, 2016 at 4:43 PM, Hongbin Lu <<a href="mailto:hongbin.lu@huawei.com">hongbin.lu@huawei.com</a><br>
</span><span class="">> <mailto:<a href="mailto:hongbin.lu@huawei.com">hongbin.lu@huawei.com</a>> > wrote:<br>
><br>
><br>
>       Hi team,<br>
><br>
><br>
><br>
>       As mentioned in the email below, Magnum are not using common tooling<br>
> for generating API docs, so we are excluded from the common navigation of<br>
> OpenStack API. I think we need to prioritize the work to fix it. BTW, I<br>
> notice there is a WIP patch [1] for generating API docs by using Swagger.<br>
> However, I am not sure if Swagger belongs to “common tooling” (docs team,<br>
> please confirm).<br>
><br>
><br>
><br>
>       [1] <a href="https://review.openstack.org/#/c/317368/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/317368/</a><br>
> <<a href="https://review.openstack.org/#/c/317368/" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>#/c/317368/</a>><br>
><br>
><br>
><br>
>       Best regards,<br>
><br>
>       Hongbin<br>
><br>
><br>
><br>
>       From: Anne Gentle [mailto:<a href="mailto:annegentle@justwriteclick.com">annegentle@<wbr>justwriteclick.com</a><br>
> <mailto:<a href="mailto:annegentle@justwriteclick.com">annegentle@<wbr>justwriteclick.com</a>> ]<br>
>       Sent: August-10-16 3:50 PM<br>
>       To: OpenStack Development Mailing List;<br>
> <a href="mailto:openstack-docs@lists.openstack.org">openstack-docs@lists.<wbr>openstack.org</a><br>
</span>> <mailto:<a href="mailto:openstack-docs@lists.openstack.org">openstack-docs@lists.<wbr>openstack.org</a>><br>
<span class="">>       Subject: [openstack-dev] [api] [doc] API status report<br>
><br>
><br>
><br>
>       Hi all,<br>
><br>
>       I wanted to report on status and answer any questions you all have<br>
> about the API reference and guide publishing process.<br>
><br>
><br>
><br>
>       The expectation is that we provide all OpenStack API information<br>
</span>> on <a href="http://developer.openstack.org" rel="noreferrer" target="_blank">developer.openstack.org</a> <<a href="http://developer.openstack.org" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org</a>> . In order to<br>
<span class="">> meet that goal, it's simplest for now to have all projects use the<br>
> RST+YAML+openstackdocstheme+<wbr>os-api-ref extension tooling so that users<br>
> see available OpenStack APIs in a sidebar navigation drop-down list.<br>
><br>
><br>
><br>
>       --Migration--<br>
><br>
>       The current status for migration is that all WADL content is<br>
> migrated except for trove. There is a patch in progress and I'm in contact<br>
> with the team to assist in any way.<br>
> <a href="https://review.openstack.org/#/c/316381/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/316381/</a><br>
> <<a href="https://review.openstack.org/#/c/316381/" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>#/c/316381/</a>><br>
><br>
><br>
><br>
>       --Theme, extension, release requirements--<br>
><br>
>       The current status for the theme, navigation, and Sphinx extension<br>
> tooling is contained in the latest post from Graham proposing a solution<br>
> for the release number switchover and offers to help teams as needed:<br>
> <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-August/101112" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>pipermail/openstack-dev/2016-<wbr>August/101112</a>.<br>
> html<br>
</span>> <<a href="http://lists.openstack.org/pipermail/openstack-dev/2016-August/101112" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>pipermail/openstack-dev/2016-<wbr>August/101112</a><br>
> .html>  I hope to meet the requirements deadline to get those changes landed.<br>
<div><div class="h5">> Requirements freeze is Aug 29.<br>
><br>
><br>
><br>
>       --Project coverage--<br>
><br>
>       The current status for project coverage is that these projects are<br>
> now using the RST+YAML in-tree workflow and tools and publishing to<br>
> <a href="http://developer.openstack.org/api-ref/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/</a><br>
> <<a href="http://developer.openstack.org/api-ref/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/</a>> <servicename> so they will be<br>
> included in the upcoming API navigation sidebar intended to span all<br>
> OpenStack APIs:<br>
><br>
><br>
><br>
>       designate <a href="http://developer.openstack.org/api-ref/dns/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/dns/</a><br>
> <<a href="http://developer.openstack.org/api-ref/dns/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/dns/</a>><br>
><br>
>       glance <a href="http://developer.openstack.org/api-ref/image/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/image/</a><br>
> <<a href="http://developer.openstack.org/api-ref/image/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/image/</a>><br>
>       heat <a href="http://developer.openstack.org/api-ref/orchestration/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/orchestration/</a><br>
> <<a href="http://developer.openstack.org/api-ref/orchestration/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/orchestration/</a>><br>
>       ironic <a href="http://developer.openstack.org/api-ref/baremetal/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/baremetal/</a><br>
> <<a href="http://developer.openstack.org/api-ref/baremetal/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/baremetal/</a>><br>
>       keystone <a href="http://developer.openstack.org/api-ref/identity/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/identity/</a><br>
> <<a href="http://developer.openstack.org/api-ref/identity/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/identity/</a>><br>
>       manila<br>
> <a href="http://developer.openstack.org/api-ref/shared-file-systems/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/shared-file-<wbr>systems/</a><br>
> <<a href="http://developer.openstack.org/api-ref/shared-file-systems/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/shared-file-<wbr>systems/</a>><br>
>       neutron-lib <a href="http://developer.openstack.org/api-ref/networking/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/networking/</a><br>
> <<a href="http://developer.openstack.org/api-ref/networking/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/networking/</a>><br>
>       nova <a href="http://developer.openstack.org/api-ref/compute/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/compute/</a><br>
> <<a href="http://developer.openstack.org/api-ref/compute/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/compute/</a>><br>
>       sahara <a href="http://developer.openstack.org/api-ref/data-processing/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/data-processing/</a><br>
> <<a href="http://developer.openstack.org/api-ref/data-processing/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/data-processing/</a>><br>
>       senlin <a href="http://developer.openstack.org/api-ref/clustering/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/clustering/</a><br>
> <<a href="http://developer.openstack.org/api-ref/clustering/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/clustering/</a>><br>
>       swift <a href="http://developer.openstack.org/api-ref/object-storage/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/object-storage/</a><br>
> <<a href="http://developer.openstack.org/api-ref/object-storage/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/object-storage/</a>><br>
>       zaqar <a href="http://developer.openstack.org/api-ref/messaging/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/messaging/</a><br>
> <<a href="http://developer.openstack.org/api-ref/messaging/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/messaging/</a>><br>
><br>
><br>
><br>
>       These projects are using the in-tree workflow and common tools,<br>
> but do not have a publish job in project-config in the<br>
> jenkins/jobs/projects.yaml file.<br>
><br>
><br>
><br>
>       ceilometer<br>
><br>
><br>
><br>
>       --Projects not using common tooling--<br>
><br>
>       These projects have API docs but are not yet using the common tooling,<br>
> as far as I can tell. Because of the user experience, I'm making a judgement<br>
> call that these cannot be included in the common navigation. I have patched<br>
> the projects.yaml file in the governance repo with the URLs I could<br>
> screen-scrape, but if I'm incorrect please do patch the projects.yaml in<br>
> the governance repo.<br>
><br>
><br>
><br>
>       astara<br>
><br>
>       cloudkitty<br>
><br>
>       congress<br>
><br>
>       magnum<br>
><br>
>       mistral<br>
><br>
>       monasca<br>
><br>
>       solum<br>
><br>
>       tacker<br>
><br>
>       trove<br>
><br>
><br>
><br>
>       Please reach out if you have questions or need assistance getting<br>
> started with the new common tooling, documented here:<br>
> <a href="http://docs.openstack.org/contributor-guide/api-guides.html" rel="noreferrer" target="_blank">http://docs.openstack.org/<wbr>contributor-guide/api-guides.<wbr>html</a><br>
</div></div>> <<a href="http://docs.openstack.org/contributor-guide/api-guides.html" rel="noreferrer" target="_blank">http://docs.openstack.org/<wbr>contributor-guide/api-guides.<wbr>html</a>> .<br>
<span class="">><br>
><br>
><br>
>       For searchlight, looking at<br>
> <a href="http://developer.openstack.org/api-ref/search/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/search/</a><br>
> <<a href="http://developer.openstack.org/api-ref/search/" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org/api-ref/search/</a>>  they have the build<br>
> job, but the info is not complete yet.<br>
><br>
><br>
><br>
>       One additional project I'm not sure what to do with is<br>
> networking-nfc, since I'm not sure it is considered a neutron API. Can I<br>
> get help to sort that question out?<br>
><br>
><br>
>       --Redirects from old pages--<br>
><br>
>       We have been adding .htaccess redirects from the old<br>
> api-ref-servicename.html on <a href="http://developer.openstack.org" rel="noreferrer" target="_blank">developer.openstack.org</a><br>
</span>> <<a href="http://developer.openstack.org" rel="noreferrer" target="_blank">http://developer.openstack.<wbr>org</a>>  as teams are comfortable with the<br>
<span class="">> accuracy of information and build stability. Please help out by patching<br>
> the api-site repository's .htaccess file when you are ready to redirect.<br>
> These projects could be ready for redirects but do not have them:<br>
><br>
><br>
><br>
>       designate<br>
><br>
>       glance<br>
><br>
>       heat<br>
><br>
>       sahara<br>
><br>
>       senlin<br>
><br>
>       swift<br>
><br>
><br>
><br>
>       I'm available for questions so please reach out as needed. I hope<br>
> this covers our current status.<br>
><br>
><br>
><br>
>       A million thank yous to everyone who got us this far! Great teamwork,<br>
> great docs work, great UI work, and great API work everyone.<br>
><br>
>       Anne<br>
><br>
><br>
><br>
>       --<br>
><br>
>       Anne Gentle<br>
><br>
</span>>       <a href="http://www.justwriteclick.com" rel="noreferrer" target="_blank">www.justwriteclick.com</a> <<a href="http://www.justwriteclick.com" rel="noreferrer" target="_blank">http://www.justwriteclick.com</a><wbr>><br>
<span class="">><br>
><br>
>       ______________________________<wbr>_________________<br>
>       OpenStack-docs mailing list<br>
>       <a href="mailto:OpenStack-docs@lists.openstack.org">OpenStack-docs@lists.<wbr>openstack.org</a><br>
</span>> <mailto:<a href="mailto:OpenStack-docs@lists.openstack.org">OpenStack-docs@lists.<wbr>openstack.org</a>><br>
>       <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-</a><br>
> docs<br>
<span class="">> <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-docs</a>><br>
><br>
><br>
><br>
><br>
><br>
><br>
> --<br>
><br>
> Anne Gentle<br>
</span>> <a href="http://www.justwriteclick.com" rel="noreferrer" target="_blank">www.justwriteclick.com</a> <<a href="http://www.justwriteclick.com" rel="noreferrer" target="_blank">http://www.justwriteclick.com</a><wbr>><br>
<div class=""><div class="h5"><br>
______________________________<wbr>_________________<br>
OpenStack-docs mailing list<br>
<a href="mailto:OpenStack-docs@lists.openstack.org">OpenStack-docs@lists.<wbr>openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-docs</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Anne Gentle</div><div><a href="http://www.justwriteclick.com" style="font-size:12.8px" target="_blank">www.justwriteclick.com</a><br></div></div></div></div></div>
</div></div>