| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-01-22 | |||
| 17:00:12 | melwitt | do you suppose this could be similar to problems with live migration where we've needed post copy/auto converge? | |
| 17:00:20 | melwitt | seems weird | |
| 17:00:48 | lyarwood | yeah it might be but I can't think that the cirros image would be writing that much to the volume if at all | |
| 17:00:58 | lyarwood | I think we write timestamps during the test and that's it | |
| 17:01:18 | melwitt | hm ok | |
| 17:06:12 | lyarwood | melwitt: we could write this up as a Ubuntu QEMU bug again and see if upstream can help debug this further | |
| 17:06:37 | lyarwood | melwitt: assuming there's something we can log that would help them | |
| 17:08:08 | melwitt | lyarwood: good idea, let me go through and collect more data (if there is more) and I'll open one if I can find more to go on | |
| 17:08:20 | kashyap | melwitt: So ... just reading the scrollback; that "current" and "final" cursors differing means: the copy (i.e. migration w/ storage) hasn't finished succesfully | |
| 17:08:46 | kashyap | In the past we've hit that, and debugged on list; and I recall filing a libvirt RFE to fix that ... let me check | |
| 17:09:18 | melwitt | kashyap: yeah, I think I understood that but the weird thing is it quickly gets to the last block and then stays stuck there for 4 minutes until the test wait in tempest times out and kills it | |
| 17:09:37 | kashyap | Hmm | |
| 17:09:44 | kashyap | melwitt: Yeah, this definitely looks ome something new | |
| 17:10:17 | kashyap | Because in that old behaviour, libvirt was just making "educated guess" when the syncing has finished | |
| 17:10:41 | melwitt | I see | |
| 17:10:42 | kashyap | Especially the "current cursor" terminology looks new to me. I haven't seen the word "cursor" in this error's context before | |
| 17:11:05 | lyarwood | this is blockCopy and not blockRebase btw kashyap | |
| 17:11:09 | kashyap | melwitt: I don't want to bore you with a long bug, but for the record, here it is: https://bugzilla.redhat.com/show_bug.cgi?id=1382165 | |
| 17:11:11 | openstack | bugzilla.redhat.com bug 1382165 in libvirt "virDomainGetBlockJobInfo: Adjust job reporting based on QEMU stats & the "ready" field of `query-block-jobs`" [Unspecified,Closed: nextrelease] - Assigned to pkrempa | |
| 17:11:22 | kashyap | lyarwood: I see; nod | |
| 17:11:24 | lyarwood | I think we dropped that workaround a while ago | |
| 17:11:43 | kashyap | Yep | |
| 17:11:49 | kashyap | But just for clarity, blockCopy() is a _superset_ of blockRebase() | |
| 17:11:55 | melwitt | kashyap: any data/background helps :) | |
| 17:12:07 | kashyap | (So whatever worked, or failed w/ Rebase(), will also fails equal w/ Copy()) | |
| 17:12:29 | lyarwood | yeah https://review.opendev.org/c/openstack/nova/+/729596 removed it | |
| 17:12:38 | kashyap | melwitt: But yeah; filing an upstream Ubuntu QEMU bug would be cool to start with | |
| 17:13:01 | melwitt | k, I'll collect data points and write something up. thanks for the hints both | |
| 17:13:05 | kashyap | lyarwood: Yep, recall it as much, it just reminded me of it. | |
| 17:14:50 | lyarwood | if anyone has anything they'd like me review please let me know | |
| 17:14:51 | kashyap | melwitt: The libvirtd log might have some interesting stuff in there. /me tries to fish it out | |
| 17:14:53 | lyarwood | PLEASE :| | |
| 17:15:07 | kashyap | LOL | |
| 17:15:12 | melwitt | I feel for you. clicky clicky clicky | |
| 17:15:18 | melwitt | click all the things | |
| 17:15:29 | kashyap | lyarwood: I finished it the next day it came; I'm a free man! | |
| 17:15:44 | stephenfin | kashyap: no one likes a show off | |
| 17:15:48 | kashyap | stephenfin: LOL | |
| 17:15:51 | lyarwood | ./ban kashyap | |
| 17:15:57 | lyarwood | ^_^ | |
| 17:16:05 | kashyap | stephenfin: I know; the secret pleasure of doing the right thing goes away if one brags | |
| 17:18:19 | kashyap | melwitt: I'm looking at the log file here: https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_a07/771749/1/check/nova-next/a078a17/controller/logs/libvirt/index.html | |
| 17:18:25 | kashyap | Hope that's the correct log tree | |
| 17:20:39 | melwitt | kashyap: yes that's right | |
| 17:21:02 | kashyap | melwitt: Unrelated: I know that the "controller" directory has the compute logs, but why is it named "controller"? | |
| 17:21:27 | kashyap | (Because there's also the "compute" top-level directory, which has its own QEMU/libvirt logs. It's always tripping me up | |
| 17:21:37 | melwitt | kashyap: in the case of multi-node job, to identify the "main" node vs one of the additional compute nodes | |
| 17:21:53 | kashyap | I see | |
| 17:22:04 | melwitt | in this case you're in the right place bc the swap volume got stuck on the main node | |
| 17:22:33 | melwitt | if it had happened on the other compute node, you'd want to look in the compute1 dir | |
| 17:22:47 | kashyap | melwitt: It looks like so; because I don't see the failure in this libvirtd log | |
| 17:22:58 | kashyap | And these copy failures are logged to libvirtd. So let me look in the other one | |
| 17:23:10 | sean-k-mooney | lyarwood: you should review gibis qos attach | |
| 17:23:16 | sean-k-mooney | series | |
| 17:23:20 | melwitt | kashyap: would there be a failure though? there was no error. it's just that the cursor never moved from the last block | |
| 17:23:41 | kashyap | melwitt: Not a failure per-se; but in Gate, we have libvirt log filters enabled | |
| 17:23:49 | melwitt | and the test timed out at the tempest level as a result of never seeing the 'available' status for the volume | |
| 17:23:50 | sean-k-mooney | lyarwood: im basically done with it and it looks ready to merge IMO | |
| 17:24:04 | kashyap | melwitt: ... so we should see more fine-grained info. And I was hoping to hurl a useful bit at one of the US-based libvirt developers :D | |
| 17:24:05 | sean-k-mooney | lyarwood: but it need a second core to review | |
| 17:24:17 | melwitt | kashyap: ack | |
| 17:25:10 | kashyap | melwitt: Oh, wait ... I first didn't see this error is _actually_ libvirt error. Looks like it's not | |
| 17:25:43 | sean-k-mooney | lyarwood: specifclly i was refering to https://review.opendev.org/q/topic:%22bp%252Fsupport-interface-attach-with-qos-ports%22+(status:open%20OR%20status:merged) if you are still lookign for somethign easy to review | |
| 17:26:15 | melwitt | kashyap: yeah it's not emitting an error afaik. it's just that we keep checking the job status and it shows it one block from the end and it stays that way for about 4 minutes and then we give up | |
| 17:28:38 | kashyap | melwitt: Have you got the instance name, please? | |
| 17:31:56 | kashyap | Found it | |
| 17:32:01 | melwitt | kashyap: uuid is 185d6573-58ee-47bc-8063-b447673db266, are you wanting the instanceNNNNNN id? | |
| 17:32:15 | melwitt | sorry, I was double checking whether I got the right one | |
| 17:32:29 | kashyap | melwitt: No-no; that's fine :-) | |
| 17:32:46 | melwitt | my eyes are like @_@ | |
| 17:33:07 | kashyap | melwitt: Heh; urgh; my FF browser is hung | |
| 17:33:54 | kashyap | Also there's an unpleasant easter egg in there (I knew it before too): ".txt" files are actually *gzip* files that will devour your RAM, if you try open them in your browser | |
| 17:35:03 | kashyap | Alright it came back. And it's this: instance-00000013 (185d6573-58ee-47bc-8063-b447673db266). Let's see if there's anything useful | |
| 17:37:04 | sean-k-mooney | kashyap: that depend on which of the ci provider the logs are uploaded too | |
| 17:37:41 | sean-k-mooney | the rackspace cloud for reason has there swift cluster configured in such a way that it always compresses them but does not send the correct headers | |
| 17:37:48 | sean-k-mooney | for things like curl to work | |
| 17:42:51 | kashyap | I see | |
| 17:42:59 | kashyap | melwitt: So ... something interesting (at least to me) :-) -- | |
| 17:43:21 | kashyap | I just extracted the exchange between libvirt and QEMU from the giant log here: https://kashyapc.fedorapeople.org/QMP_exchange_libvirtd_22Jan2021_NovaCI.txt | |
| 17:43:33 | kashyap | So ... the copy has actually *succeeded*. Here's the evidence: | |
| 17:43:46 | kashyap | - You `grep` for "blockdev-mirror" in there (at 2021-01-21 05:29:32.630+0000) -- that's the start of the copy job | |
| 17:44:29 | kashyap | - Then there's constant polling going on -- you'll see a lot of "io-status": "ok" going on there | |
| 17:44:58 | kashyap | - Finally, at 2021-01-21 05:34:24.571+0000 | |
| 17:45:40 | kashyap | We get the "ready" flag (which means copy has completed: notice the values of 'len' and 'offset' are equal: | |
| 17:45:43 | kashyap | {"return": [{"auto-finalize": true, "io-status": "ok", "device": "copy-vdb-libvirt-5-format", "auto-dismiss": false, "busy": true, "len": 1073741824, "offset": 1073741824, "status": "running", "paused": false, "speed": 0, "ready": false, "type": "mirror"}], "id": "libvirt-843"} | |
| 17:46:40 | kashyap | melwitt: So, all I can say for now is the copy has succeeded. So I'm not sure why it's saying the copy is not progressing | |
| 17:47:49 | kashyap | melwitt: I'm out of neurons, and need to make some food ... we can continue the chat in the (future) bug | |
| 17:48:48 | melwitt | thanks kashyap, that's helpful. have a nice weekend o/ | |
| 17:51:05 | kashyap | (I think it can't progress because it has reached the end of the copy -- the value in the error matches what I posted above: 1073741824. Hm, needs further digging.) | |
| 17:51:13 | kashyap | Have a good weekend, you too! | |
| 17:51:56 | melwitt | kashyap: yeah it seems the job_status api is returning the wrong thing then, or such | |
| 17:52:37 | melwitt | get_job_info https://github.com/openstack/nova/blob/master/nova/virt/libvirt/guest.py#L863-L873 | |
| 17:58:01 | lyarwood | is it just a race? | |
| 17:58:26 | lyarwood | but did libvirtd log the job as finished after n-cpu had already given up? | |
| 18:10:36 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Replace blind retry with libvirt event waiting in detach https://review.opendev.org/c/openstack/nova/+/770246 | |
| 18:11:13 | melwitt | lyarwood: I will check | |
| 18:15:54 | gibi | have a nice weekend folks! o/ | |
| 18:16:01 | lyarwood | and you gibi \o | |
| 18:16:16 | lyarwood | o/ all | |
| 18:16:19 | sean-k-mooney | o/ | |