Earlier  
Posted Nick Remark
#openstack-nova - 2018-06-20
17:07:26 mordred well - it's a "list servers with this microversion because I can handle some of the servers in the list having less keys thn I was expecting"
17:07:32 dansmith it's a pretty well-baited one, because if you don't opt into that one for list, you're basically saying "meh, I can't handle the inconsistency" so we're helping by not showing you anything
17:07:34 mordred whereas existing code is just going to error
17:07:39 dansmith yes
17:07:45 mordred dansmith: exactly
17:08:13 mordred it's the old data consistency thing - it's better for the entire data store to be unavailable than to behave ina half-available state and maybe lose data when you thought it was ok
17:08:38 dansmith yeah, like gibi said,
17:08:41 tssurya mordred: right
17:08:41 mordred current behavior is 500 - nobody gets accidentally hosed - they can always retry the query until it stops 500ing
17:08:43 mordred ++
17:08:52 dansmith if we report hostId=UNKNOWN, then a client thinks all the instances are suddenly on the same host :)
17:09:56 dansmith tssurya: okay so anyway, I think mordred and I agree on this, so I'll comment on the spec about this convo and maybe we can sync up with mriedem when he's back next week and see what he thinks
17:10:11 dansmith tssurya: are you opposed to making this unified or are you okay with either?
17:10:12 tssurya dansmith: ack
17:10:15 dansmith and which is your preference?
17:10:25 tssurya I am okay with either
17:10:27 dansmith all things equal, I mean, which do you think is better?
17:10:33 mordred dansmith: would we have the addresses dict since those are coming from neutron? or do those get stored in the cells db?
17:10:40 tssurya as long as we give at least the uuid back
17:10:57 dansmith mordred: we would have to hit neutron for it since our _cache_ of those values are in the cell db
17:11:07 tssurya like keeping the current 500 behavior if 1 out of 70 goes down is wrong for sure
17:11:19 dansmith tssurya: yeah okay
17:11:21 mordred nod. I mean - I already have code to hit neutron api if the addresses dict is empty - so I'm fine if it's not
17:11:43 tssurya 1) we fix this with skipping down cells as first step 2) return just the uuids with rest as empty
17:11:48 mordred tssurya: uuid and name (filtering on name client-side is frequent/important)
17:11:50 tssurya makes sense ?
17:12:17 mordred if it's possible
17:12:18 dansmith mordred: we don't have easy access to the name, but we can get it from the reqspec if you think it's important
17:12:21 tssurya mordred: we were thinking of skipping a cell if filters are used
17:12:40 dansmith yeah, if you're filtering, and we don't know the value, we assume no match
17:12:51 tssurya dansmith: we don't have the name in req_spec right ?
17:12:57 dansmith tssurya: the display name?
17:13:05 tssurya yes
17:13:32 tssurya meaning we don't have the display_name
17:13:36 tssurya in req_spec
17:13:52 dansmith oh, I guess I'm thinking of buildreq, which stores it while we're building
17:13:56 dansmith so yeah maybe not
17:14:31 mordred ah - we don't have the name? hrm.
17:15:15 tssurya mordred: no :( the only info we can get is uuid, flavor, image, avz, project_id
17:15:49 dansmith the point here is to not store the same thing in multiple places where it gets out of sync (like in cellsv1)
17:16:19 stephenfin zcorneli|lunch: One nit left in that that should be fixed but not blocking on it. If you could address that (and anything else you fancy fixing) in a follow up, that would be appreciated.
17:16:20 tssurya dansmith: yea and I agree with not adding info into top API, but we should make use of the existing info
17:16:37 dansmith tssurya: yeah
17:16:42 tssurya infact just the uuid would also be good enough with the state as UNKNOWN like you said
17:16:58 tssurya and we would anyways need a "odd microversion" bump
17:17:23 mordred hrm. well - it would make things a bit awkward for ansible dynamic inventory without name ... but if that's life, I guess that's life
17:17:56 tssurya mordred: :)
17:18:19 mordred basically it'll make operations that are working with servers that are up not able to find the server if part of the api control is down if/when those servers are being managed by name and not uuid
17:18:22 mordred BUT
17:18:53 mordred maybe that's just life - the existing system would mean you can't deal with ANY of your servers - so it's still an improvement
17:19:08 dansmith yeah
17:19:15 dansmith if we do the 1a option then it gets better
17:19:18 mordred yup
17:19:28 tssurya yea
17:19:40 mordred so yeah - I think 1 followed by 1a would be great
17:20:23 dansmith mordred: thanks for the discussion!
17:20:26 tssurya mordred: totally appreciate your view and opinion on this :) thanks!
17:20:49 tssurya dansmith: so you will write a comment on yours and mordred's behalf in the spec ?
17:20:58 dansmith tssurya: am now yeah
17:21:04 tssurya and then we can discuss it with mriedem and gibi next week
17:21:18 tssurya dansmith: thanks!
17:21:29 dansmith yup
17:29:10 openstackgerrit Merged openstack/nova master: Optimize member_of check for nested providers https://review.openstack.org/573203
17:45:55 zcorneli stephenfin: Ack. I'll fix that up.
18:00:39 dansmith zcorneli: bonus points if you fix up the stuff in the devstack patch so we can merge that
18:00:45 dansmith if not, I'll try to get around to it at some point
18:01:13 zcorneli Sure, IIRC it looked pretty simple/quick to fix up the stuff mriedem was looking for.
18:01:27 dansmith yup
18:01:28 zcorneli dansmith: I've also got the discard patch almost ready to review as well.
18:01:34 dansmith zcorneli: excellent
18:02:05 zcorneli dansmith: Going to finish the fix up patch, rebase onto it, then post, I think.
18:02:14 zcorneli Then I can take a crack at the devstack fixup.
18:02:19 dansmith cool
18:11:09 openstackgerrit Chris Dent proposed openstack/nova master: WIP: [placement] Add /reshaper handler for POST https://review.openstack.org/576927
18:23:02 openstackgerrit Merged openstack/nova master: Ensure that os-traits sync is attempted only at start of process https://review.openstack.org/553857
18:39:45 mnaser so mriedem was working on a patch adding `nova-status upgrade check as part of openstack ansible deployment which is really sweet, but one of the issues we're having is detecting what action we're missing
18:39:56 mnaser is it possible to perhaps have a different exit code depending on which 'issue'
18:40:13 mnaser in this case, upgrading from queens to master (rocky), we need to restart placement
18:41:15 mnaser like maybe some sort of .. cli friendly output so we can run `nova-status upgrade check` once
18:41:35 mnaser then have conditionals depending if it returns something like out_of_date_placement => restart placement, etc
18:42:21 dansmith returning different statuses per check would make it unstable across releases, which is probably undesirable
18:42:38 dansmith how about just some sort of robot-friendly output?
18:42:57 mnaser yeah i was just thinking how complicated that would become at some point
18:43:10 mnaser but robot friendly output, something like one line per 'check' .. only if there is something
18:43:25 mnaser that way, we can run it once, ignore exit code, and then have tasks after it conditional if output matches that string
18:43:26 dansmith like --only-critical
18:43:36 dansmith and one per line, csv-separated or something
18:43:41 mnaser yes
18:43:48 dansmith --only-critical --robot-friendly
18:44:10 cdent --with-ponies
18:44:17 mnaser --emojis
18:44:18 cdent --and-pudding
18:44:23 cdent exactly
18:44:26 dansmith too far.
18:45:05 mnaser there is 6 warnings and 11 failures
18:45:15 mnaser UpgradeCheckResult
18:45:17 mnaser er
18:45:17 mnaser https://github.com/openstack/nova/blob/master/nova/cmd/status.py
18:45:34 mnaser UpgradeCheckResult has 'user friendly' messages but we can just add another value to it
18:46:40 mnaser i think ill push up a patch for that

Earlier   Later