| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-08-25 | |||
| 15:45:06 | edmondsw | claudiub: fried_rice: problem with spoofing vendor/product id would be that if they're not real how does the operator figure them out to put in the conf? Same issue as address | |
| 15:45:16 | edmondsw | sorry, finally got off my calls and catching up | |
| 15:45:27 | kashyap | Anyway, for now, stephenfin's allowing to unset the option is good. | |
| 15:46:27 | dansmith | stephenfin: see my comment just now.. I might be missing something | |
| 15:46:59 | fried_rice | edmondsw Yeah, I think that's why we want to be able to support alternative mechanisms for identifying the devices. | |
| 15:47:06 | edmondsw | +1 | |
| 15:47:09 | claudiub | edmondsw: yep, that's what i'm thinking about. although, there is a way, at least for my scenario. since i'm doing an md5 of the NIC's PCI device_id, a small script can be provided to "figure out" the vendor_id and product_id | |
| 15:47:21 | fried_rice | edmondsw See :08:13 | |
| 15:47:29 | clarkb | mriedem: is that content not the default out of nova/etc in the nova repo? | |
| 15:47:32 | claudiub | but ideally, we wouldn't have to rely on something like this | |
| 15:47:48 | fried_rice | claudiub You're only doing that for SR-IOV, so the user never sees it, right? | |
| 15:47:59 | claudiub | fried_rice: yep | |
| 15:48:03 | edmondsw | claudiub yeah... but it's a lot nicer to operators if they can just plug in something that makes sense, not have to go figure out how to turn what they know into something nova can understand | |
| 15:48:05 | fried_rice | I.e. the user doesn't have to figure out that MD5 spoofing and set up an alias with it. | |
| 15:48:12 | claudiub | fried_rice: it only has to be whitelisted | |
| 15:48:27 | fried_rice | claudiub And your setup allows you to whitelist by address :) | |
| 15:48:36 | clarkb | mriedem: I guess not reading the change it is an explicit step taken in devstack. Interesting | |
| 15:48:46 | fried_rice | After you've done all the mounting & dismounting gorp per https://blogs.technet.microsoft.com/heyscriptingguy/2016/07/14/passing-through-devices-to-hyper-v-vms-by-using-discrete-device-assignment/ | |
| 15:50:09 | claudiub | fried_rice: that link is only for full PCI passthrough, not for SR-IOV. :) | |
| 15:50:28 | fried_rice | claudiub So how do you whitelist SR-IOV? | |
| 15:53:04 | claudiub | fried_rice: for hyper-v SR-IOV configuration, there are other steps to check if it's supported and enable it. For example, running the powershell command Get-VMHost, will also include SR-IOV support details: if it's supported or not on the host (must be enabled in BIOS). Afterwards, the NICs have to be checked if they support SR-IOV, which can be checked by Get-NetAdapterSriov, if i'm not mistaken | |
| 15:53:31 | fried_rice | claudiub But what do you put in the nova-cpu.conf's [pci]passthrough_whitelist ? | |
| 15:53:58 | fried_rice | Do the above commands produce some kind of output that the user can translate to the whitelist entry? | |
| 15:54:10 | mriedem | clarkb: yeah | |
| 15:54:14 | mriedem | devstack sets that up | |
| 15:54:16 | claudiub | fried_rice: at this moment, those spoofed vendor_id, product_id | |
| 15:54:31 | fried_rice | claudiub Oh, so your user *does* see the spoofed vendor/prod IDs. | |
| 15:54:33 | claudiub | but ideally I'd have a better option. | |
| 15:54:54 | fried_rice | okay, cool, that's a pretty good story. | |
| 15:55:04 | claudiub | fried_rice: only on the compute node's nova.conf file. | |
| 15:55:19 | fried_rice | claudiub Right, operator-facing. | |
| 15:55:29 | claudiub | fried_rice: yep | |
| 15:55:34 | fried_rice | Which is ick. | |
| 15:55:49 | claudiub | yep | |
| 16:03:28 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: WIP: SPEC: PCI passthrough by device ID https://review.openstack.org/497965 | |
| 16:03:31 | openstackgerrit | Dan Smith proposed openstack/nova master: Move hash ring initialization to init_host() for ironic https://review.openstack.org/497966 | |
| 16:04:23 | dansmith | edleafe: ^ | |
| 16:04:56 | openstackgerrit | Stephen Finucane proposed openstack/nova master: conf: Allow users to unset 'keymap' options https://review.openstack.org/496605 | |
| 16:04:57 | openstackgerrit | Stephen Finucane proposed openstack/nova master: tests: De-duplicate some graphics tests https://review.openstack.org/497969 | |
| 16:05:19 | stephenfin | dansmith: ^ | |
| 16:05:25 | dansmith | aye | |
| 16:05:29 | stephenfin | ta | |
| 16:06:12 | dansmith | stephenfin: you're still not setting keymap to None... is there a reason? | |
| 16:06:16 | dansmith | in the test I mean | |
| 16:08:32 | openstackgerrit | Matt Riedemann proposed openstack/nova master: De-duplicate two delete_allocation_for_* methods https://review.openstack.org/496936 | |
| 16:09:45 | cdent | whoops mriedem | |
| 16:09:45 | cdent | thanks for making that fix mrhillsman | |
| 16:10:07 | mriedem | np | |
| 16:10:43 | fried_rice | cdent Rumor has it you're the VMWare guy. (mriedem threw you under the bus) | |
| 16:11:02 | mriedem | dansmith: first, superdan | |
| 16:11:04 | fried_rice | cdent Can you (refer me to someone who can) speak to how PCI is handled in VMWare? | |
| 16:11:11 | mriedem | second, notice the todo i added in here yesterday? https://review.openstack.org/#/c/497606/1/nova/compute/manager.py@3798 | |
| 16:11:23 | mriedem | superdan: am i just blind or does that error handling not make any sense? | |
| 16:12:15 | mriedem | it was added long ago https://review.openstack.org/#/c/73387/ and had quite a bit of review from different people, but i don't see how it made sense back then either | |
| 16:12:17 | cdent | fried_rice: if you mean being employed by vware makes me the vmware guy, then yes. I’ve pointed out the conversation from earlier to some people who were interested. | |
| 16:12:30 | mriedem | cdent: would that be radu? | |
| 16:12:41 | mriedem | radu is the only other person i know that was working on nova in recent times | |
| 16:13:01 | fried_rice | cdent Cool beans. And FYI for passing along to those folks: https://blueprints.launchpad.net/nova/+spec/pci-by-device-id (cc stephenfin claudiub) | |
| 16:13:45 | cdent | rgerganov and gjayavelu . I’ll let them know to look (and to come back to irc one in a while) | |
| 16:14:04 | cdent | there are a lot of people who apparently used to | |
| 16:14:09 | cdent | but not so much now | |
| 16:14:10 | mriedem | there was also of course no test for the compute manager piece of that | |
| 16:14:14 | mriedem | i think i'm just going to remove it | |
| 16:14:17 | superdan | mriedem: I bet that was intending to catch migrationerror, which can be raised by _prep_resize | |
| 16:14:39 | superdan | mriedem: well, the comment definitely talks about the call though | |
| 16:15:07 | superdan | mriedem: like I said yesterday I thought that was a call, so that person did too | |
| 16:15:26 | mriedem | ok, i was going to say, from the change itself, it's raising that here https://review.openstack.org/#/c/73387/13/nova/virt/libvirt/driver.py | |
| 16:15:34 | mriedem | which on the source after the rpc cast | |
| 16:15:48 | mriedem | the rpc all you mentioned yesterday i thought was about something in conductor, but maybe i'm confused | |
| 16:16:02 | mriedem | anyway, i'm going to remove this handling from prep_resize as it can't happen | |
| 16:16:32 | superdan | hang on | |
| 16:16:34 | superdan | I'm confused | |
| 16:17:16 | mriedem | the libvirt driver raises that error from migrate_disk_and_power_off which is called from ComputeManager.resize_instance, | |
| 16:17:25 | mriedem | _prep_resize does an rpc cast to resize_instance on the source host | |
| 16:17:31 | superdan | mriedem: so you see that we can raise a MigrationError in there, right? | |
| 16:17:34 | mriedem | since it's a cast, the error raised from migrate_disk_and_power_off on the source can't come back | |
| 16:17:40 | mriedem | in _prep_resize? | |
| 16:17:43 | superdan | yeah | |
| 16:17:45 | mriedem | yes | |
| 16:17:49 | superdan | also, | |
| 16:18:01 | mriedem | MigrationError != MigrationPreCheckError | |
| 16:18:03 | superdan | we're doing the resize claim in a context manager and then the rpc call inside | |
| 16:18:12 | superdan | mriedem: I know, but precheck is a subclass of migration error | |
| 16:18:26 | superdan | mriedem: thought maybe it should be catching migrationerror instead | |
| 16:18:51 | mriedem | no i assume he added MigrationPreCheckError specifically b/c that's what was added to the driver to raise in tha same change | |
| 16:19:20 | superdan | I guess it doesn't matter regardless since we're not going to return the exception we let through to anything anyway | |
| 16:19:44 | mriedem | i'm not sure what the resize_claim has to do with anything, | |
| 16:19:48 | mriedem | that just aborts the claim on failure | |
| 16:19:58 | mriedem | like if the rpc cast blows up or something i guess | |
| 16:20:19 | superdan | mriedem: right, I'm saying there seems to be no reason to do that if we're not going to make a call | |
| 16:20:38 | superdan | let me take a step back | |
| 16:20:52 | superdan | all I'm saying is a lot of this path looks very confused about what is a blocking call vs. cas | |
| 16:20:54 | superdan | *cast | |
| 16:20:56 | superdan | that's all | |
| 16:21:15 | mriedem | agree | |
| 16:21:32 | mriedem | which is why i did this the other day https://review.openstack.org/#/c/496861/ | |
| 16:21:40 | mriedem | because following this stupid back and forth shit is confusing | |
| 16:21:53 | mriedem | i've been meaning to do something like ^ for the live migration craziness for awhile too | |
| 16:22:09 | mriedem | like, "in this method, which is the 5th part of the live migration crazy, which fucking host am i actually on right now?!" | |
| 16:22:24 | mriedem | sorry for the salty language | |