| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-04-22 | |||
| 18:33:55 | efried | but please ask yourself: does it need PTG time? | |
| 18:33:56 | mriedem | alright | |
| 18:34:17 | efried | I haven't read your patch yet | |
| 18:34:19 | mriedem | given the questions i just got after posting this... | |
| 18:34:48 | efried | sure, questions that would be answered in a spec; I guess I'm asking whether discussion in the spec wolud suffice. | |
| 18:34:48 | efried | would | |
| 18:35:14 | sean-k-mooney | am it might help to do some of it in real time too | |
| 18:35:30 | mriedem | yeah idk, i guess i was thinking i'd rather crank it out in 15 minutes rather than waffle on a spec for 2 months | |
| 18:35:33 | sean-k-mooney | but i think the idea of adressing this in placment in some way is a good one | |
| 18:36:12 | efried | sean-k-mooney: Do you mean you think there's potential placement API changes needed? | |
| 18:36:13 | mriedem | sean-k-mooney: it has to be if cern (and huawei public cloud) want to grab more allocation candidates from placement during scheduling, cern is currently hacking around this | |
| 18:36:47 | sean-k-mooney | efried: no this should not need any api changes in placment | |
| 18:37:25 | sean-k-mooney | but we need to either use a trait or aggrage of some kind to track it in placement so placment can use its existing apis to filter out disabled hosts | |
| 18:37:37 | sean-k-mooney | mriedem: right if you use limit its going to be a huge pain | |
| 18:38:24 | mriedem | cern limits their allocation candidate results to like 20 and as a result were only getting back disabled computes in some cases | |
| 18:38:25 | sean-k-mooney | i left a quick comment https://review.opendev.org/#/c/654596/1/nova/scheduler/request_filter.py@104 by the way ill review it properly tomorow | |
| 18:38:42 | efried | Yeah, so the concept seems pretty simple to me, but if you think we need PTG time... | |
| 18:39:00 | mriedem | efried: i just assume that like all things placement related there will be a holy war | |
| 18:39:48 | efried | I really hope we're getting close to having an established process for these GET /a_c-based filters | |
| 18:40:53 | efried | to the point where soon we'll be able to have specless bps for them. "Add trait called X. Set trait X on compute RP when Y. Add filter for X a) in flavor, b) in image, c) when condition Z is present. Done." | |
| 18:41:56 | sean-k-mooney | that would make my "port num instance filter to placemtn" personal backlog item simpler :) | |
| 18:42:05 | efried | melwitt, lbragstad: I seem to recall this session https://www.openstack.org/summit/denver-2019/summit-schedule/events/23712/migrating-nova-apis-to-keystone-scope-types being merged with another - link please? | |
| 18:43:15 | efried | d'oh, never mind. | |
| 18:45:54 | jaypipes | mriedem: https://review.opendev.org/#/c/623558/ addresses the *reason* why CERN limits to 20. That's a more appropriate solution IMHO than making placement into another servicegroup API where we will need to sync active status between the nova cell DB tables and placement. | |
| 18:46:54 | jaypipes | mriedem: it's not a holy war. it's just fundamentally you'll get into a situation where there are two sources of truth for whether a provider is active or not. | |
| 18:47:05 | jaypipes | I'd prefer to avoid that if possilbe. | |
| 18:47:42 | mriedem | we already have 2 sources of truth for aggregates yeah? | |
| 18:47:58 | mriedem | i thought one of the goals of placement was to do as much filtering in sql as possible to avoid the slower post-filtering in python we have | |
| 18:48:03 | mriedem | so this would also align with that | |
| 18:48:32 | mriedem | i realize the downside of this is nova and placement are out of sync on the status of the thing - we could potentially heal that in our compute update_available_resource periodic | |
| 18:48:38 | efried | Maybe eventually placement can be the sole source of truth | |
| 18:48:39 | jaypipes | erm, not really if it doesn't usually filter anything at all... | |
| 18:49:13 | mriedem | i imagine in a large cloud the ComputeFilter gets used a lot | |
| 18:49:16 | mriedem | during maintenance and such | |
| 18:50:29 | jaypipes | mriedem: we could run the servicegroup API ahead of time and pass a parameter like ?uuids=!in:<DISABLED_SET> | |
| 18:50:41 | jaypipes | which actually *would* be an efficient filter. | |
| 18:50:51 | jaypipes | but I digress. | |
| 18:51:11 | sean-k-mooney | that could be a long list of uuids | |
| 18:51:22 | sean-k-mooney | which is why an aggregate would make more sense | |
| 18:51:22 | jaypipes | sean-k-mooney: rarely. | |
| 18:51:45 | jaypipes | sean-k-mooney: you're going to keep an aggregate membership sync'd with yet another periodic task? :( | |
| 18:52:22 | sean-k-mooney | no on servcei startup have the compute node remove itself form the aggrrate if its currently listed | |
| 18:52:50 | mriedem | sean-k-mooney: i don't think you'd want an aggregate for all non-disabled computes if you have 14K computes | |
| 18:52:51 | sean-k-mooney | then we can add it if we miss a heartbeat or someone use force down | |
| 18:53:29 | jaypipes | mriedem: I think he's saying the opposite. an agg for disabled providers. | |
| 18:53:30 | sean-k-mooney | mriedem: sure but you can do it the other way around too as you said in the review | |
| 18:53:50 | mriedem | sean-k-mooney: if we did aggregates for this yes that's what i'd do, an aggregate for only disabled computes | |
| 18:53:57 | jaypipes | oh look, a case for forbidden aggregates :) | |
| 18:54:05 | mriedem | and yeah that's what we'd use ^ | |
| 18:54:07 | sean-k-mooney | jaypipes: orgiginly in the code is said an aggrate for enabled because i fogot negitive member of was merged | |
| 18:54:23 | jaypipes | sean-k-mooney: it's the forbidden fruit. | |
| 18:55:00 | sean-k-mooney | from a db perspecitve this really would not be that expensice either way | |
| 18:55:27 | sean-k-mooney | the negitive case would be better but it will be similar | |
| 18:55:49 | jaypipes | so, I suppose, in order of preference, I would personally go with: a) finish up https://review.opendev.org/#/c/623558/ and the other cell-specific-service-listing thing mentioned in there, b) use an aggregate for disabled computes and member_of=! |
|
| 18:55:57 | sean-k-mooney | the aggrates table is just too uuid fields both of which are indexed | |
| 18:56:21 | jaypipes | actually, it's not really an either/or. can/should do https://review.opendev.org/#/c/623558/ as well as a placement request filter for !member_of a disabled aggregate. | |
| 18:57:26 | sean-k-mooney | yes they are not mutally exclucive and i think both are useful | |
| 18:58:40 | jaypipes | mriedem, sean-k-mooney: maybe adding a CONF.disabled_aggregate_uuid option that would be used to construct a placement request filter that used a member_of=!<uuid> query parameter to allocation candidates? | |
| 18:58:54 | jaypipes | or something like that.. | |
| 18:59:06 | sean-k-mooney | jaypipes: well it would be a prefilter so it would be enabled via config | |
| 18:59:26 | sean-k-mooney | or are you also suggesting a config option for the compute node too | |
| 18:59:41 | mriedem | if we use an aggregate we have to use the same uuid everywhere, | |
| 18:59:51 | mriedem | either via config or hard-coded in api/compute/scheduler | |
| 18:59:53 | sean-k-mooney | ya that is simple however | |
| 19:00:14 | sean-k-mooney | just use a uuid5 that we caluate for a constat or hardcode it | |
| 19:14:59 | efried | oo, a special aggregate UUID. It's almost like... metadata. | |
| 19:15:22 | sean-k-mooney | that is sotred in nova | |
| 19:15:31 | sean-k-mooney | not placement | |
| 19:15:57 | sean-k-mooney | clinets of placement are free to use aggreate to group rps whatever way the like | |
| 19:27:25 | sean-k-mooney | by the way before i go i noticed some strange errors in the nfv-ci job | |
| 19:27:29 | sean-k-mooney | libvirtError: Cannot access storage file '/opt/stack/data/nova/instances/b4afcea9-12d0-4f79-953c-d09dad3e5515/disk' (as uid:107, gid:107): Permission denied | |
| 19:27:50 | sean-k-mooney | i also got DiskNotFound: No disk at /opt/stack/data/nova/instances/f5f5ce5f-a616-4e5e-aa35-d3cc469f869a/disk | |
| 19:28:46 | sean-k-mooney | i have set the concurance to 1 and its reruning currently as i think that is part of the issue but i have no iday way those disk errors are showing up | |
| 19:30:37 | sean-k-mooney | if people want to take a look the logs are here http://logs.openstack.org/97/652197/11/check/tempest-nfv-multinode/e1fa793/compute/logs/screen-n-cpu.txt.gz?level=TRACE#_Apr_20_22_14_03_503486 | |
| 19:32:13 | mriedem | efried: except metadata that is unparseable by the human eye :) | |
| 19:32:46 | sean-k-mooney | other vms worked fine so im wondering if this is related to load/memory pressure. | |
| 19:41:39 | mriedem | d15ab1ed-0000-0000-0000-00000000000 :) | |
| 19:43:32 | efried | sean-k-mooney: speaking of CI... | |
| 19:44:08 | sean-k-mooney | what did i break now :) | |
| 19:44:15 | efried | I got an extremely vague question from within the blue walls today about what kinds of tests the PCI job ought to be running. | |
| 19:44:25 | efried | I hadn't a clue, but thought you might. | |
| 19:46:07 | sean-k-mooney | ideally pci passthough via alaise in the flavor + neutron sriov interface, then it would be nice to alos test cold migration/resize and possibly live migration in the neutron case | |
| 19:46:18 | efried | someone said something like the PCI job was just setting up devstack and not running any actual tests. I'm not sure how accurate that could be, or if they were looking at the wrong thing, or if at some point we disabled all the actual tests while we were working on the infra, or what. | |
| 19:46:32 | sean-k-mooney | i would just run the standared tempest test with tweeked flavors and different vnic_types | |
| 19:46:58 | sean-k-mooney | efried: it runs test but it boots like 1 vm or very few tests | |
| 19:48:02 | efried | was the PCI job just hitting SR-IOV? | |
| 19:48:17 | efried | Cause there's an SRIOV job that runs against neutron | |
| 19:48:22 | efried | not sure if those are related | |
| 19:49:17 | sean-k-mooney | the pci job was ment for testing QAT integration with flavor bassed passthough | |
| 19:49:29 | sean-k-mooney | there was a seperate one for neutron sriov testing | |
| 19:49:53 | sean-k-mooney | looking at http://52.27.155.124/pci/482200/7/ | |
| 19:50:07 | sean-k-mooney | there are not test in the test repofrt | |
| 19:50:35 | sean-k-mooney | but im not sure that means threare are not test | |
| 19:51:18 | sean-k-mooney | it looks like some test are run http://52.27.155.124/pci/482200/7/console_status.log.gz | |
| 19:52:48 | efried | I can't tell if they pass | |
| 19:54:21 | sean-k-mooney | nor can i | |
| 19:54:46 | sean-k-mooney | looking at the devstack output and the tempest config i cant see tehm creating any custom flavor either | |
| 19:55:55 | efried | how did you know where to find these logs? | |
| 19:56:11 | efried | the CI is running, just not reporting? | |
| 19:56:41 | sean-k-mooney | i clicked on an old log got a 404 and went up one directory | |