Earlier  
Posted Nick Remark
#openstack-nova - 2019-04-23
16:48:26 efried aspiers: okay, sure. One minute...
16:48:27 kashyap sean-k-mooney: Yes, we do.
16:48:40 sean-k-mooney why?
16:49:01 kashyap sean-k-mooney: Let me quote the upstream QEMU documentation:
16:49:03 kashyap virt-ssbd
16:49:03 kashyap [quote]
16:49:04 kashyap Required to enable the CVE-2018-3639 fix. Not included by default in any AMD CPU model. Must be explicitly turned on for all AMD CPU models. This should be provided to guests, even if amd-ssbd is also provided, for maximum guest compatibility. Note for some QEMU / libvirt versions, this must be force enabled when when using “Host model”, because this is a virtual feature that doesn’t exist
16:49:10 kashyap in the physical host CPUs.
16:49:13 kashyap [/quote]
16:49:20 kashyap Note the: *even if amd-ssbd- is also provided* part.
16:49:42 kashyap sean-k-mooney: They are separate CPU flags, so of course we need separate traits.
16:49:57 sean-k-mooney well we dont that is basically my point
16:50:04 kashyap Oh?
16:50:14 kashyap sean-k-mooney: What do you mean?
16:50:28 sean-k-mooney there does not need to be a 1:1 mapping between tratis adn cpus flags
16:50:39 sean-k-mooney the traits dont impact the xml generation
16:50:56 kashyap Please comment in the review; I need to leave the library. It's closing
16:50:56 sean-k-mooney so for the tratis we need to think about whgat we schdule on
16:51:07 sean-k-mooney sure will do
16:51:09 kashyap Much appreciated
16:51:23 artom What's the ? at the beginning of https://github.com/openstack/nova/blob/95e782dfd86caa4201d28ee86ba2bb475e0a409f/devstack/tempest-dsvm-lvm-rc#L33 ?
16:51:38 artom 'r="^(?!.*"'
16:51:48 artom I thought I groked regex, but this confuses me.
16:52:04 artom ? would mean 0 or 1, right? So... "maybe a (" ?
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 Those methods get the RequestSpec, which has the image and flavor in it, so you can grab encrypt_mem=true from either/both.
16:55:43 efried https://github.com/openstack/nova/blob/master/nova/scheduler/request_filter.py
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 meanwhile, digest this:
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

Earlier   Later