13:00:03 <alex_xu> #startmeeting nova api
13:00:04 <openstack> Meeting started Wed Mar 16 13:00:03 2016 UTC and is due to finish in 60 minutes.  The chair is alex_xu. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:00:05 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
13:00:09 <openstack> The meeting name has been set to 'nova_api'
13:00:15 <alex_xu> who is here today?
13:00:24 <gmann_> hi
13:00:29 <jichen> o/
13:00:54 <cdent> o/
13:01:31 <alex_xu> hello everyone, hope this new time is good for everyone
13:02:18 <alex_xu> I guess it's still a little early for ken'ichi
13:02:28 <gmann_> yea, little bit late but its fine.
13:02:38 <sdague> o/ did not have this in my normal irc list
13:02:48 <alex_xu> gmann_: thanks :)
13:03:09 <alex_xu> sdague: yea, that channel should be used by other team
13:03:20 <gmann_> humm
13:03:27 <alex_xu> anyway let's run the meeting
13:03:31 <alex_xu> #topic Nova Microversion testing in Tempest
13:03:44 <alex_xu> gmann_: your turn
13:03:50 <gmann_> alex_xu: yea,
13:04:00 <gmann_> so only 1 patch left for framework side
13:04:02 <gmann_> #link https://review.openstack.org/#/c/284414/
13:04:24 <gmann_> sdague: if you can have look, Kenichi has +2 on that
13:05:01 <gmann_> after that lib has all interface and all compute service client support of microverstion setting
13:05:06 <sdague> gmann_: I'll put it on the list, I'm chugging through some docs things at this point
13:05:18 <gmann_> sdague: sure, thanks
13:05:47 <gmann_> sdague: also this one v2.20 - https://review.openstack.org/#/c/258391/
13:06:02 <gmann_> others are doc things etc which can be reviewed later
13:06:38 <gmann_> That's all from my side
13:06:48 <alex_xu> gmann_: thanks for the work!
13:06:59 <gmann_> np :)
13:07:30 <gmann_> alex_xu: it will be nice if you review this one - https://review.openstack.org/#/c/261426/6
13:07:44 <gmann_> will get if anything missed or more details needs there
13:08:22 <alex_xu> gmann_: yea, will review it
13:08:32 <gmann_> alex_xu: Thanks
13:08:36 <alex_xu> gmann_: np
13:08:41 <alex_xu> #topic open
13:08:42 <oomichi_> gmann_: thanks, I missed that
13:08:51 <alex_xu> oomichi_: good morning :)
13:09:03 <gmann_> oomichi_: Thanks, please check, and this too https://review.openstack.org/#/c/258391/
13:09:06 <oomichi_> alex_xu: hi, morning
13:09:12 <sdague> FYI I started looking at the api-site, and the path forward there
13:09:14 <oomichi_> :)
13:09:17 <gmann_> oomichi_: other are already reviewed by you.
13:09:35 <oomichi_> gmann_: ok, I got it
13:09:37 <sdague> and I'm not convinced that the swagger path is going to get us anywhere useful anytime soon
13:09:38 <Kevin_Zheng> already open?
13:09:38 <alex_xu> sdague: I saw one patch about doc, but not sure what is the final goal
13:09:54 <sdague> alex_xu: right now, this is experimentation
13:10:31 <gmann_> sdague: alex_xu we want to have version vise doc right
13:10:33 <sdague> because the amount of tooling and extensions we're going to have to write around swagger basically means we're 1 to 2 years away from an API site based on that
13:10:41 <sdague> if ever
13:10:58 <sdague> and what would it look like to go to RST as our master format instead
13:11:04 <alex_xu> sdague: actually I take look at fair-slipper, looks like it didn't used in the real world, so it worth to worry about
13:11:24 <sdague> right, and fairy-slipper isn't really a swagger parser
13:11:37 <sdague> it takes one particular yaml subset of swagger and makes a thing
13:12:07 <sdague> also, swagger doesn't really map to our APIs, because it has a very specific representation expectation
13:12:19 <sdague> which... if we were starting from scratch, I'd totally be fore
13:12:23 <sdague> but we're not
13:12:45 <sdague> it's a tool that's really designed to be used in the design stage of an API to make a good API
13:13:03 <alex_xu> sdague: for microversion and action, maybe we can use extend swagger to support that, as swagger support some kind of extend.
13:13:18 <sdague> alex_xu: then we're writing 100% our own tools for transform
13:13:39 <sdague> so the answer is, do we have 4 to 5 engineers to just maintain a swagger toolchain?
13:13:41 <oomichi_> sdague: that is a reason why we need to apply swagger without changing current nova code, right?
13:13:42 <alex_xu> sdague: good point, that is true
13:13:46 <cdent> s/good API/API/
13:14:29 <sdague> oomichi_: here are the problems as I see them
13:14:31 <oomichi_> sdague: so it is necessary to create swager doc from current code without changing
13:14:39 <sdague> oomichi_: that's not possible
13:14:57 <sdague> or, more importantly, that's extremely hard
13:15:13 <oomichi_> sdague: ah, I see your poing
13:15:20 <oomichi_> s/poing/point/
13:15:29 <gmann_> oomichi_: sdague with existing code and doc string etc, it would have much result doc
13:15:31 <sdague> https://etherpad.openstack.org/p/api-site-in-rst
13:15:48 <oomichi_> yeah, current api design is too nova specific on some apis
13:16:06 <sdague> gmann_: it's not even that, have you looked at the way request body is modeled?
13:16:44 <sdague> my top concern is the following
13:17:05 <gmann_> sdague: humm, one example i saw where it adds param and type etc not whole body
13:17:27 <sdague> 1) the api-site is very wrong and very confusing, and being in wadl with a toolchain no one understands, is very hard to fix
13:17:47 <sdague> we need to solve docs to our users as a top priority
13:18:49 <sdague> anyway, this week is a week of experimenting about other ways forward
13:18:52 <sdague> for me
13:19:13 <sdague> annegentle is on vacation, we were going to sync back up when she gets back to figure out what the options look like
13:19:28 <sdague> because people have been saying swagger since... 2013... ?
13:19:35 <sdague> and we're effectively no where still
13:19:50 <cdent> sdague: I think it is wrong to suggest that the delay there is because of swagger
13:19:56 <cdent> the delay is because of humans
13:20:03 <sdague> cdent: sure
13:20:19 <cdent> (which is not to say that going rst is wrong)
13:20:39 <sdague> cdent: if you think you have an approach that gets us there with swagger in the next cycle, I'm happy to hear about it
13:21:11 <sdague> but in reading the swagger spec, looking at the ecosystem of tools, I don't see that happening for 2 - 4 cycles in the best case
13:21:55 * cdent nods
13:22:47 <sdague> it's also amazing in reading our api docs to do this reformating, how inaccurate they are :(
13:23:11 <alex_xu> looks like we also need some tool to translate to rst also.
13:23:14 <sdague> but maybe that would be more fixable if it was easier for people to see what it looks like
13:23:25 <sdague> alex_xu: yeh, annegentle has some bits of that
13:23:37 <sdague> https://github.com/annegentle/wadl2rst
13:23:48 <sdague> anyway, this was mostly an FYI that an experiment is ongoing
13:23:49 <alex_xu> ah, cool
13:23:55 <sdague> no decisions are made at this point
13:24:14 <sdague> I figured I need to at least hand convert all the methods on /servers/ to get a feel for what this would be
13:24:39 <sdague> and in doing the process a bunch of interesting ideas on how we might have some structured data has emerged
13:25:51 <sdague> will hopefully have more data in a week
13:25:55 <cdent> sdague: I suspect you are already on this, but please try to avoid reinventing swagger, raml, etc :)
13:26:10 <sdague> cdent: sure
13:26:24 <sdague> but part of it is about scope to completion
13:26:30 <alex_xu> except doc, anymore expectation on swagger for us?
13:26:49 <sdague> if we can get to an rst base, with a plug point for structured data
13:27:03 <sdague> we can start with something a bit quick and dirty to build tables
13:27:18 <sdague> and then swap out with something more standardized later
13:27:25 <sdague> once we can see the whole publish workflow
13:27:36 <gmann_> sdague: if you need any help on some experiments, please let us know, we can give some TZ advantage here.
13:29:02 <sdague> gmann_: sure, right now I need to just figure out some working patterns
13:29:28 <gmann_> sdague: ok.
13:29:46 <sdague> I expect whenever we come up with a repeatable pattern, no matter what it is, we'll need a lot of hands to do some of the cleanups, as any of the translations are only 90%
13:30:15 <sdague> all from me for now
13:30:19 <alex_xu> yea, let's see more, hope we can resolve this problem in newton, as our api version is 2.25 now
13:31:01 <oomichi_> ok, I'd like to try digging swagger thing in this 2 weeks with some actual prototype
13:31:52 * alex_xu happy to help on both side :)
13:32:05 <oomichi_> with reviewing doc patches
13:32:24 <sdague> oomichi_: ok, I didn't see a path forward for lots of our constructs in Nova
13:33:10 <oomichi_> sdague: yeah, I am feeling now that is difficult.
13:33:23 <sdague> and, again, realize that these tools were meant to be part of the design process. And when they are, the results are good
13:33:40 <sdague> but trying to adhoc apply them later, is really hard, if not impossible
13:34:10 <alex_xu> actually I think swagger will be interface between nova and doc team
13:34:32 <oomichi_> sdague: yeah, and nova api itself is also adohoc. very inconsistent
13:34:53 <sdague> alex_xu: why do you think that?
13:35:52 <sdague> that somewhat assumes that swagger is a familar common language to both sides and the easiest way to communicate
13:35:59 <alex_xu> sdague: I thought there will be some UI, like fairy-flipper doing. But if rst is easy to public the api site, then I think rst will probably good way for now
13:36:02 <sdague> and I'm not sure any of that was true
13:37:03 <oomichi_> alex_xu: yeah, I also am feeling. swagger will be good to create api-site automatically from the nova code to doc team
13:37:13 <oomichi_> that is just a hope
13:37:36 <oomichi_> and just experimental
13:38:28 <alex_xu> oomichi_: yeah, but more worry about the progress of swagger support in doc team.
13:38:44 <alex_xu> anyway let us dig into more, then revisit this problem
13:39:26 <oomichi_> alex_xu: yeah, it is nice to make the problems appear cleary
13:39:39 <alex_xu> so anymore open today?
13:39:54 <Kevin_Zheng> I have one
13:40:01 <alex_xu> Kevin_Zheng: please go ahead
13:40:18 <Kevin_Zheng> https://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/user-defined-shutdown.html
13:40:22 <Kevin_Zheng> we found this
13:40:50 <Kevin_Zheng> about user defined shutdown
13:40:56 <sdague> Kevin_Zheng: I was pretty sure we always sent the graceful shutdown now
13:41:03 <sdague> I was looking in that code the other day
13:41:12 <Kevin_Zheng> yes I mean
13:41:18 <alex_xu> I guess most of part are implement, except api bit
13:41:25 <Kevin_Zheng> yes
13:41:35 <Kevin_Zheng> so we want to continue the API job
13:41:44 <Kevin_Zheng> already contacted the author
13:41:51 <sdague> Kevin_Zheng: well, I think DELETE already does this now, no?
13:42:03 <Kevin_Zheng> he have no time so I will do it
13:42:22 <Kevin_Zheng> yes I think he finish the delete, reboot job
13:42:35 <sdague> Kevin_Zheng: ok, I think we need a new spec now though, because I'm pretty sure that libvirt *always* sends the graceful shutdown to the domain
13:42:48 <alex_xu> sdague: agree
13:42:52 <Kevin_Zheng> just want to now if anyone are against this now
13:43:01 <sdague> Kevin_Zheng: so what are you proposing exactly?
13:43:16 <Kevin_Zheng> user can define graceful or hard
13:43:20 <Kevin_Zheng> like this
13:43:31 <Kevin_Zheng> like soft reboot and hard rebbot
13:43:34 <Kevin_Zheng> reboot
13:44:26 <sdague> ok, I'm not convinced the API as written there is the thing we want, lets start a new spec on this
13:44:42 <alex_xu> I only remember there is image properties to set this.
13:44:44 <Kevin_Zheng> OK, I will do that
13:44:53 <sdague> and do the analysis about how this all works today
13:45:05 <Kevin_Zheng> sure
13:45:06 <sdague> and which operations are really needed here
13:45:14 <sdague> I can see reboot for sure
13:45:18 <Kevin_Zheng> sure
13:45:19 <Kevin_Zheng> thanks
13:45:30 <alex_xu> sdague: +1, actually I'm not sure delete do that
13:45:31 <Kevin_Zheng> I will put out some details next time
13:46:19 <sdague> alex_xu: right, I could also see a force DELETE that bypasses the graceful shutdown
13:46:19 <alex_xu> ok, any open today?
13:46:26 <jichen> when will we talk about https://etherpad.openstack.org/p/newton-nova-api-ideas ? in the summit ?
13:47:36 <alex_xu> actually we talk about api doc today
13:48:10 <alex_xu> how about we talk each item next week?
13:48:15 <sdague> sounds good
13:48:26 <jichen> yeah, I just want to know when we will talk and won't miss it
13:48:28 <jichen> :)
13:49:01 <alex_xu> yea, cool
13:49:21 <alex_xu> so any more open today?
13:49:55 <alex_xu> if not, we will close the meeting a little early
13:50:08 <alex_xu> 3...
13:50:14 <alex_xu> 2..
13:50:20 <alex_xu> 1.
13:50:30 <alex_xu> ok, thanks for all!
13:50:34 <jichen> thanks~
13:50:38 <gmann_> Thanks all
13:50:40 * auggy just caught the tail end!!
13:50:40 <oomichi_> thanks
13:50:41 <alex_xu> #endmeeting