| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-04-23 | |||
| 17:46:55 | mriedem | well, it's about performance and not picking a compute that doesn't support multiattach | |
| 17:47:05 | efried | aspiers: Hold on a tick, I'm answering your other concern too. | |
| 17:47:15 | aspiers | efried: ok | |
| 17:47:19 | mriedem | if we stored a multiattach attribute on the bdm object and stored something about those in the request spec it'd be a different story | |
| 17:47:22 | mriedem | but that's a lot of ifs | |
| 17:51:35 | tssurya | gibi: if I bump the version on the instance_payload do I need to manually also bump the versions on all payloads inheriting from the instance_payload ? | |
| 17:53:56 | efried | aspiers: responded. And hanging out if you have questions. | |
| 17:54:01 | aspiers | efried: thanks! | |
| 17:54:45 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add nova-multi-cell job https://review.opendev.org/655222 | |
| 17:54:46 | mriedem | dansmith: let's cross our fingers and toes ^ | |
| 17:54:57 | dansmith | hoo boy | |
| 17:55:08 | efried | aspiers: Also note that jaypipes responded. | |
| 17:55:27 | aspiers | yep, already saw that | |
| 17:55:57 | efried | jaypipes: Are you okay with "unlimited" being expressed as MAXINT inventory? | |
| 17:58:23 | efried | or, heh, an allocation_ratio of 1E9999 :P | |
| 17:59:25 | jaypipes | efried: there is no such thing as an unlimited inventory. it there was, it would be a trait, because it isn't quantitative/consumable. | |
| 17:59:30 | aspiers | efried: "It'll be up to the driver to determine what that inventory should look like and what it's based on, knowing that the request will always be for 1 unit." - my point was that maybe we *don't* know that | |
| 18:00:11 | aspiers | efried: e.g. picking a stupid example, what if MKTME counted it per vcpu rather than per host? | |
| 18:00:52 | jaypipes | efried: obviously, there's nothing *stopping* anyone from putting MAX_INT in there :) | |
| 18:00:52 | efried | jaypipes: rightright, this is a case where there's always a limit, but sometimes we don't know exactly what it is, so we need to let it be imposed by the host (not by placement). But we still need an inventory, so the driver can in that case specify an inventory that's "arbitrarily large". | |
| 18:01:02 | jaypipes | efried: just saying it doesn't really make sense to me :) | |
| 18:01:48 | aspiers | efried: but in the future I'm guessing AMD machines *may* remove that limit | |
| 18:02:00 | aspiers | at least it's not something we can immediately rule out | |
| 18:02:24 | efried | aspiers: Then the driver would use an inventory of actual_limit/num_vcpus or something clever | |
| 18:02:29 | efried | aspiers: But I also meant to mention this: | |
| 18:02:52 | efried | if something like that does come up, we can always add a new, specialized resource class for that. | |
| 18:03:18 | aspiers | well sure, but that's why I was suggesting starting with an implementation-specific resource class | |
| 18:03:32 | efried | aspiers: But do you understand my counter-usecase for that? | |
| 18:03:48 | efried | It means you'll *never* be able to schedule generically. | |
| 18:04:02 | efried | whereas if you start generic, you can always get more specific. | |
| 18:04:29 | aspiers | I don't see why, since our plan is for the user to always use encrypt_memory=true | |
| 18:04:49 | aspiers | the request filter can then decide into which resource classes to translate that request | |
| 18:04:56 | efried | yes, exactly. | |
| 18:05:07 | efried | In an env where there's AMD_SEV and INTEL_MKTME, which would it choose? | |
| 18:05:36 | aspiers | so a RequestSpec can't do "give me either foo or bar"? | |
| 18:05:49 | efried | nope | |
| 18:05:53 | aspiers | ahah | |
| 18:05:57 | sean-k-mooney | you can do that with traits | |
| 18:05:59 | efried | more to the point, placement can't | |
| 18:06:02 | sean-k-mooney | but not resouce classes | |
| 18:06:15 | sean-k-mooney | actully that has not merged yet | |
| 18:06:28 | aspiers | OK | |
| 18:06:31 | sean-k-mooney | or been coded | |
| 18:07:04 | aspiers | efried: so it sounds like basically this isn't even a debate, the only way to make it work is to have a vendor-agnostic resource class :) | |
| 18:07:08 | sean-k-mooney | im think of https://review.opendev.org/#/c/649992/ | |
| 18:07:25 | efried | sean-k-mooney: We have ?traits=in:X,Y,Z, don't we?? | |
| 18:07:32 | aspiers | I'm fine with that - it's certainly going to make it easier to justify in the spec | |
| 18:07:38 | sean-k-mooney | efried: there is a spec for that | |
| 18:07:59 | sean-k-mooney | which is the one i linked https://review.opendev.org/#/c/649992/ | |
| 18:10:41 | efried | aspiers: One can envisage starting off with a specific resource class, and then moving to a generic one when the next one is introduced. Resulting in an interesting upgrade problem where you may have to "reshape" existing inventories/allocations from the old resource class to the new one. And we still support mismatched conductor/compute environments, IIRC, though I can never remember which one has to go first, so that could also | |
| 18:11:24 | efried | aspiers: So it's still a debate, yes; it could be made to work either way, yes; but IMO for reasons stated, generic is a bit more future-proof without actually losing you anything. | |
| 18:12:35 | efried | sean-k-mooney: Hmph, I coulda sworn we already had required=in:..., but I don't see it in the api-ref. | |
| 18:13:19 | efried | yup, that spec. | |
| 18:14:08 | sean-k-mooney | ya so they were previously approved for stein but no implemented | |
| 18:15:39 | sean-k-mooney | anyway with a generic resocue class and specific trats we could support that usecase if we hav requrie=in | |
| 18:15:49 | sean-k-mooney | or we could reshape | |
| 18:16:05 | sean-k-mooney | we do however already have the trait | |
| 18:22:44 | efried | mriedem: Would you be able to run the nova meeting this Thursday? I got suckered^wroped into school runs. I should be back around :15-:20. | |
| 18:31:31 | openstackgerrit | Eric Fried proposed openstack/nova master: Hacking N363: Don't use spec[_set]='string' https://review.opendev.org/650370 | |
| 18:36:00 | openstackgerrit | Erik Olof Gunnar Andersson proposed openstack/nova master: Pass on region when we don't have a valid ironic endpoint https://review.opendev.org/654692 | |
| 18:41:19 | mriedem | efried: yeah i think i can do that | |
| 18:41:39 | efried | thanks mriedem | |
| 18:42:06 | openstackgerrit | Surya Seetharaman proposed openstack/nova master: [WIP] Support adding the reason behind a server lock https://review.opendev.org/648662 | |
| 18:42:29 | efried | eandersson: Hmph, I see why you did that; perhaps I need a separate bug for min/max | |
| 18:42:45 | efried | as currently stacked, min/max would have to be partial and yours would have to be closes | |
| 18:42:46 | eandersson | Nah I think your bug is the real fix | |
| 18:42:57 | eandersson | Mine is just a fallback bug fix | |
| 18:43:28 | eandersson | but I am fine with separate bug reports as well | |
| 18:43:41 | efried | eandersson: Mine should really have a bug that says, "ksa endpoint lookup never worked because of min_version" | |
| 18:44:05 | efried | Your bug is about region_name not being respected, which is true regardless of my fix. | |
| 18:44:42 | efried | eandersson: You want to open the other or should I? | |
| 18:45:22 | efried | I mean, credit's to you for finding the problem (and pretty much for tracking down the cause too) so... | |
| 18:47:16 | eandersson | Haha | |
| 18:47:23 | eandersson | Actually yours fixes my bug 99.9% | |
| 18:47:25 | eandersson | of the time | |
| 18:47:52 | eandersson | The only time your fix does not fix my bug is if ServiceNotFound is raised | |
| 18:48:09 | efried | which probably would mean that ironicclient would raise the same | |
| 18:48:17 | eandersson | Very likely | |
| 18:49:07 | efried | I can live with that. I can change mine to Partial-Bug and yours can be Closes-Bug. Or we can swap the order of the fixes. But I don't think we're allowed to have Partial-Bug *after* Closes-Bug. mriedem, a ruling? | |
| 18:49:19 | eandersson | The only difference is that the ironicclient is less opiniated (in it's current implementation) | |
| 18:49:27 | eandersson | Sure | |
| 18:49:35 | efried | ...I guess we can break them apart too. There's actually no reason for them to be in a series, I don't think. | |
| 18:50:32 | mriedem | efried: don't think that matters too much, but partial-bug will change the assignee, whereas related-bug wouldn't | |
| 18:50:37 | mriedem | so i'd use related-bug or separate bugs | |
| 18:51:24 | efried | they're truly both fixing part of the bug. | |
| 18:51:39 | eandersson | I assumed that partial-bug wouldn't change the assignee | |
| 18:51:41 | efried | but okay, if the assignee is the only bit of process that matters | |
| 18:51:46 | eandersson | The more you know | |
| 18:52:17 | efried | and we can always change the assignee | |
| 18:52:27 | efried | so effit, let's go as is. | |
| 18:52:31 | eandersson | Sounds good | |
| 18:53:33 | efried | mriedem: series at https://review.opendev.org/#/c/654457/ when you get a chance -- ironic ksa stuff never worked (/me sheepish); but ironicclient covered for us; but wasn't respecting region_name when it did, we were just getting lucky most of the time. | |
| 18:53:51 | efried | what other core can tackle ksa stuff? | |
| 18:53:57 | tssurya | mriedem: silly question - does the addition of an existing key (locked) to filters/sorting have anything to do with microversions ? as in we just allow them without any checks from the moment we implement them right ? | |
| 18:54:15 | eandersson | It was also partially broken on the ironic client side https://github.com/openstack/python-ironicclient/commit/c038f1db67e7809513d5535648d15c3590b191d5 | |
| 18:54:40 | mriedem | tssurya: there is a whitelist on filters and sorting params, | |
| 18:54:54 | tssurya | right, | |
| 18:54:55 | mriedem | specifying filters that aren't in the whitelist are just ignored for now (gmann has a spec to make that an error), | |
| 18:55:03 | mriedem | specifying sort params that aren't in the whitelist is a 400 | |
| 18:55:22 | mriedem | so you can't add locked as a filter/sort param without a microversion bump | |