| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-08-09 | |||
| 20:17:29 | mriedem | very obvious explosion | |
| 20:17:35 | openstackgerrit | Jay Pipes proposed openstack/nova master: Adds a test for _get_provider_ids_matching() https://review.openstack.org/590150 | |
| 20:18:10 | mriedem | prometheanfire: you have this? https://review.openstack.org/#/c/510013/ | |
| 20:18:11 | sean-k-mooney | mriedem: netwrokg-vif-plugged comre from neutron when it finishes wiering up the port | |
| 20:18:29 | mriedem | prometheanfire: this one was fun in that it depended on neutron backports as well | |
| 20:18:39 | sean-k-mooney | also i just as pluging stuff so need to scoll back to get context | |
| 20:18:59 | prometheanfire | that one I'm not sure, but probably | |
| 20:19:09 | mriedem | might want to check | |
| 20:19:23 | prometheanfire | checking | |
| 20:20:17 | prometheanfire | merged dec 3 into stable pike https://github.com/openstack/neutron/commits/stable/pike?after=ad8f00236cc57ce9a8f077dd2d32c6fada00e817+139 | |
| 20:22:41 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Handle binding_failed vif plug errors on compute restart https://review.openstack.org/587498 | |
| 20:22:48 | dansmith | if the event comes from stuff we're doing in pre_dest, it seems unlikely we'd ever win the race in gate | |
| 20:23:16 | prometheanfire | using at least this version of neutron https://github.com/openstack/openstack-ansible/blob/5c341a7bada78edab5f3d132d55adb00eaf2413f/playbooks/defaults/repo_packages/openstack_services.yml#L125 | |
| 20:23:26 | prometheanfire | which is from 2018 in may | |
| 20:23:55 | mriedem | idk this is where i thought we'd generate the event https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L7775 | |
| 20:24:24 | prometheanfire | ok, I have to go for a bit, but will be back | |
| 20:24:34 | dansmith | well, | |
| 20:24:45 | dansmith | I did some debugging on plug stuff with the godaddy people a month or so ago, | |
| 20:24:51 | dansmith | and read through all the neutron code related to this | |
| 20:24:59 | dansmith | and I was surprised to learn that actually what happens is, | |
| 20:25:06 | dansmith | something creates an interface with the right name, | |
| 20:25:17 | dansmith | a periodic in the neutron agent notices, hooks it up and sends the event | |
| 20:25:30 | dansmith | so it's a little less connected to us than I would have thought | |
| 20:26:04 | mriedem | i knew the linuxbridge-agent does polling only b/c sean mooney explained that when we had the issue with waiting for hard reboot events for linuxbridge in the gate | |
| 20:26:20 | mriedem | ovs agent listens for an actual event from ovs itself | |
| 20:26:46 | dansmith | maybe that's why we can win it in the gate, since there was a polling loop | |
| 20:27:04 | mriedem | we use ovs in the gate | |
| 20:27:07 | mriedem | for most everything | |
| 20:27:10 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Handle binding_failed vif plug errors on compute restart https://review.openstack.org/587498 | |
| 20:27:13 | dansmith | I thought we had a LB job? | |
| 20:27:14 | mriedem | neutron has a couple of lb jobs i think | |
| 20:27:32 | dansmith | regardless, you did a LB migration job and it passed a few times at least | |
| 20:27:34 | mriedem | i had rigged up a patch that ran linuxbridge multinode to test sahid's patch | |
| 20:27:41 | mriedem | yeah, could have won the race though right? | |
| 20:27:43 | Sundar | efried: Please ping me when you have a moment | |
| 20:28:07 | efried | Hi Sundar, what's up? | |
| 20:28:16 | dansmith | I guess because of the polling loop we have a decent chance | |
| 20:28:32 | mriedem | and all of our controller services on a single node slowing things down maybe, idk | |
| 20:28:38 | dansmith | because pre-dest is pretty long before we get to the event wait, which seems ...crazy to ever win it | |
| 20:28:38 | mriedem | don't know what prometheanfire's env setup is like | |
| 20:28:59 | dansmith | if so, presumably this patch broke live migration for anyone with a fast system | |
| 20:29:17 | mriedem | god i hope so | |
| 20:29:19 | mriedem | that would be magical | |
| 20:29:32 | dansmith | so, sahid has been arguing to make the timeout non-fatal, reportedly because someone was using a custom driver or something | |
| 20:29:39 | dansmith | but I wonder if it's actually because this is actually totes broken | |
| 20:29:54 | Sundar | We were discussing the relative roles of plugins and drivers. It seems to me that that the distinction is not a hard one. We just need some extension agent with clear APIs for both os-acc and Cyborg. It could be the same module providing two sets of APIs. Does that work for you? | |
| 20:30:20 | efried | Sundar: Absolutely. | |
| 20:30:33 | dansmith | mriedem: melwitt: tbh, if we really think this is that broken (and sounds like it is) then we should probably revert it from the release immediately | |
| 20:31:06 | mriedem | well the other thing i was saying above was, | |
| 20:31:16 | melwitt | oof | |
| 20:31:16 | Sundar | Great. I was trying to delineate the two and it was getting rather ambiguous. Good to have this sorted out. Will send out the os-acc spec with this update | |
| 20:31:20 | mriedem | even if we get the TimeoutError, we raise MigrationError or whatever, | |
| 20:31:32 | mriedem | but i *think* by that point we've already started the guest transfer | |
| 20:31:43 | mriedem | b/c we call _live_migration_operation | |
| 20:31:43 | efried | Sundar: Well, we should still delineate the two, if they're going to be *able* to be separate modules. | |
| 20:31:44 | dansmith | correct | |
| 20:31:44 | mriedem | the nwait | |
| 20:32:07 | mriedem | so starting the guest transfer and then timing out on the watier b/c we registered late kills the nova live migration option but not what's in the hypervisor | |
| 20:32:09 | mriedem | right? | |
| 20:32:18 | mriedem | s/option/operation/ | |
| 20:32:29 | dansmith | mriedem: um, what? | |
| 20:32:52 | mriedem | if we get the timeout and raise MigrationError | |
| 20:32:56 | mriedem | but have already started the guest transfer | |
| 20:33:07 | mriedem | the only thing that happens in nova is we call the _rollback_live_migration code, | |
| 20:33:16 | mriedem | we don't attempt to kill any live migration job that's running in libvirt | |
| 20:33:17 | mriedem | right? | |
| 20:33:17 | Sundar | efried: There will certainly be two sets of APIs: one for instance half of the attach and one for the device half. But both can do device-specific, platform-specific and vendor-specific actions. | |
| 20:33:31 | efried | Sundar: I dig it. | |
| 20:33:49 | efried | Sundar: And I like the idea of being able to supply that code in one module or two. | |
| 20:33:54 | dansmith | lemme look | |
| 20:34:00 | mriedem | in other words, | |
| 20:34:10 | mriedem | nova will say "migratoin failed" but the guest might actually get transferred | |
| 20:34:17 | mriedem | just really f'ing slowly | |
| 20:34:52 | dansmith | well, yeah, I mean, the point of this code was to not raise the speed limit until it came | |
| 20:35:24 | mriedem | so did sahid want the timeout to just log and we'd have a finally that always set the bw back up? | |
| 20:35:54 | dansmith | yes | |
| 20:36:01 | mriedem | given what seems to be a pretty easy race to fail, that seems like it would have been better | |
| 20:36:04 | dansmith | which means you let it go to the other side but without networking | |
| 20:36:20 | Sundar | efried: So, it may be superfluous to have two separate modules, which are separately loaded by Stevedore. os-acc would have to load both, and the distinction in terms of what each module does seems to come down to APIs, rather than anything else. So, we might as well define two sets of APIs, and have one module do both. Internally, of course, the module may have separate packages/sub-modules for different functionalities. | |
| 20:36:36 | dansmith | mriedem: but the goal of the patch wasn't to "maybe catch the plug event", so if it never came in, it really should stop | |
| 20:36:51 | dansmith | mriedem: so I think it should cancel | |
| 20:37:02 | dansmith | which I said on the patch a couple of times, but I guess we never even got it that far | |
| 20:37:16 | Sundar | We may also provide common functions in os-acc for specific hypervisors | |
| 20:37:29 | mriedem | dansmith: ok, well the waiter is in the wrong place then, and https://review.openstack.org/#/c/558001/ was the right thing, | |
| 20:37:31 | mriedem | but not backportable | |
| 20:37:38 | Sundar | which any driver/plugin/module can invoke | |
| 20:37:43 | efried | Sundar: Offhand I don't see a problem with that. Is it ever going to be the case that you need to run one but not both (i.e. a driver but not its corresponding plugin, or vice versa) on a given system? | |
| 20:37:53 | sean-k-mooney | efried: Sundar provided there is a well defiend versioned interface its ok but Sundar i dont thin os-acc should be able to alter the hypervior context | |
| 20:38:18 | efried | Sundar: Let's move to #openstack-cyborg so we're not cross-talking with the others. | |
| 20:38:21 | sean-k-mooney | e.g. just like os-vif os-acc should not be able to modify the libvirt xml | |
| 20:38:27 | dansmith | mriedem: yeah, I was just looking through compute manager wondering why the fsck it was in there too | |
| 20:38:46 | dansmith | mriedem: does that not work for LB for some reason? | |
| 20:39:20 | mriedem | does what not work? | |
| 20:39:22 | openstackgerrit | Merged openstack/nova stable/queens: Reload oslo_context after calling monkey_patch() https://review.openstack.org/589249 | |
| 20:39:22 | mriedem | https://review.openstack.org/#/c/558001/ ? | |
| 20:39:26 | dansmith | yeah | |
| 20:39:29 | openstackgerrit | Merged openstack/nova stable/queens: Fix message for unexpected external event https://review.openstack.org/589505 | |
| 20:39:34 | mriedem | prometheanfire is failing in pike | |
| 20:39:36 | mriedem | https://review.openstack.org/#/c/558001/ is rocky | |
| 20:39:41 | openstackgerrit | Merged openstack/nova master: Trivial fix on migration doc https://review.openstack.org/589028 | |