| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-02-27 | |||
| 19:14:56 | mriedem | b/c that was added in https://review.openstack.org/#/c/516708/ | |
| 19:15:20 | cfriesen | mdbooth: any chance you could take a look at https://review.openstack.org/#/c/616692/ ? | |
| 19:15:32 | efried | mriedem: Well, report client uses home-grown @retries for a few things and @retrying.retry for others. The latter appear to be my handiwork, as linked above; but I also remember having a conversation with you about the relative merits of using retrying lib vs oslo vs this home-grown thing (which is gross btw). | |
| 19:15:46 | mriedem | i asked https://review.openstack.org/#/c/516708/1/nova/scheduler/client/report.py@97 | |
| 19:15:49 | efried | jaypipes: Don't send that one to the gate too quick. I have a gripe about the retries. | |
| 19:15:50 | mriedem | but no reply | |
| 19:16:41 | efried | mriedem: Mm, yeah. IMO we should get rid of that. | |
| 19:16:51 | efried | and at least for now stop adding more usages of it. | |
| 19:17:14 | mriedem | let me phone a friend: dansmith | |
| 19:17:26 | mriedem | i'm assuming he just added his own for simplicity | |
| 19:17:54 | mriedem | and i'm assuming gibi is re-using it because the new code borrows heavily from the claim_resources stuff | |
| 19:18:22 | dansmith | what now? | |
| 19:18:31 | mriedem | why did you write your own https://review.openstack.org/#/c/516708/1/nova/scheduler/client/report.py@97 | |
| 19:18:59 | mriedem | because now gibi is copying it and efried doesn't like it | |
| 19:19:22 | dansmith | oh gah, I dunno.. because I'm not good at remembering all the crap in libraries | |
| 19:19:59 | artom | efried, aspiers, actually, on that capabilities patch, why are we not also adding the driver-owned CUSTOM_ stuff to os_traits? | |
| 19:20:23 | artom | Seems like it would clear stuff up, at the expense of an extra patch that I image won't be difficult to hack up and merge | |
| 19:20:28 | jaypipes | sean-k-mooney: +2 from me on both. | |
| 19:20:36 | artom | *I imagine | |
| 19:20:40 | jaypipes | efried: k | |
| 19:21:07 | jaypipes | mriedem: https://review.openstack.org/#/c/538498/ is showing it needs a rebase anyway. | |
| 19:21:39 | efried | artom: Anything that's a capability-based trait should indeed go into os-traits. Is that what you're saying? | |
| 19:21:45 | artom | efried, yeah | |
| 19:21:52 | efried | random driver-owned CUSTOM_ stuff notsomuch. | |
| 19:21:56 | mriedem | jaypipes: i didn't ask you about that | |
| 19:22:00 | artom | efried, exactl | |
| 19:22:01 | artom | y | |
| 19:22:16 | artom | It's a weird message we're sending to admins | |
| 19:22:24 | efried | jaypipes: that was me. aspiers is working on the rebase (and adding a test case). | |
| 19:22:36 | artom | "The driver owns this stuff, but also this other differently-named stuff that shares a namespace with the stuff you can set" | |
| 19:23:01 | efried | artom: Well, the namespace is COMPUTE_, not CUSTOM_ | |
| 19:23:12 | jaypipes | mriedem: sorry, meant efried :) | |
| 19:23:27 | efried | CUSTOM_ just means it's not in os-traits (yet) | |
| 19:24:03 | efried | artom: Where are you seeing a driver capability-based trait that's not in os-traits? | |
| 19:24:12 | efried | Or are you just concerned about the fact that we're testing that scenario? | |
| 19:24:28 | artom | efried, IMAGECACHE? | |
| 19:25:30 | efried | mm. mriedem said "optionally" at https://review.openstack.org/#/c/538498/19/nova/virt/driver.py@143 -- whyzat? | |
| 19:26:36 | efried | Trying to think of a scenario (heterogeneous levels of nova-compute / os-traits in a cloud, upgrade, something) where we would *need* to support a custom version of a driver capability trait. | |
| 19:26:48 | mriedem | let me remember something from over a year ago... | |
| 19:27:19 | efried | iow could we just make L1033-5 an exception? | |
| 19:27:40 | mriedem | not all capabilities would have traits, | |
| 19:27:43 | mriedem | like has_imagecache | |
| 19:27:53 | efried | okay, but why does has_imagecache not have a trait? | |
| 19:27:57 | mriedem | but your question is if it's in CAPABILITY_TRAITS_MAP should it also be a standard trait | |
| 19:28:02 | efried | right | |
| 19:28:04 | efried | always | |
| 19:28:07 | mriedem | we don't schedule based on has_imagecache | |
| 19:28:32 | efried | then why are we bothering to add it as a trait? | |
| 19:28:45 | efried | and, who says we wouldn't schedule based on has_imagecache? | |
| 19:28:56 | mriedem | i am | |
| 19:29:00 | mriedem | i am saying that right now | |
| 19:29:10 | efried | Maybe I have a flavor that favors nodes with imagecache | |
| 19:29:16 | mriedem | the day we schedule based on has_imagecache is the day i go work at walgreens | |
| 19:29:34 | efried | then wy are we bothering to add it as a trait? | |
| 19:29:38 | efried | on the compute provider | |
| 19:30:04 | mriedem | you're talking about L1034 right? | |
| 19:30:11 | efried | yes | |
| 19:30:17 | mriedem | gdi, did i write that code? | |
| 19:31:20 | artom | That should be, like, our motto. | |
| 19:31:21 | efried | yes, it is present in PS7 (though with normalize_name done manually, tsk) | |
| 19:32:08 | mriedem | looking at https://review.openstack.org/#/c/538498/7/nova/virt/driver.py | |
| 19:32:08 | efried | as well as the corresponding comment on L1023 | |
| 19:32:26 | mriedem | i was probably doing it because supports_trusted_certs wasn't in os-traits at the time | |
| 19:32:33 | mriedem | and didn't think about how that would generate CUSTOM_HAS_IMAGECACHE | |
| 19:32:43 | mriedem | and i think https://review.openstack.org/#/c/538498/7/nova/virt/driver.py@145 | |
| 19:32:53 | mriedem | relates to something i asked jaypipes when he started adding these to os-traits | |
| 19:33:02 | mriedem | so let me dig that up and i can redirect you to jaypipes | |
| 19:33:16 | efried | buck about to be passed | |
| 19:33:51 | jaypipes | damn | |
| 19:33:51 | mriedem | https://review.openstack.org/#/c/546713/ | |
| 19:33:53 | efried | I'm not really concerned about whodunit; what's the right thing here? Should we make it a rule that compute driver capability traits must be standard, and anything that's not will be ignored? | |
| 19:33:56 | mriedem | "I don't seehas_imagecachesupports_recreatesupports_migrate_to_same_host" | |
| 19:34:01 | mriedem | "None of those things are capabilities that a flavor or image would require." | |
| 19:34:33 | efried | that conversation sounds familiar | |
| 19:34:43 | efried | I was apparently convinced enough to +2 the thing. | |
| 19:34:52 | mriedem | "Eric Fried Mar 29, 2018 Patch Set 1: Code-Review+1Okay, I'm convinced we don't need the missing capabilities as traits. Thanks for your patience, all." | |
| 19:35:01 | efried | artom signed off on it too. | |
| 19:35:42 | mriedem | i think i would agree that if a compute driver capability is going to be reported as a trait, it should probably be a standard trait | |
| 19:35:42 | efried | so, fine, we decided we didn't need them to be standard, and the reason was because we didn't think they would need to be scheduled to. So the question remains: do we need to put them onto the compute node as traits? (Given ^ they would be CUSTOM_ fo sho) | |
| 19:35:49 | artom | efried, yeah, but that's like saying a kid ate some candy ;) | |
| 19:36:07 | artom | And in my defense, 'twas me who started this whole kerfuffle we're in now | |
| 19:36:27 | efried | yup, so it's only fair that the blame ended up back atcha. | |
| 19:36:54 | artom | But... was it a *useful* kerfuffle? | |
| 19:36:56 | mriedem | especially because if we added a new driver capability, like supports_trusted_certs, and before it's standard we report CUSTOM_SUPPORTS_TRUSTED_CERTS and then we have a standard trait and it becomes COMPUTE_TRUSTED_CERTS, that's going to be a weird situation for anyone building flavors requiring the former | |
| 19:37:07 | artom | Or did we just re-hash a past discussion to arrive at the same conclusion? | |
| 19:37:22 | efried | artom: No, this is a slightly new discussion and a decision that needs to be made. | |
| 19:37:29 | efried | but we did have to rehash the old discussion as a prerequisite :) | |
| 19:37:34 | artom | \o/ I'm useful! | |
| 19:37:38 | mriedem | i kind of also wish we weren't discussing the design of this ~1 week from feature freeze | |
| 19:37:49 | artom | Sorta | |
| 19:37:51 | efried | mriedem: Yes, there should be no reason we need to introduce a standard trait but wait to use it in nova. | |
| 19:37:54 | mriedem | because i'm going to say "sure whatever you want idk anymore" | |
| 19:38:02 | mriedem | and in a year we'll be saying "wtf did we do this?" | |
| 19:39:17 | efried | jaypipes: Do you agree with mriedem? To paraphrase: If we're going to tag the compute RP with a driver capability trait, it should be a standard trait; and conversely we should not tag the compute RP with a driver capability trait that is not standard; and therefore we should never tag the compute RP with a CUSTOM_* capability trait. | |
| 19:39:36 | jaypipes | reading... | |
| 19:40:06 | efried | (note use of 'capability' throughout - obviously the compute RP can get CUSTOM_* traits from elsewhere - admin, update_provider_tree, etc.) | |
| 19:42:10 | jaypipes | efried, mriedem: I feel the same as I did back then. If the thing is a capability of the compute node that an end user could feasibly want to influence scheduling, it should be a standardized os-trait. if it's just an internal implementation of the virt driver that isn't something an end-user would ever care about but is important for the virt driver infrastructure, just make it a simple attribute of the virt driver class. | |
| 19:43:01 | efried | okay, I'll mark up the review for aspiers | |
| 19:43:28 | mriedem | jaypipes: yeah i agree | |
| 19:43:45 | mriedem | as for why the patch was written how it was when i did a year ago, i can only guess (and already did) | |