Bug 1710038
| Summary: | [RHOS 15] Tempest test failure: test_iscsi_volume | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Archit Modi <amodi> | ||||
| Component: | openstack-neutron | Assignee: | Assaf Muller <amuller> | ||||
| Status: | CLOSED DUPLICATE | QA Contact: | Roee Agiman <ragiman> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 15.0 (Stein) | CC: | amuller, chrisw, dasmith, eglynn, jhakimra, jlibosva, kchamart, lyarwood, mbooth, njohnston, sbauza, scohen, sgordon, vromanso | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2019-07-02 13:46:27 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Archit Modi
2019-05-14 19:27:10 UTC
Also, the following tempest test failed with similar result: tempest.api.compute.admin.test_live_migration.LiveMigrationTest.test_iscsi_volume Looks like the live migration failed waiting for the 'network-vif-plugged' event from neutron. Found this in the nova-compute.log [1]:
2019-05-11 21:13:42.167 8 WARNING nova.compute.manager [-] [instance: 6038579b-3a31-470f-85b6-8a1a0e4b8a1e] Timed out waiting for events: [('network-vif-plugged', 'a2879b05-2f7a-4b1b-91af-faa91074d654')]. If these timeouts are a persistent issue it could mean the networking backend on host compute-1.localdomain does not support sending these events unless there are port binding host changes which does not happen at this point in the live migration process. You may need to disable the live_migration_wait_for_vif_plug option on host compute-1.localdomain.: eventlet.timeout.Timeout: 300 seconds
13 seconds later, we receive a 'network-changed' event for the instance:
2019-05-11 21:13:55.993 8 DEBUG nova.compute.manager [req-a858db8b-b5a2-47ac-8697-e5115ceeca58 b2444e993ea64c0fb247340e24e26004 eaf60d0147884211a27211f29f21fc31 - default default] [instance: 6038579b-3a31-470f-85b6-8a1a0e4b8a1e] Received event network-changed-a2879b05-2f7a-4b1b-91af-faa91074d654 external_instance_event /usr/lib/python3.6/site-packages/nova/compute/manager.py:8357
Then way later on, when the instance is being deleted, we see this message, repeating that it never received the 'network-vif-plugged' event from neutron:
2019-05-11 21:31:17.814 8 DEBUG nova.compute.manager [req-e067d5dc-323b-4ee9-865e-9bba9d5d3a68 181b6610a53b405a96c5c0fca7bba6fb 646583384be54cfda42f90b6d2dee13a - default default] [instance: 6038579b-3a31-470f-85b6-8a1a0e4b8a1e] Events pending at deletion: network-vif-plugged-a2879b05-2f7a-4b1b-91af-faa91074d654 _delete_instance /usr/lib/python3.6/site-packages/nova/compute/manager.py:2723
[1] http://cougar11.scl.lab.tlv.redhat.com/DFG-compute-nova-15_director-rhel-virthost-1cont_2comp-ipv4-geneve-live-migration/6/compute-0.tar.gz?compute-0/var/log/containers/nova/nova-compute.log
Comment 3 ^ was about the tempest.api.compute.admin.test_live_migration.LiveMigrationTest.test_iscsi_volume test failure (sorry, looked at the wrong one). Looks like the same thing happened for tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test.test_iscsi_volume though:
2019-05-11 21:02:59.423 8 DEBUG nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Preparing to wait for external event network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 prepare_for_instance_event /usr/lib/python3.6/site-packages/nova/compute/manager.py:326
2019-05-11 21:08:19.823 8 WARNING nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Timed out waiting for events: [('network-vif-plugged', 'ab77e38a-7534-42ee-a268-2be01dad71b3')]. If these timeouts are a persistent issue it could mean the networking backend on host compute-1.localdomain does not support sending these events unless there are port binding host changes which does not happen at this point in the live migration process. You may need to disable the live_migration_wait_for_vif_plug option on host compute-1.localdomain.: eventlet.timeout.Timeout: 300 seconds
2019-05-11 21:08:39.050 8 DEBUG nova.compute.manager [req-a7664bed-e9fe-4ab3-84ef-084ffd46744a b2444e993ea64c0fb247340e24e26004 eaf60d0147884211a27211f29f21fc31 - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Received event network-changed-ab77e38a-7534-42ee-a268-2be01dad71b3 external_instance_event /usr/lib/python3.6/site-packages/nova/compute/manager.py:8357
2019-05-11 21:30:01.846 8 DEBUG nova.compute.manager [req-f224c720-f083-46f1-bcb4-4132c8aead1d 86dbc929ef1140ca93f3c6bb9479ad67 d6fb31a901cd4ce5beadf4f25078c32f - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Events pending at deletion: network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 _delete_instance /usr/lib/python3.6/site-packages/nova/compute/manager.py:2723
*** Bug 1710040 has been marked as a duplicate of this bug. *** *** Bug 1710041 has been marked as a duplicate of this bug. *** Notes:
Instance: 36b3b0d2-2e88-4258-807e-93b954ca2214
Port: ab77e38a-7534-42ee-a268-2be01dad71b3
Migration request arrives:
2019-05-11 21:02:50.941 [nova-api.log] 22 DEBUG nova.api.openstack.wsgi
[req-37e395bc-8d99-421c-b54a-32a859d1d3e7 395e67fe8d1b453e9b92f68c07629f3f 64bcce5cac32490db7cf3c5de45d902f - default default]
Action: 'action', calling method: <bound method MigrateServerController._migrate_live of <nova.api.openstack.compute.migrate_server.MigrateServerController object at 0x7ff527ccbfd0>>,
body: {"os-migrateLive": {"host": "compute-1.localdomain", "block_migration": "auto"}}
_process_stack /usr/lib/python3.6/site-packages/nova/api/openstack/wsgi.py:520
Confirmation that live migration will wait for external event:
2019-05-11 21:02:59.468 [compute-1-nova-compute.log] 9 DEBUG nova.compute.manager
[req-37e395bc-8d99-421c-b54a-32a859d1d3e7 395e67fe8d1b453e9b92f68c07629f3f 64bcce5cac32490db7cf3c5de45d902f - default default]
pre_live_migration data is LibvirtLiveMigrateData(bdms=<?>,block_migration=True,disk_available_mb=43008,disk_over_commit=<?>,dst_wants_file_backed_memory=False,file_backed_memory_discard=False,filename='tmp2cpxec4r',graphics_listen_addr_spice=127.0.0.1,graphics_listen_addr_vnc=172.17.1.75,image_type='default',instance_relative_path='36b3b0d2-2e88-4258-807e-93b954ca2214',is_shared_block_storage=False,is_shared_instance_path=False,is_volume_backed=False,migration=<?>,old_vol_attachment_ids=<?>,serial_listen_addr=None,serial_listen_ports=<?>,src_supports_native_luks=True,supported_perf_events=<?>,target_connect_addr=<?>,vifs=[VIFMigrateData],wait_for_vif_plugged=<?>)
pre_live_migration /usr/lib/python3.6/site-packages/nova/compute/manager.py:6278
Preparing to wait for external event during live migration... but on compute-0 (the source!), and *before* pre_live_migration?
2019-05-11 21:02:59.423 [compute-0-nova-compute.log] 8 DEBUG nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214]
Preparing to wait for external event network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3
prepare_for_instance_event /usr/lib/python3.6/site-packages/nova/compute/manager.py:326
Timed out waiting for event:
2019-05-11 21:08:19.823 [compute-0-nova-compute.log] 8 WARNING nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214]
Timed out waiting for events: [('network-vif-plugged', 'ab77e38a-7534-42ee-a268-2be01dad71b3')]. If these timeouts are a persistent issue it could mean the networking backend on host compute-1.localdomain does not support sending these events unless there are port binding host changes which does not happen at this point in the live migration process. You may need to disable the live_migration_wait_for_vif_plug option on host compute-1.localdomain.: eventlet.timeout.Timeout: 300 seconds
However, VIF does get plugged on the dest:
2019-05-11 21:03:10.982 [compute-1-nova-compute.log] 9 INFO os_vif [req-37e395bc-8d99-421c-b54a-32a859d1d3e7 395e67fe8d1b453e9b92f68c07629f3f 64bcce5cac32490db7cf3c5de45d902f - default default]
Successfully plugged vif VIFOpenVSwitch(active=False,address=fa:16:3e:f7:e3:26,bridge_name='br-int',has_traffic_filtering=True,id=ab77e38a-7534-42ee-a268-2be01dad71b3,network=Network(448431a2-29b2-4aa4-9080-a65837990cfb),plugin=
'ovs',port_profile=VIFPortProfileOpenVSwitch,preserve_on_delete=False,vif_name='tapab77e38a-75')
No mention anywhere of any unexpected event being received, so to answer Matt's question in comment #7, looks like it's 2 - we don't received the event at all. Preparing to wait on the source before pre_live_migration is still weird though.
Ah, look like it's normal to wait for events before calling pre_live_migration: https://github.com/openstack/nova/blob/stable/stein/nova/compute/manager.py#L6525-L6548 We see it finish plm successfully: 2019-05-11 21:03:19.821 [compute-0-nova-compute.log] 8 INFO nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Took 20.40 seconds for pre_live_migration on destination host compute-1.local domain. And no mention of 'Not waiting for events after pre_live_migration' anywhere. Actually, correction: There's still a pending event when the instance gets cleaned up: (Clean up instance delete request from tempest log: 2019-05-11 21:30:01.831 215818 INFO tempest.lib.common.rest_client [req-f224c720-f083-46f1-bcb4-4132c8aead1d ] Request (LiveAutoBlockMigrationV225Test:tearDownClass): 204 DELETE http://10.0.0.137:8774/v2.1/servers/36b3b0d2-2e88-4258-807e-93b954ca2214 0.572s) 2019-05-11 21:30:01.846 [compute-0-nova-compute.log] 8 DEBUG nova.compute.manager [req-f224c720-f083-46f1-bcb4-4132c8aead1d 86dbc929ef1140ca93f3c6bb9479ad67 d6fb31a901cd4ce5beadf4f25078c32f - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Events pending at deletion: network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 _delete_instance /usr/lib/python3.6/site-packages/nova/compute/manager.py:2723 And compute-0 does eventually get the vif-plugged event: 2019-05-11 21:30:02.183 [compute-0-nova-compute.log] 8 WARNING nova.compute.manager [req-335e16db-0070-431a-a621-9d0a93858971 b2444e993ea64c0fb247340e24e26004 eaf60d0147884211a27211f29f21fc31 - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Received unexpected event network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 for instance with vm_state active and task_state deleting. *** Bug 1710128 has been marked as a duplicate of this bug. *** Neutron OVN folks,
I'm passing this bug over to you because I'm hoping you can tell me why the vif-plugged external event takes so long to arrive. A summary of the context:
During a live migration to compute-1, Nova updates the port bindings to the destination host:
2019-05-11 21:02:53.962 [nova-conductor.log] 23 DEBUG nova.conductor.tasks.live_migrate [req-37e395bc-8d99-421c-b54a-32a859d1d3e7 395e67fe8d1b453e9b92f68c07629f3f 64bcce5cac32490db7cf3c5de45d902f - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Start binding ports on destination host: compute-1.localdomain _bind_ports_on_destination /usr/lib/python3.6/site-packages/nova/conductor/tasks/live_migrate.py:288
Nova then prepares to wait for external vif-plugged events relating to that binding update:
2019-05-11 21:02:59.423 [compute-0-nova-compute.log] 8 DEBUG nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Preparing to wait for external event network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 prepare_for_instance_event /usr/lib/python3.6/site-packages/nova/compute/manager.py:326
And os-vif plugs the VIF:
2019-05-11 21:03:10.982 [compute-1-nova-compute.log] 9 INFO os_vif [req-37e395bc-8d99-421c-b54a-32a859d1d3e7 395e67fe8d1b453e9b92f68c07629f3f 64bcce5cac32490db7cf3c5de45d902f - default default] Successfully plugged vif VIFOpenVSwitch(active=False,address=fa:16:3e:f7:e3:26,bridge_name='br-int',has_traffic_filtering=True,id=ab77e38a-7534-42ee-a268-2be01dad71b3,network=Network(448431a2-29b2-4aa4-9080-a65837990cfb),plugin='ovs',port_profile=VIFPortProfileOpenVSwitch,preserve_on_delete=False,vif_name='tapab77e38a-75')
However, Nova eventually times out waiting for the external event:
2019-05-11 21:08:19.823 [compute-0-nova-compute.log] 8 WARNING nova.compute.manager [-] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Timed out waiting for events: [('network-vif-plugged', 'ab77e38a-7534-42ee-a268-2be01dad71b3')]. If these timeouts are a persistent issue it could mean the networking backend on host compute-1.localdomain does not support sending these events unless there are port binding host changes which does not happen at this point in the live migration process. You may need to disable the live_migration_wait_for_vif_plug option on host compute-1.localdomain.: eventlet.timeout.Timeout: 300 seconds
Even though Nova does receive the event, but at a time when it's too late and the instance is already being deleted as part of the Tempest test tearDown:
2019-05-11 21:30:02.183 [compute-0-nova-compute.log] 8 WARNING nova.compute.manager [req-335e16db-0070-431a-a621-9d0a93858971 b2444e993ea64c0fb247340e24e26004 eaf60d0147884211a27211f29f21fc31 - default default] [instance: 36b3b0d2-2e88-4258-807e-93b954ca2214] Received unexpected event network-vif-plugged-ab77e38a-7534-42ee-a268-2be01dad71b3 for instance with vm_state active and task_state deleting.
I'm hoping you can shed some light on why the event takes so long to arrive.
Let me know if you have any questions, I'll help in any way I can.
Thanks!
From a comment [1] in the duplicate bug, this might be the same thing as bz 1642106. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1710128#c2 *** This bug has been marked as a duplicate of bug 1716335 *** |