Hello,

In order to continue and progress on the API Schema guideline [1] as mentioned in [2] to make APIs more machine-discoverable and also discussed during [3].

Unfortunately until a new or either a second meeting time slot has been allocated,  inconveniently for everyone, have to be done by emails.


> We felt that this was more of a one-off need rather than something we'd like to see rolled out across all OpenStack APIs.


Of course new features have to be decided (voted) by the community but how does that work when there are not enough people voting in? It seems unfair to decide not to move forward and ignore the request because the others people interested are not participating at this level.

It's very important  to consider the fact "I" am representing more than just myself but an Openstack integration team, whose members are supporting me, and our work impacts others teams involved in their open source product consuming OpenStack. I'm sorry if I haven't made this more clear from the beginning, I guess I'm still learning on the particiaption process. So from now on, I'm going to use "us" instead.

Also from discussions with other developers from AT&T (OpenStack summit in Sydney) and SAP (Misty project) who are already using automation to consume APIs, this is really needed.

I've also mentioned the now known fact that no SDK has full time resources to maintain it (which was the initial trigger for us) more automation is the only sustainable way to continue the journey.

Finally how can we dare say no to more automation? Unless of course, only artisan work done by real hipster is allowed ;)


> Furthermore, API-Schema will be problematic for services that use microversions. If you have some insight or opinions on this, please add your comments to that review.


I understand microversion standardization (OpenAPI) has not happened yet or if it ever does but that shouldn't preclude making progress. As a matter of fact we can represent different versions of a resource in many ways just not in standardized fashion, and in the simplest (or worst case) scenario an API Schema can represent only one microversion version, more likely the latest at a specific point of time such Schema was built.


Also responding to [4]:

<cdent>  the goal, from gilles, is being able to create client code that works 
against real deployments


In some initial brainstorm discussion effectively came up the idea of doing of building the SDK client dynamically against any OpenStack service. For instance, depending on the specific (micro)versions supported by the servers the API schema would be given in response. Although an interesting idea, we are not talking about such feature, which could be an interesting academic topic (or not!).

So summarize and clarify, we are talking about SDK being able to build their interface to Openstack APIs in an automated way but statically from API Schema generated by every project. Such API Schema is already built in memory during API reference documentation generation and could be saved in JSON format (for instance) (see [5]).

[1] https://review.openstack.org/#/c/524467/
[2] http://lists.openstack.org/pipermail/openstack-dev/2018-February/127140.html [3] eavesdrop.openstack.org/meetings/api_sig/2018/api_sig.2018-02-08-16.00.log.html#l-95 [4] http://eavesdrop.openstack.org/meetings/api_sig/2018/api_sig.2018-02-08-16.00.log.html#l-127
[5] https://review.openstack.org/#/c/528801

Cheers,
Gilles

On 16/03/18 04:30, Chris Dent wrote:

Greetings OpenStack community,

A rousing good time at the API-SIG meeting today. We opened with some discussion on what might be missing from the Methods [7] section of the HTTP guidelines. At the PTG we had discussed that perhaps we needed more info on which methods were appropriate when. It turns that what we probably need is better discoverability, so we're going to work on that but at the same time do a general review of that entire page.

We then talked about microversions a bit (because it wouldn't be an API-SIG without them). There's an in-progress history of microversions document (linked below) that we need to decide if we'll revive. If you have a strong opinion, let us know.

And finally we explored the options for how or if Neutron can cleanly resolve the handling of invalid query parameters. This was raised a while back in an email thread [8]. It's generally a good idea not to break existing client code, but what if that client code is itself broken? The next step will be to make the choice configurable. Neutron doesn't support microversions so "throw another microversion at it" won't work.

As always if you're interested in helping out, in addition to coming to the meetings, there's also:

* The list of bugs [5] indicates several missing or incomplete guidelines. * The existing guidelines [2] always need refreshing to account for changes over time. If you find something that's not quite right, submit a patch [6] to fix it. * Have you done something for which you think guidance would have made things easier but couldn't find any? Submit a patch and help others [6].

# Newly Published Guidelines

None this week.

# API Guidelines Proposed for Freeze

Guidelines that are ready for wider review by the whole community.

None this week.

# Guidelines Currently Under Review [3]

* Add guidance on needing cache-control headers
  https://review.openstack.org/550468

* Add guideline on exposing microversions in SDKs
  https://review.openstack.org/#/c/532814/

* Add API-schema guide (still being defined)
  https://review.openstack.org/#/c/524467/

* A (shrinking) suite of several documents about doing version and service discovery
  Start at https://review.openstack.org/#/c/459405/

* WIP: microversion architecture archival doc (very early; not yet ready for review)
  https://review.openstack.org/444892

# Highlighting your API impacting issues

If you seek further review and insight from the API SIG about APIs that you are developing or changing, please address your concerns in an email to the OpenStack developer mailing list[1] with the tag "[api]" in the subject. In your email, you should include any relevant reviews, links, and comments to help guide the discussion of the specific challenge you are facing.

To learn more about the API SIG mission and the work we do, see our wiki page [4] and guidelines [2].

Thanks for reading and see you next week!

# References

[1] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[2] http://specs.openstack.org/openstack/api-wg/
[3] https://review.openstack.org/#/q/status:open+project:openstack/api-wg,n,z
[4] https://wiki.openstack.org/wiki/API_SIG
[5] https://bugs.launchpad.net/openstack-api-wg
[6] https://git.openstack.org/cgit/openstack/api-wg
[7] http://specs.openstack.org/openstack/api-wg/guidelines/http.html#http-methods [8] http://lists.openstack.org/pipermail/openstack-dev/2018-March/128023.html

Meeting Agenda
https://wiki.openstack.org/wiki/Meetings/API-SIG#Agenda
Past Meeting Records
http://eavesdrop.openstack.org/meetings/api_sig/
Open Bugs
https://bugs.launchpad.net/openstack-api-wg



__________________________________________________________________________
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

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


__________________________________________________________________________
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