| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-12-19 | |||
| 14:11:11 | cdent | thanks gibi | |
| 14:11:59 | mriedem | edleafe: the failure on https://review.openstack.org/#/c/511358/ is because we aren't removing the existing allocations for the instance (from the tried and failed host) before we try allocating resources on the alternate | |
| 14:12:07 | mriedem | so the report client thinks we're doing a move operation, which we aren't | |
| 14:13:53 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Fix false positive server group functional tests https://review.openstack.org/529063 | |
| 14:15:02 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Fix false positive server group functional tests https://review.openstack.org/529063 | |
| 14:15:18 | mriedem | _move_operation_alloc_request is broken if we get the allocation candidates using 1.12 | |
| 14:17:10 | edleafe | mriedem: ok, just settling in. Will look over that shortly | |
| 14:20:16 | mriedem | i'll open a bug for the _move_operation_alloc_request thing | |
| 14:23:55 | mriedem | https://bugs.launchpad.net/nova/+bug/1739042 | |
| 14:23:55 | openstack | Launchpad bug 1739042 in OpenStack Compute (nova) "_move_operation_alloc_request fails with TypeError when using 1.12 version allocation request" [Undecided,New] | |
| 14:24:06 | kashyap | mriedem: When you get a moment, my 'logstash' foo isn't helping me; I want to see how many times this error has occurred: "error: connection closed due to keepalive timeout" | |
| 14:24:11 | kashyap | Putting it verbatim here http://logstash.openstack.org/#/dashboard/file/logstash.json | |
| 14:24:14 | kashyap | Didn't help. | |
| 14:24:23 | mriedem | kashyap: where is it originating from? | |
| 14:24:27 | kashyap | mriedem: stable/newton | |
| 14:24:32 | mriedem | which file? | |
| 14:24:33 | kashyap | Let me get a link | |
| 14:24:45 | kashyap | mriedem: There - http://logs.openstack.org/38/528338/4/check/legacy-tempest-dsvm-multinode-live-migration/d867726/job-output.txt.gz#_2017-12-18_20_20_56_230121 | |
| 14:24:55 | kashyap | It's this one: LiveMigrationTest.test_live_block_migration_paused | |
| 14:25:18 | mriedem | i don't see "error: connection closed due to keepalive timeout" in there at all | |
| 14:25:20 | kashyap | I debugged it a bit this morning w/ upstream libvirt & QEMU folks. And I'm setting up a reproducer to see if I can get to it | |
| 14:25:33 | kashyap | mriedem: Ah, sorry; that error actually comes from libvirtd log, let me get that link | |
| 14:25:40 | mriedem | we don't index the libvirtd logs | |
| 14:25:44 | mriedem | which is why it's not in logstash | |
| 14:25:49 | lyarwood | it's also in n-cpu FWIW | |
| 14:26:09 | lyarwood | http://logs.openstack.org/38/528338/4/check/legacy-tempest-dsvm-multinode-live-migration/d867726/logs/subnode-2/screen-n-cpu.txt.gz#_2017-12-18_20_20_13_894 | |
| 14:26:10 | kashyap | mriedem: There - http://logs.openstack.org/38/528338/4/check/legacy-tempest-dsvm-multinode-live-migration/d867726/logs/subnode-2/libvirt/libvirtd.txt.gz#_2017-12-18_20_20_13_880 | |
| 14:26:14 | kashyap | Ah-ha | |
| 14:26:21 | kashyap | mriedem: Any reason we don't index it? | |
| 14:26:24 | mriedem | http://logs.openstack.org/38/528338/4/check/legacy-tempest-dsvm-multinode-live-migration/d867726/logs/subnode-2/screen-n-cpu.txt.gz#_2017-12-18_20_20_13_894 is debug | |
| 14:26:29 | mriedem | we index INFO+ | |
| 14:26:36 | mriedem | we don't index libvirtd because it kills the indexer | |
| 14:26:39 | mriedem | too much content | |
| 14:26:55 | kashyap | Okay, the screen-n-cpu.txt has it | |
| 14:26:57 | lyarwood | mriedem: it's also above in ERROR | |
| 14:27:06 | kashyap | Yeah, it's in ERROR | |
| 14:27:11 | mriedem | http://logs.openstack.org/38/528338/4/check/legacy-tempest-dsvm-multinode-live-migration/d867726/logs/subnode-2/screen-n-cpu.txt.gz#_2017-12-18_20_20_13_893 | |
| 14:27:15 | mriedem | ok that should work | |
| 14:27:40 | kashyap | mriedem: Do you kow how could it kill the index? Due to its size? | |
| 14:27:45 | mriedem | kashyap: yes | |
| 14:27:47 | mriedem | size | |
| 14:28:06 | mriedem | http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22Live%20Migration%20failure%3A%20internal%20error%3A%20connection%20closed%20due%20to%20keepalive%20timeout%5C%22%20AND%20tags%3A%5C%22screen-n-cpu.txt%5C%22&from=7d | |
| 14:28:16 | kashyap | Ah, interesting, even ~217K is too much? | |
| 14:28:21 | kashyap | (Anyway, that's fine.) | |
| 14:28:50 | kashyap | mriedem++ | |
| 14:28:53 | mriedem | kashyap: it's that times however many jobs we run PER DAY | |
| 14:28:54 | kashyap | No Karma bot | |
| 14:29:56 | kashyap | Okay, only 2 hits so far; thanks mriedem | |
| 14:30:05 | mriedem | yeah, but all on newton | |
| 14:30:12 | kashyap | Right | |
| 14:30:16 | mriedem | so i'm guessing it's related to the version of libvirt/qemu we have in newton | |
| 14:30:54 | kashyap | (Don't know the root cause of it yet; could be QEMU, could be libvirt. There are 2 other bugs filed for them - https://bugzilla.redhat.com/show_bug.cgi?id=1367620) | |
| 14:30:54 | openstack | bugzilla.redhat.com bug 1367620 in libvirt "storage migration fails due to keepalive timeout" [High,Assigned] - Assigned to jdenemar | |
| 14:30:54 | mriedem | i don't think we're using UCA packages in newton jobs | |
| 14:31:24 | mriedem | ^ is libvirt 1.3.1 and qemu 2.5 | |
| 14:31:29 | mriedem | we're way newer than that on queens | |
| 14:31:37 | kashyap | Yeah, saw the versions earlier in the day | |
| 14:31:55 | kashyap | Is it worth it to use UCA in that case? Maybe not, for these rare one-off cases | |
| 14:32:13 | mriedem | not at this point for newton | |
| 14:32:31 | kashyap | Yep, noted. | |
| 14:32:47 | mriedem | bauzas: this is a regression introduced in newton https://review.openstack.org/#/c/528835/ - would be good to get your review on that | |
| 14:33:12 | openstackgerrit | Bernhard M. Wiedemann proposed openstack/nova master: Fix 4 doc typos https://review.openstack.org/529084 | |
| 14:35:41 | bauzas | mriedem: ack, looking | |
| 14:36:29 | bauzas | mriedem: ah, good call | |
| 14:37:22 | bauzas | I remember we had a shit number of races for the BuildRequest object | |
| 14:38:48 | edleafe | mriedem: about the func test failure: this line should de-allocate against the instance: https://review.openstack.org/#/c/511358/43/nova/compute/manager.py@1778 | |
| 14:38:57 | mriedem | right so what was added there in newton was just for novalidhost on the initial create | |
| 14:39:01 | mriedem | but didn't take into account reschedules | |
| 14:39:09 | mdbooth | mriedem: Any chance you could have another look at the BDM uuid patches? https://review.openstack.org/#/c/242602/25 and the following 2 are the ones which do the db modification. I addressed your review comments. | |
| 14:39:46 | bauzas | mriedem: the point is that we were not having cell conductors yet | |
| 14:39:50 | mriedem | edleafe: ah, well, that's a race :) | |
| 14:40:00 | mriedem | edleafe: we cast to build_instances *before* compute cleans up the allocations | |
| 14:40:32 | bauzas | mriedem: now that we reschedule per cell conductors, yes it's a problem | |
| 14:40:38 | mriedem | bauzas: you could still run newton in split MQ mode | |
| 14:40:43 | mriedem | and split db | |
| 14:40:45 | mriedem | i think anyway | |
| 14:40:45 | edleafe | mriedem: so it's only locked for build, not claim | |
| 14:41:01 | bauzas | mriedem: sure | |
| 14:41:21 | mriedem | edleafe: the lock in compute doesn't matter | |
| 14:41:30 | mriedem | compute rpc casts to conductor build_instances | |
| 14:41:36 | mriedem | and then goes to delete the allocation for the instance | |
| 14:42:11 | edleafe | mriedem: that's my point - it's only locking builds for that host | |
| 14:42:34 | mriedem | in fact, this could overwrite what conductor claims on the alternate if the timing window hits it just right | |
| 14:42:35 | edleafe | I'll move the allocation cleanup so it is run before the cast | |
| 14:42:56 | mriedem | edleafe: you can't just move it, | |
| 14:43:03 | mriedem | it's there for reschedules and any other kind of failure | |
| 14:43:44 | mriedem | edleafe: i think this: | |
| 14:43:44 | mriedem | fails = (build_results.FAILED, | |
| 14:43:44 | mriedem | build_results.RESCHEDULED) | |
| 14:43:45 | edleafe | mriedem: all of the other cleanups are in _do_build_and_run_instance() | |
| 14:43:50 | mriedem | becomes just build_results.FAILED | |
| 14:44:55 | mriedem | but if we change that then self._build_failed() won't get called... | |
| 14:45:00 | bauzas | mriedem: looking at http://www.voidspace.org.uk/python/mock/magicmock.html#mock.NonCallableMagicMock | |
| 14:45:16 | bauzas | mriedem: it means that we call it, then we would have an exception ? | |
| 14:45:20 | mriedem | bauzas: yes | |
| 14:45:34 | bauzas | interesting | |
| 14:45:41 | bauzas | I wasn't knowing it | |
| 14:45:50 | mriedem | edleafe: so if you're going to leave the cleanup in the compute, then i think we can only call https://review.openstack.org/#/c/511358/43/nova/compute/manager.py@1778 if result == build_results.FAILED in that block | |
| 14:45:58 | mriedem | because we still need to call self._build_failed() | |
| 14:46:19 | mriedem | and then *add* rt.reportclient.delete_allocation_for_instance(instance.uuid) right before we cast to build_instances | |