<div dir="ltr">Hi,<div><br></div><div>I am happy to see the effort to explore a new API mechanism.</div><div>I would like to see good progress and help effort as API liaison from the neutron team.</div><div><br></div><div>> <span style="color:rgb(34,34,34);font-family:sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Neutron has been selected for the PoC because of its specific data model</span></div><div><br></div><div>On the other hand, I am not sure this is the right reason to choose 'neutron' only from this reason. I would like to note "its specific data model" is not the reason that makes the progress of API versioning slowest in the OpenStack community. I believe it is worth recognized as I would like not to block the effort due to the neutron-specific reasons.</div><div>The most complicated point in the neutron API is that the neutron API layer allows neutron plugins to declare which features are supported. The neutron API is a collection of API extensions defined in the neutron-lib repo and each neutron plugin can declare which subset(s) of the neutron APIs are supported. (For more detail, you can check how the neutron API extension mechanism is implemented). It is not defined only by the neutron API layer. We need to communicate which API features are supported by communicating enabled service plugins.</div><div><br></div><div>I am afraid that most efforts to explore a new mechanism in neutron will be spent to address the above points which is not directly related to GraphQL itself.<br></div><div>Of course, it would be great if you overcome long-standing complicated topics as part of GraphQL effort :)<br></div><div><br></div><div>I am happy to help the effort and understand how the neutron API is defined.</div><div><br></div><div>Thanks,</div><div>Akihiro</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">2018年5月5日(土) 18:16 Gilles Dubreuil <<a href="mailto:gdubreui@redhat.com">gdubreui@redhat.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
Few of us recently discussed [1] how GraphQL [2], the next evolution <br>
from REST, could transform OpenStack APIs for the better.<br>
Effectively we believe OpenStack APIs provide perfect use cases for <br>
GraphQL DSL approach, to bring among other advantages, better <br>
performance and stability, easier developments and consumption, and with <br>
GraphQL Schema provide automation capabilities never achieved before.<br>
<br>
The API SIG suggested to start an API GraphQL Proof of Concept (PoC) to <br>
demonstrate the capabilities before eventually extend GraphQL to other <br>
projects.<br>
Neutron has been selected for the PoC because of its specific data model.<br>
<br>
So if you are interested, please join us.<br>
For those who can make it, we'll also discuss this during the SIG API <br>
BoF at OpenStack Summit at Vancouver [3]<br>
<br>
To learn more about GraphQL, check-out <a href="http://howtographql.com" rel="noreferrer" target="_blank">howtographql.com</a> [4].<br>
<br>
So let's get started...<br>
<br>
<br>
[1] <a href="http://lists.openstack.org/pipermail/openstack-dev/2018-May/130054.html" rel="noreferrer" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2018-May/130054.html</a><br>
[2] <a href="http://graphql.org/" rel="noreferrer" target="_blank">http://graphql.org/</a><br>
[3] <br>
<a href="https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21798/api-special-interest-group-session" rel="noreferrer" target="_blank">https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21798/api-special-interest-group-session</a><br>
[4] <a href="https://www.howtographql.com/" rel="noreferrer" target="_blank">https://www.howtographql.com/</a><br>
<br>
Regards,<br>
Gilles<br>
<br>
<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>