13:00:28 #startmeeting nova api 13:00:29 Meeting started Wed Oct 12 13:00:28 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:30 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:00:33 The meeting name has been set to 'nova_api' 13:00:35 who is here today 13:00:48 \o 13:00:48 hi 13:00:50 hi 13:00:57 o/ 13:00:59 o/ 13:01:31 let us wait two more minutes 13:02:24 o/ 13:02:39 o/ 13:02:44 sdague: johnthetubaguy cool 13:02:50 let us start the meeting 13:02:57 o/ 13:02:59 #topic Summit ideas 13:03:19 so..let us talk about summit ideas first 13:03:35 #link https://etherpad.openstack.org/p/ocata-nova-summit-api 13:03:45 ^ this is the etherpad for summit api session 13:03:52 #link https://etherpad.openstack.org/p/nova_api_ocata_ideas 13:04:13 ^ and I wrote down few things in another etherpad 13:05:26 fixing the sort/filter keys for listing servers is going to be a priority for ocata b/c of multi cells 13:05:35 we had a bug for that 13:05:45 * mriedem looks it up 13:05:49 that is mostly about being strict on allowed keys, right? 13:05:53 yeah 13:05:56 so not instance.info_cache 13:05:59 right 13:06:06 sdague: yes 13:06:14 https://bugs.launchpad.net/nova/+bug/1609039 13:06:14 Launchpad bug 1609039 in OpenStack Compute (nova) "Should not be able to sort instances based on joined tables" [High,In progress] - Assigned to Zhenyu Zheng (zhengzhenyu) 13:06:14 and there is bug fix from Kevin_Zheng https://review.openstack.org/359134 13:06:23 mriedem: yea, also that one 13:06:26 there is a piece of infrastructure that is needed with is a jsonschema equivalent for parameters 13:07:01 yeah, would be good to finish off parameter validation 13:07:27 I would start with generic parameter validation module, and then use that to apply to sort keys 13:08:20 sdague: so we should merge the bug fix from Kevin_Zheng first, then use micorversion to strict the allowed keys? 13:08:43 sdague: you are right, we should add layer of validation, like we have for the body 13:09:12 alex_xu: maybe... honestly it would be nice to have the validation layer to handle it all 13:09:23 sdague: ok 13:09:30 https://review.openstack.org/#/c/359134/15/nova/api/openstack/compute/servers.py looks hard to maintain to me 13:09:33 jsonschema has been really useful to ensure we are only working with good known data 13:09:38 i.e. easy to miss something and regress 13:09:46 mriedem: yes, agreed 13:09:52 mriedem: agreed also 13:10:49 i always envisioned the fix would involve some sqlalchemy magic on the instances table to get the list of columns that excludes joined tables 13:10:53 sdague: we will be having some json schema for all allowed query param and validate that in generic infra? 13:10:58 plus, sorting by ephemeral_gb is going to be a DOS attack on large environments. Really nothing should be in the sort list that doesn't have an index 13:11:06 gmann_: something like that 13:11:13 k 13:11:30 mriedem: so, actually, I would push against magic 13:11:41 I do think we're talking about large defined listed 13:11:50 I like how jsonscheme dropped a whole load of brittle code 13:11:59 yeah, a defined list seems safest at this point 13:12:00 we're going to say that sort_keys is a enum, and here are the values 13:12:16 yeah i'm fine with that 13:12:40 and this validation layer should return consistent error messages back to the user as well 13:12:41 that sounds nice 13:12:44 like jsonschema 13:13:11 if we restrict to only columns that are indexed, i'd want to get agreement on that from the ops people first 13:13:11 ok... so who can champion this and draft up a spec? 13:13:16 since we don't know what they are using 13:13:28 there is the obvious follow task of validating all the parameters, feels like a good idea really. 13:13:59 mriedem: sure... honestly, we could make the first pass, which applies retroactively, be the "not completely dangerous list" 13:14:10 and then do as alex_xu said and mv in a stricter list 13:14:43 i can help on if nobody raise hand 13:15:25 i don't know the jsonschema plumbing well enough 13:15:28 to add a layer for that 13:15:31 alex_xu: I was of a similar view, i could help. Its important hardening 13:16:08 johnthetubaguy: cool 13:16:25 alex_xu: great, can you have a spec by next week? 13:16:41 sdague: yea, I can 13:16:42 #action alex_xu to write first draft of spec on parameter validation for next week 13:17:32 alex_xu: great, thanks 13:17:35 alex_xu: sdague may be validation can be done with some overridden jsonscham validator like we do for some specific elements like UUID format etc ? 13:17:39 sdague: np 13:17:49 and pass whatever we get in query 13:18:09 gmann_: maybe. It might be based on something else as well. We'll let alex_xu run with it and provide the options. 13:18:24 yea. 13:18:29 gmann_: yea, I will try that idea 13:18:55 sdague: alex_xu: sure, thanks 13:19:06 i also added https://bugs.launchpad.net/nova/+bug/1567655 to the idea etherpad 13:19:06 Launchpad bug 1567655 in OpenStack Compute (nova) "500 error when trying to list instances and neutron-server is down" [Medium,In progress] - Assigned to Prateek Arora (parora) 13:19:12 about caching instance.security_groups 13:19:23 so we don't roundtrip to neutron for every instance when listing instances 13:19:50 it's always been a performance problem, but with TLS in the gate now we're also seeing connection failures due to that 13:20:17 it's less of a REST API thing though, so not sure if it fits into this list 13:20:55 I have this bit up for review: https://review.openstack.org/#/c/382414/ 13:21:06 i need to review that today 13:21:07 to stop us having to cache 13:21:21 you're just not going to show sec groups on a server GET? 13:21:51 "server response, no longer includes security_groups" 13:21:51 yeah 13:21:52 you could provide a link to the API to list them for a given server 13:21:55 that's what i was going to do 13:23:11 I don't like those links 13:23:12 mriedem: but it might be little bit dangerous to cashing sec grp 13:23:25 really, if you want port_uuid info, go list the port 13:23:39 or show something "Not Available" etc 13:23:46 I guess we could add a link to the port, but I duno if its worth all the bother 13:24:14 i need to read the spec in detail and tinker with the neutron apis 13:24:20 gmann_: we cache almost everything else like floating ip, and they can get out of sync 13:24:28 mriedem: sounds good 13:24:30 was just going to say that ^ 13:25:06 I would like us to stop caching anything, because we don't really need it anymore 13:25:11 but that is an *extreme* view 13:25:17 but in case of neutron server down, it does not sounds perfect 13:25:22 and requires lots of re-work in the metadata server proxy 13:27:12 johnthetubaguy: what do you mean we do'nt need it anymore? 13:27:49 mriedem: wondering if we can stop caching all that neutron data, as its dropping out of the APIs we want folks to use, it becomes less and less important 13:28:17 johnthetubaguy: was the nw info_cache only added b/c of the REST API usage? 13:28:22 nova-compute relies on it 13:28:48 but normally we would have fetched it for the specific operation we are doing, like creating config drive 13:29:18 there is a lot of polling and chatter to keep it fresh, it might be more efficient to not cache, it 13:29:21 but thats a distraction 13:29:27 I need to do more research first 13:29:32 yeh, I was going to say, that seems like a big rabbit hole 13:29:40 and it's a short cycle 13:29:46 yeah, its a massive one, its not this cycle 13:30:04 so focus on things like sane security groups, which will expose some of these other things 13:30:10 I was looking at optimizing fetching things from neutron quickly, and it made me wonder why we bothered with all that stuff 13:30:21 yeah, focus on secuirty group tidy up makes total sense to me 13:31:00 just before we add loads more caching for an edge case, we might want to look a bit deeper there 13:31:10 yeh 13:31:17 true 13:31:36 i'm not sure what 'expose bdm' is in the etherpad 13:31:40 what's the use case for that? 13:32:03 I attempted to add detail, I don't remember why that came up now 13:32:15 i think it was because of the diagnostics API discussion right? 13:32:20 about disk id or something 13:32:23 it might have been tidying up the volume APIs, and tags, but I don't remember why 13:32:27 mriedem: yes 13:32:48 seems like we need a spec drafting on that, a short one, by whoever remembers 13:32:59 we probably said expose bdm is right thing 13:33:07 maybe I could trade you alex_xu for that parameter validation one? 13:33:22 ok i still don't get the use case 13:33:27 but i guess if someone wants to write a spec 13:33:51 I don't remember the use case, appart from remember it seemed like a good solution to something 13:34:06 johnthetubaguy: you want to write the spec for parameter validation one? it is ok for me 13:34:13 yeh, I'd say make the progress on the others first. 13:34:42 yea, sounds like it is a thing people want to clearly 13:34:52 s/it is/it isn't/... 13:34:55 the bdm one probably needs a real champion that needs that info, and that doesn't seem to exist right now, so I'd back burner it 13:35:39 yeah, as you reminded us before, its a short cycle 13:35:56 alex_xu: I think its best you keep that parameter one if you still have the time 13:36:45 johnthetubaguy: ok, looks like I have the time 13:37:00 there will be a xp session on capabilities discovery, 13:37:05 that's why we don't have one called out specifically in the nova track 13:37:14 but it might be part of the api session, to follow up from the xp session 13:37:23 yeah, we said alaski would get a slot to report back 13:37:23 and figure out nova-specific details and assigning people to do the work 13:37:34 I added a bit in that session etherpad for that 13:38:09 cool 13:38:25 i know there are some paging specs floating around that didn't make newton either 13:38:33 so really, i feel like we're already overcomitted on api 13:38:42 and would like to hunker down on what's already on our plate 13:39:02 the tidying up loose ends list looks quite a good thing to focus on 13:39:05 mriedem: I think it is probably fair to say we're overcommitted everywhere 13:39:23 cdent: we don't need to do that though 13:41:17 did the paging ones get code up? 13:41:19 https://review.openstack.org/#/q/APIImpact+status:open+project:openstack/nova-specs 13:41:57 not sure, 13:42:05 the instance actions one got caught up 13:42:17 there was a ML thread on that, i think on the marker to use 13:42:47 another fairly obvious one https://review.openstack.org/#/c/366469/ tag a server on boot 13:43:22 mriedem: +2, that should just move forward I think 13:43:24 yeah, true, feels a bit odd we don't have that one 13:43:27 takashi also brought up some things at the midcycle 13:43:34 like https://review.openstack.org/#/c/334725/ 13:43:49 basically i think they were things we allow in the live migration api, but didn't in the cold migration api 13:43:52 like passing hosts 13:44:11 and we said at the midcycle we were ok with doing them 13:44:21 yeah https://review.openstack.org/#/c/334286/ 13:44:47 anyway i'll throw that random stuff into the ideas etherpad 13:45:13 mriedem: cool 13:45:58 should that not be one spec, in a single microversion? 13:46:12 like made cold migrate do what live-migrate takes for host hints 13:46:20 anyways, an talk about that on the review 13:46:23 can 13:46:27 shrug 13:46:39 if it makes the single thing overly complex to review so it doesn't get in, then no 13:46:53 well seems odd to add the broken version then the fixed version 13:46:57 frankly i've been spending a lot of my review time this cycle early on single patch blueprints 13:47:19 rather than the 20 patch never ending beasts 13:49:30 anything more for summit ideas? 13:51:01 johnthetubaguy: sdague hope you can help on to fill the offical api etherpad 13:51:08 alex_xu: sure 13:51:18 thanks 13:52:08 emm...so let us move on? 13:52:16 yeh 13:52:28 #topic API deprecation in Ocata 13:52:31 alex_xu: happy to help with that, added some bits already I believe 13:52:42 johnthetubaguy: cool, thanks a lot 13:52:55 the news from me is image metadata one merged 13:52:58 one more I added 13:53:01 #link https://review.openstack.org/384261 13:53:32 the security group one, johnthetubaguy submitted, we already talk about that 13:54:19 anymore news for proxy api deprecation? 13:54:50 johnthetubaguy: sdague mriedem need your reviwe for the multinic and floatingip actions one 13:55:03 yeah, I should look at that one today 13:55:14 johnthetubaguy: thanks 13:55:42 if no more question, let us jump to open directly 13:55:45 #topic open 13:56:09 anything more people want to bring up? 4 mins left... 13:56:57 ok...I guess no 13:57:17 so let us end the meeting, thanks all! 13:57:21 #endmeeting