| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-08-06 | |||
| 19:21:11 | stephenfin | Yup, exactly | |
| 19:21:48 | artom | OK, great, so that's 1 hour to understand the concept. | |
| 19:21:53 | artom | Now to review the actual code :P | |
| 19:22:02 | artom | Need to pick up food first though | |
| 19:22:30 | stephenfin | TBH, that whole periodic task feels racy and generally wrong to me, but it does state that it's intention is to blow everything away and start from scratch so... | |
| 19:22:55 | stephenfin | yet another thing to add my "tech debt I really need to get back to" list, I guess | |
| 19:23:09 | artom | It's definitely not the first race in there | |
| 19:23:49 | artom | See: https://review.opendev.org/#/c/684409/ | |
| 19:23:57 | stephenfin | For sure. I decided not to start listing the related bugs of the related bugs, because it started getting ridiculous | |
| 19:24:19 | stephenfin | concurrency is hard | |
| 19:24:30 | artom | Yeah, chill with that, you trying to one-up George RR Martin or something? | |
| 19:26:43 | stephenfin | Try to write an explanation for https://review.opendev.org/744021 (with other nova devs that don't have this specific libvirt CPU pinning knowledge in mind) and let me know how you get on :P | |
| 19:44:54 | sean-k-mooney | stephenfin: speaking about racy periodics | |
| 19:45:40 | sean-k-mooney | its possible that we have a race between them starting in general on inital boot and the compute agent looking up it compute node uuid or maybe even creating the compute node record | |
| 19:46:41 | sean-k-mooney | i say its posible becuase im expecting a bug to be filed for http://pastebin.test.redhat.com/891237 | |
| 19:47:23 | sean-k-mooney | and that is my working theory on how we could be trying to update a compute node recored with a compute_node_id of none | |
| 19:49:14 | sean-k-mooney | oh but that one does not have have startup set.... | |
| 19:49:17 | sean-k-mooney | https://github.com/openstack/nova/blob/9ecefeb836964c52a5a2969b15c82b11c51d32ab/nova/compute/manager.py#L9723 | |
| 19:49:56 | sean-k-mooney | and it gets the compute nodes at the start https://github.com/openstack/nova/blob/9ecefeb836964c52a5a2969b15c82b11c51d32ab/nova/compute/manager.py#L9697-L9700 | |
| 19:50:09 | sean-k-mooney | well that theroy did not last long | |
| 19:52:47 | sean-k-mooney | oh i did not read that write it was trying to insert a default consturced/empty pci deivcie object | |
| 19:54:26 | sean-k-mooney | tommorows problem | |
| #openstack-nova - 2020-08-07 | |||
| 02:04:38 | openstackgerrit | Brin Zhang proposed openstack/nova master: [Trivial] Remove wrong format_message() conversion https://review.opendev.org/744280 | |
| 04:07:02 | openstackgerrit | Tony Su proposed openstack/nova master: Provider Config File: Function to further validate and retrieve configs https://review.opendev.org/676029 | |
| 04:07:03 | openstackgerrit | Tony Su proposed openstack/nova master: Provider Config File: Functions to merge provider configs to provider tree https://review.opendev.org/676522 | |
| 04:07:03 | openstackgerrit | Tony Su proposed openstack/nova master: Provider Config File: Enable loading and merging of provider configs https://review.opendev.org/693460 | |
| 04:47:44 | openstackgerrit | Luyao Zhong proposed openstack/nova master: introduce a new driver interface 'cleanup_instance' https://review.opendev.org/714653 | |
| 04:47:44 | openstackgerrit | Luyao Zhong proposed openstack/nova master: track error migrations in resource tracker https://review.opendev.org/745281 | |
| 04:47:45 | openstackgerrit | Luyao Zhong proposed openstack/nova master: track orphans in resource tracker https://review.opendev.org/745282 | |
| 06:59:00 | openstackgerrit | Luyao Zhong proposed openstack/nova master: track error migrations in resource tracker https://review.opendev.org/745281 | |
| 06:59:01 | openstackgerrit | Luyao Zhong proposed openstack/nova master: track orphans in resource tracker https://review.opendev.org/745282 | |
| 07:11:40 | gibi | good morning | |
| 07:38:10 | tony_su | stephenfin: gibi: alex_xu: new provider-config-file patches uploaded change log 1) all comments except one in the last patch relected in code or answered 2) add docstring for each test case | |
| 07:39:05 | tony_su | unfortunately, so far I don't know how to use nova-manage command to help provider config. | |
| 07:42:02 | tony_su | stephenfin: does it mean we need to upgrade nova-manage command to offer some new option to validate the validity of provider.yaml file? | |
| 07:42:43 | tony_su | for this comment https://review.opendev.org/#/c/693460/35/doc/source/admin/managing-resource-providers.rst@205 | |
| 07:52:01 | stephenfin | tony_su: Yeah, exactly. I'm thinking we simply add a command (e.g. 'nova-manage placement validate-schema $SCHEMA') that attempts to load the provided schema and provides an error code and message if it's not valid | |
| 07:53:49 | tony_su | Must we do it this time or can we do it later? I am not fairly faimiliar with nova-manage command and I dont' know how long it can be done. | |
| 07:54:17 | tony_su | I am a little bit worried we will miss Victoria if do so. | |
| 08:40:52 | gibi | tony_su, stephenfin: I'm fine handling the nova-manage part as an addition on top of the series as I don't consider that as a blocker for the feature to merge. Let's focuse on merging what is ready (I know I should spend some time reviewing that series too). | |
| 09:07:53 | openstackgerrit | Stephen Finucane proposed openstack/os-vif master: mypy: Add type annotations https://review.opendev.org/745162 | |
| 09:07:54 | openstackgerrit | Stephen Finucane proposed openstack/os-vif master: mypy: Extend type annotations to 'vif_plug_noop' https://review.opendev.org/745163 | |
| 09:31:11 | tony_su | gibi: stephenfin has been doing great, detailed review for each patch. your review can still effectively speedup our progress... | |
| 09:36:55 | kashyap | lyarwood: Can you remind me, please: does Nova stash 'host-capabilities' somewhere? | |
| 09:37:14 | kashyap | It does, IIRC | |
| 09:38:07 | lyarwood | kashyap: hmm I know we grab them at startup | |
| 09:38:14 | kashyap | lyarwood: Damn | |
| 09:38:26 | kashyap | lyarwood: So the problem I'm debugging w/ a TripleO upgrade dev is this: | |
| 09:39:47 | lyarwood | kashyap: it doesn't look like we stash them anywhere | |
| 09:40:06 | lyarwood | kashyap: we appear to be grabbing a fresh copy from libvirt everytime we need them | |
| 09:40:35 | kashyap | lyarwood: Hmm. Got a code pointer? | |
| 09:42:20 | lyarwood | kashyap: https://paste.centos.org/view/86fa4860 | |
| 09:44:21 | kashyap | lyarwood: Excellent! That helped | |
| 09:44:31 | kashyap | lyarwood: Context: | |
| 09:45:04 | kashyap | lyarwood: During FFU, some hosts report the CPU feature 'arch-facilities' (to make matters worse, it's called differently on EL8: 'arch-capabilities') | |
| 09:45:42 | kashyap | lyarwood: So migration from EL7 to EL8 fails (on appropriate hardware) with: "libvirt.libvirtError: internal error: Unknown CPU feature arch-facilities" | |
| 09:45:55 | kashyap | lyarwood: To 'workaround' that, we need to disable the 'arch-facilities' on the source host | |
| 09:46:02 | lyarwood | kashyap: isn't that a libvirt bug? | |
| 09:46:15 | kashyap | s/disable/comment-out | |
| 09:46:22 | lyarwood | kashyap: ah wait, is it the way we generate the xml on the src? | |
| 09:46:29 | kashyap | lyarwood: No, it's not :-( I talked w/ Jiri Denemark today | |
| 09:46:51 | kashyap | In short, we (Nova) need to improve on how we're doing CPU checks. Some checks are redundant (as libvirt does them anyway) | |
| 09:46:56 | lyarwood | kashyap: we can handle that in https://github.com/openstack/nova/blob/9ecefeb836964c52a5a2969b15c82b11c51d32ab/nova/virt/libvirt/migration.py#L56-L70 | |
| 09:47:02 | kashyap | lyarwood: Yeah, indeed. The guest XML itself doesn't have 'arch-facilities' | |
| 09:50:32 | kashyap | lyarwood: /me clicks | |
| 09:52:15 | kashyap | lyarwood: So, let me explain the sequence of the current workaround: | |
| 09:59:05 | kashyap | 1. Double-check none of the EL7 instance XML contain 'arch-facilities' CPU feature. Normally, the guests do _not_ have them. | |
| 09:59:08 | kashyap | 2. Run `virsh capabilities | grep arch-facilities` — it will be present | |
| 09:59:11 | kashyap | 3. Comment out 'arch-facilties' in /usr/share/libvirt/cpu_share.xml | |
| 09:59:14 | kashyap | 4. Restart 'libvirtd' and 'nova-compute' service (both are needed) | |
| 09:59:16 | kashyap | 5. Then run `virsh capabilities`, again: it will now be absent (expected) | |
| 09:59:19 | kashyap | 6. Now migrate the guest from EL7 to EL8: it _must_ succeed. | |
| 09:59:29 | kashyap | (The above is when migrating only from source hardware that supports 'arch-facilities' CPU feature.) | |
| 10:01:57 | lyarwood | urgh we need to fix this in Nova tbh | |
| 10:02:14 | lyarwood | we can check on the dest if arch-capabilities is set | |
| 10:02:26 | lyarwood | if it is, use it in the migration xml we send there | |
| 10:03:05 | lyarwood | if it isn't but arch-facilities is set on the src, remove that from the migration xml | |
| 10:03:12 | lyarwood | does that sound right? | |
| 10:05:40 | kashyap | lyarwood: Reading the scroll | |
| 10:05:49 | lyarwood | brb coffee | |
| 10:06:15 | kashyap | lyarwood: Right, that does sound correct. I'm gonna file a bug for it | |
| 10:06:43 | kashyap | lyarwood: Oh, but note: 'arch-facilties' is marked as *non-migratable* | |
| 10:10:35 | lyarwood | /o\ | |
| 10:10:42 | lyarwood | so should we always remove it? | |
| 10:12:50 | kashyap | lyarwood: I'd change the plan to this: just drop 'arch-facilities' and let libvirt handle it — this works, Jiri from libvirt confirms | |
| 10:13:44 | lyarwood | kashyap: ack that's simple enough then | |
| 10:15:58 | lyarwood | kashyap: as you're out on PTO next week I'd be happy to handle that once you've written up the bug | |
| 10:22:17 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Follow up for Ibf8dca4bd57b3bddb39955b53cc03564506f5754 https://review.opendev.org/745095 | |
| 10:25:37 | openstackgerrit | Stephen Finucane proposed openstack/nova master: tests: Add helpers for suspend, resume and reboot of server https://review.opendev.org/741285 | |
| 10:25:37 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Pass context, instance to '_create_guest' https://review.opendev.org/741286 | |
| 10:25:38 | openstackgerrit | Stephen Finucane proposed openstack/nova master: api: Reject non-spawn operations for vTPM https://review.opendev.org/741500 | |
| 10:25:38 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Add emulated TPM support to Nova https://review.opendev.org/631363 | |
| 10:25:39 | openstackgerrit | Stephen Finucane proposed openstack/nova master: docs: Add docs for vTPM support https://review.opendev.org/739213 | |
| 10:25:39 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Add type hints to 'nova.compute.manager' https://review.opendev.org/742863 | |
| 10:25:40 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Don't unset Instance.old_flavor, new_flavor until necessary https://review.opendev.org/741995 | |
| 10:25:40 | openstackgerrit | Stephen Finucane proposed openstack/nova master: privsep: Add support for recursive chown, move_tree operations https://review.opendev.org/742864 | |
| 10:25:41 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Add type hints to 'nova.virt.libvirt.utils' https://review.opendev.org/742865 | |
| 10:25:41 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Add support for resize and cold migration of emulated TPM files https://review.opendev.org/639934 | |
| 10:30:58 | kashyap | lyarwood: A quick one, without checking the code, the migrate XML - is it the one we send to _compare_cpu() method or to libvirt's migrate API? | |
| 10:31:27 | kashyap | lyarwood: I'll let you know once I've got the bug up... | |