Hi Edison,

Sorry for the delay.

Please see inline...

Cheers,
Gilles

On 07/09/18 12:03, Edison Xiang wrote:
Hey gilles,

Thanks your introduction for GraphQL and Relay.

> GraphQL and OpenAPI have a different feature scope and both have pros and 
cons.

I totally agree with you. They can work together.
Right now, I think we have no more work to adapt OpenStack APIs for Open API. Firstly we could sort out Open API schemas base on the current OpenStack APIs.
and then we can discuss how to use it.

I think a big question is going to be about the effort required to bring OpenStack API to be Open API v3.0 compliant. This is challenging because the various projects involved and the need to validate a new solution across all the projects. The best approach is likely to first demonstrate a new solution is viable and then eventually bring it to be accepted globally. Also because we don't have unlimited resources, I doubt we're going to be able to bring both Open API and GraphQL to the table(s).

There no doubts how OpenStack APIs can benefit from features such as schema definitions, self documentation and better performance especially if they are built-in or derived from a standard. Meanwhile a practical example shows those features in action (for the skeptical) but also demonstrate how to do it which clarify the effort involved along with pros and cons.I want to make clear that I'm not against OpenAPI, I was actually keen to get it on board because of the benefits

And it will also helps compare solutions (Open API, GraphQL).

So, what do you think about an Open API proof of concept with Neutron?


About the micro version, we discuss with your team mate dmitry in another email [1]

Obviously micro version is a point of contention.
My take on this is because consuming them has been proven harder than developing them.
The beauty of GraphQL is that there is no need to deal with version at all.
New fields appears when needed and old one are marked deprecated.



[1] http://lists.openstack.org/pipermail/openstack-dev/2018-September/134202.html

Best Regards,
Edison Xiang

On Tue, Sep 4, 2018 at 8:37 AM Gilles Dubreuil <gdubr...@redhat.com <mailto:gdubr...@redhat.com>> wrote:



    On 30/08/18 13:56, Edison Xiang wrote:
    Hi Ed Leafe,

    Thanks your reply.
    Open API defines a standard interface description for REST APIs.
    Open API 3.0 can make a description(schema) for current OpenStack
    REST API.
    It will not change current OpenStack API.
    I am not a GraphQL expert. I look up something about GraphQL.
    In my understanding, GraphQL will get current OpenAPI together
    and provide another APIs based on Relay,

    Not sure what you mean here, could you please develop?


    and Open API is used to describe REST APIs and GraphQL is used to
    describe Relay APIs.

    There is no such thing as "Relay APIs".
    GraphQL povides a de-facto API Schema and Relay provides
    extensions on top to facilitate re-fetching, paging and more.
    GraphQL and OpenAPI have a different feature scope and both have
    pros and cons.
    GraphQL is delivering API without using REST verbs as all requests
    are undone using POST and its data.
    Beyond that what would be great (and it will ultimately come) is
    to have both of them working together.

    The idea of the GraphQL Proof of Concept is see what it can bring
    and at what cost such as effort and trade-offs.
    And to compare this against the effort to adapt OpenStack APIs to
    use Open API.

    BTW what's the status of Open API 3.0 in regards of Microversion?

    Regards,
    Gilles


    Best Regards,
    Edison Xiang

    On Wed, Aug 29, 2018 at 9:33 PM Ed Leafe <e...@leafe.com
    <mailto:e...@leafe.com>> wrote:

        On Aug 29, 2018, at 1:36 AM, Edison Xiang
        <xiang.edi...@gmail.com <mailto:xiang.edi...@gmail.com>> wrote:
        >
        > As we know, Open API 3.0 was released on July, 2017, it is
        about one year ago.
        > Open API 3.0 support some new features like anyof, oneof
        and allof than Open API 2.0(Swagger 2.0).
        > Now OpenStack projects do not support Open API.
        > Also I found some old emails in the Mail List about
        supporting Open API 2.0 in OpenStack.

        There is currently an effort by some developers to
        investigate the possibility of using GraphQL with OpenStack
        APIs. What would Open API 3.0 provide that GraphQL would not?
        I’m asking because I don’t know enough about Open API to
        compare them.


        -- Ed Leafe






        
__________________________________________________________________________
        OpenStack Development Mailing List (not for usage questions)
        Unsubscribe:
        openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
        <http://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
    <mailto:openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-- Gilles Dubreuil
    Senior Software Engineer - Red Hat - Openstack DFG Integration
    Email:gil...@redhat.com <mailto:gil...@redhat.com>
    GitHub/IRC: gildub
    Mobile: +61 400 894 219


--
Gilles Dubreuil
Senior Software Engineer - Red Hat - Openstack DFG Integration
Email: gil...@redhat.com
GitHub/IRC: gildub
Mobile: +61 400 894 219

__________________________________________________________________________
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

Reply via email to