| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-04-23 | |||
| 17:07:29 | artom | So we're literally the same age, what are you feeling old for? | |
| 17:07:38 | artom | Wait, no, I fail at math | |
| 17:07:40 | artom | I was 10 | |
| 17:07:42 | aspiers | LOL | |
| 17:08:13 | artom | Oh god, more of my "work": http://web.archive.org/web/20021010075531/http://geocities.com/the_lambda_place/ | |
| 17:08:47 | artom | You're grounded, go to your room | |
| 17:09:00 | aspiers | hahahaha | |
| 17:09:10 | aspiers | artom: looks disturbingly similar to https://www.adamspiers.org/computing/quake/ | |
| 17:09:32 | aspiers | I think that deserves to be labelled as "Web 0.2" | |
| 17:10:01 | artom | aspiers, well now adze has to be your Friday nick | |
| 17:10:04 | efried | catching up (in reverse order) | |
| 17:10:08 | aspiers | nooooo | |
| 17:10:24 | aspiers | efried: best if you skip the last 10 minutes ;-) | |
| 17:10:32 | efried | I'm the same age as artom, give or take a year. | |
| 17:10:36 | efried | stephenfin: ack, thanks | |
| 17:10:49 | efried | I used to be a perl wiz, actually taught a class at one time | |
| 17:11:24 | efried | and artom yes, all of those things. And http://www.thunderpony.com and I was also a child actor :P | |
| 17:11:34 | efried | and regular expressions are awesome. | |
| 17:11:43 | efried | now, back to request filters... | |
| 17:12:07 | artom | efried, damn, you sing as well | |
| 17:12:40 | artom | Oh, right, the thing I'm actually paid to do | |
| 17:13:14 | efried | aspiers: So the RequestSpec is how you find out if your magic key=val is in the flavor and/or image. | |
| 17:13:20 | efried | Tthe jury is still out as to what happens next. | |
| 17:13:49 | aspiers | artom: here's some fun with regexes for you https://adamspiers.org/computing/perl_signatures.html | |
| 17:14:03 | efried | mriedem and I were discussing that about 1h15m ago ^^ | |
| 17:14:21 | aspiers | efried: and that would automatically work for both extra specs and image properties? | |
| 17:14:35 | aspiers | efried: thanks, scrolling up 75m | |
| 17:14:39 | efried | aspiers: well, it would work for both if you implemented both. | |
| 17:14:51 | efried | you have access to both because they're in the RequestSpec. | |
| 17:14:54 | artom | aspiers, yeah, no :P | |
| 17:15:44 | efried | aspiers: I knew a guy who copy/pasted one of those obfuscated perl regex commands into his interpreter. It was one of those //ee things, and translated to something like rm -rf / | |
| 17:15:55 | aspiers | efried: OK. I guess this will start making a lot more sense as I start reading that code and hacking on it | |
| 17:16:19 | aspiers | efried: Ouch, that's a more sinister case of the "curl ... | sudo bash" syndrome | |
| 17:16:33 | aspiers | although I promise that all of those .sigs are totally innocent and safe to run | |
| 17:17:01 | aspiers | Well the top one still works, at least | |
| 17:17:36 | efried | aspiers: Detecting the property from the request spec is going to be the easy part. The thing mriedem and I were talking about stemmed from his patch here https://review.opendev.org/#/c/645316/ which does a very similar thing to what you're wanting to do in terms of adding stuff that'll make its way into the placement request. | |
| 17:18:59 | efried | tl;dr: one way to do it would be to stuff the placement-ese translation of your request - so like a resource request for 1 MEM_ENC_CONTEXT - into the actual RequestSpec.flavor.extra_specs, and make sure that that change to the flavor does *not* get persisted. | |
| 17:20:22 | efried | However, longer term, we're going to want to do such things by stuffing them into RequestSpec.requested_resources: https://github.com/openstack/nova/blob/master/nova/objects/request_spec.py#L93-L100 | |
| 17:20:55 | efried | but as hinted by that TODO, we're only using that for bandwidth resources at the moment. | |
| 17:21:04 | aspiers | ok | |
| 17:22:10 | aspiers | I guess this can all be done as one of the later work items in the spec, right? Since it's more about improving the UX than actually enabling SEV | |
| 17:22:38 | efried | aspiers: Well, you don't need to talk about anywhere near this level of detail in the spec | |
| 17:23:23 | efried | I'm just showing you that it's definitely doable to support the same generic property (encrypt_my_memory=true) in the flavor and image props | |
| 17:23:34 | efried | and get it translated to placement-ese by "nova". | |
| 17:23:48 | efried | So the UX is encrypt_my_memory=true, done. | |
| 17:23:52 | aspiers | efried: but without that detail how will I pip generic-resource-pools.rst to the post for the largest spec ever? ;) | |
| 17:24:17 | efried | Add a seqdiag | |
| 17:24:22 | aspiers | but seriously, yup - it was always a goal of the spec to allow booting SEV via image properties | |
| 17:24:26 | aspiers | ohhhhh nice idea | |
| 17:24:54 | efried | http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/reshape-provider-tree.html | |
| 17:25:55 | efried | that seqdiag is only ~38L source :( | |
| 17:26:18 | aspiers | :D | |
| 17:26:37 | efried | oh, I've got a better idea | |
| 17:26:54 | efried | ascii diagrams of nested provider trees | |
| 17:26:59 | efried | those take up some good vertical space. | |
| 17:27:13 | jaypipes | I'm sure those make cdent shiver. | |
| 17:27:34 | aspiers | I was thinking more in terms of the file size | |
| 17:28:01 | aspiers | I'm about 400 bytes behind the leader ;-) | |
| 17:28:09 | efried | oh, you're going byte size? | |
| 17:28:15 | efried | I thought you were going #lines | |
| 17:29:11 | aspiers | well the ranking is the same regardless | |
| 17:29:29 | efried | one of my earlier specs, don't remember which one, dansmith literally -1'd it because it was too long. I distinctly remember trimming it by 10% to earn his +2. | |
| 17:29:40 | aspiers | haha | |
| 17:29:50 | mriedem | gmann: if i'm defining a new ci job which extends tempest-multinode-full-py3 and modify the devstack_localrc vars from that job, does it merge the vars or do i need to do a full replace with what i want? | |
| 17:29:51 | dansmith | pretty sure that's exactly how that went down, no embellishment at all | |
| 17:30:21 | aspiers | I never intended SEV to be so long, just kept getting feedback on new angles | |
| 17:31:45 | efried | aspiers: I think it was this one: https://review.opendev.org/#/c/510244/ | |
| 17:33:07 | efried | hah, yup http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2017-10-17.log.html#t2017-10-17T15:21:53 <== dansmith | |
| 17:41:18 | aspiers | efried: just looked at https://review.opendev.org/#/c/645316/2/nova/compute/api.py - IIUC I could just add an invocation of a new _modify_request_spec_for_encrypted_memory() to _provision_instances() which would apply the translation to the flavor extra specs or image properties? | |
| 17:41:41 | mriedem | heh n-obj is still enabled by default in devstack | |
| 17:41:42 | mriedem | derp | |
| 17:43:05 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: Run revert resize tests in nova-live-migration https://review.opendev.org/653498 | |
| 17:43:05 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: Revert "Wait for network-vif-plugged on resize revert" https://review.opendev.org/639396 | |
| 17:43:06 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: Revert resize: wait for external events in compute manager https://review.opendev.org/644881 | |
| 17:43:22 | efried | aspiers: more or less. I think this would be better positioned as a method in request_filter.py personally, but that's details. The thing that you'll be needing that isn't applicable in --^ is how you determine whether to add the thing. | |
| 17:43:26 | aspiers | efried: so the new method would frob either reqspec.flavor.extra_specs or reqspec.image? | |
| 17:43:34 | efried | yes | |
| 17:44:06 | aspiers | ahah OK, request_filter.py looks pretty trivial to extend | |
| 17:44:07 | efried | aspiers: But that code path has access to the reqspec too, so whatevs. | |
| 17:44:14 | aspiers | right | |
| 17:44:17 | efried | yes, in fact I should -1 mriedem's patch for that. | |
| 17:44:35 | aspiers | I was going to ask, why didn't https://review.opendev.org/#/c/645316/2/nova/compute/api.py extend request_filter.py :) | |
| 17:45:10 | efried | well, I was going to say it's because the logic of how he's determining whether to add the filter comes from someplace that's not easy to get at from request_filter.py | |
| 17:45:36 | mriedem | efried: that is the rason | |
| 17:45:37 | mriedem | *reason | |
| 17:45:47 | aspiers | ahah, right | |
| 17:45:57 | mriedem | the multiattach info is on the bdm, and even then only after it's connected | |
| 17:46:01 | aspiers | but in my case all I need is the request_spec | |
| 17:46:04 | efried | yup | |
| 17:46:16 | mriedem | so during server create, the request filter would have to loop the bdms looking for the volume_id, then query cinder to get the volume multiattach flag | |
| 17:46:22 | mriedem | which is pretty shitty for performance during scheduling | |
| 17:46:33 | efried | and since this is all about performance during scheduling... | |
| 17:46:39 | aspiers | Ok awesome, this is starting to make a lot of sense | |
| 17:46:42 | mriedem | right | |
| 17:46:53 | aspiers | efried: tweaking the spec now | |
| 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 | |