| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-04-23 | |||
| 16:52:08 | artom | But... why? | |
| 16:52:11 | aspiers | that's a negative look-ahead assertion | |
| 16:53:01 | aspiers | (?!foo.*bar) means "foo.*bar can't come next" | |
| 16:53:26 | efried | ..."but don't capture it" | |
| 16:53:30 | aspiers | right | |
| 16:53:42 | aspiers | it's one of the more obscure features of pcre, been around since Perl 5 days though | |
| 16:53:51 | artom | Ah, I was reading it as a quantifier | |
| 16:53:54 | artom | Thanks aspiers | |
| 16:53:59 | aspiers | https://xkcd.com/208/ is the obvious reference here | |
| 16:54:16 | artom | *snerk* | |
| 16:54:40 | artom | More like https://xkcd.com/1171/ | |
| 16:54:53 | aspiers | hahahaha | |
| 16:54:55 | aspiers | that's good | |
| 16:55:16 | efried | Ye gods, my goats are freaking out. aspiers, back atcha in 5... | |
| 16:55:43 | efried | meanwhile, digest this: | |
| 16:55:43 | efried | Okay, so what I had been thinking thus far was that you would be implementing a request filter method here: | |
| 16:55:43 | efried | https://github.com/openstack/nova/blob/master/nova/scheduler/request_filter.py | |
| 16:55:43 | efried | Those methods get the RequestSpec, which has the image and flavor in it, so you can grab encrypt_mem=true from either/both. | |
| 16:56:00 | artom | Or the well known "Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems. " | |
| 16:56:51 | aspiers | efried: ahah! yep, makes sense | |
| 16:56:52 | artom | efried, you confuse me. A Francophone American BJJ practitioner (right? I seem to remember that from somewhere) with goats. | |
| 16:59:35 | aspiers | artom: my Perl regexp knowledge comes from the same era as my personal website https://twitter.com/adamspiers/status/1115929350736613376 | |
| 16:59:48 | aspiers | I should try not to think too much about how long ago that is | |
| 17:02:03 | artom | Your Twitter picture doesn't fit your website's copyright notice :) | |
| 17:02:10 | artom | Unless you were, like, 10 when you made it | |
| 17:02:15 | artom | (The website, not the picture) | |
| 17:03:38 | artom | Oh god it's still out there: http://web.archive.org/web/20040611101606/http://coth.no-ip.org/ | |
| 17:03:49 | artom | Whatever pride I have left just went out the window | |
| 17:03:53 | stephenfin | efried: Spent the day working on summit stuff but I'll create the nova-console removal (specless) BP tomorrow, plus more for nova-consoleauth removal (I've that series drafted already). Hit me if I don't | |
| 17:03:54 | artom | I wasn't even that your when I made that | |
| 17:04:06 | artom | *that young | |
| 17:04:09 | stephenfin | (though not really. I imagine that would hurt) | |
| 17:04:11 | artom | Like, 19 | |
| 17:06:23 | aspiers | haha | |
| 17:06:53 | aspiers | artom: the internet is a cache of dirty secrets | |
| 17:07:09 | aspiers | artom: I was 20 in 1995 | |
| 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? | |