← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1952003] Re: Revert resize (on different host) + ovs network backend with iptables security group firewall driver (aka hybrid plug) is broken

 

Reviewed:  https://review.opendev.org/c/openstack/nova/+/819494
Committed: https://opendev.org/openstack/nova/commit/0b0f40d1b308b29da537859b72080488560c23d4
Submitter: "Zuul (22348)"
Branch:    master

commit 0b0f40d1b308b29da537859b72080488560c23d4
Author: Artom Lifshitz <alifshit@xxxxxxxxxx>
Date:   Fri Nov 26 14:36:09 2021 -0500

    Revert "Revert resize: wait for events according to hybrid plug"
    
    This reverts commit 7a7a223602ca5aa0aca8f65a6ab143f1d8f8ec1b.
    
    That commit was added because - tl'dr - upon revert resize, Neutron
    with the OVS backend and the iptables security group driver would send
    us the network-vif-plugged event as soon as we updated the port
    binding.
    
    That behaviour has changed with commit 66c7f00e1d9. With that commit,
    we started unplugging the vifs on the source compute host when doing a
    resize. When reverting the resize, the vifs had to be re-plugged again,
    regarldess of the networking backend in use. This renders commit
    7a7a223602ca5aa0aca8f65a6ab143f1d8f8ec1b. pointless, and it can be
    reverted.
    
    Conflicts - most have to do with context around this commit's code:
    
    nova/compute/manager.py
    
        a2984b647a4 added provider_mappings to
        _finish_revert_resize_network_migrate_finish()'s signature
    
        750aef54b19 started using
        _finish_revert_resize_network_migrate_finish() in
        _finish_revert_snapshot_based_resize_at_source()
    
    nova/network/model.py
    
        8b33ac06445 added get_live_migration_plug_time_events() and
        has_live_migration_plug_time_event()
    
        7da94440db1 added has_port_with_allocation()
    
    nova/objects/migration.py
    
        f203da38387 added is_resize() and is_live_migration()
    
    nova/tests/unit/compute/test_compute.py
    
        a0e60feb3ec added request_spec to the test
    
    nova/tests/unit/compute/test_compute_mgr.py
    
        be278006a58 added unit tests below ours
    
    nova/tests/unit/network/test_network_info.py
    
        7da94440db1 (again) added tests for has_port_with_allocation()
    
    nova/tests/unit/virt/libvirt/test_driver.py and
    nova/virt/libvirt/driver.py are different in that attempting to
    identify individual conflicts is a pointless exercise, as so much has
    changed (mdev, vtmp, the recent wait for events during hard reboot
    workaround config option, etc). They can be treated as
    manual removal of any code that had to do with the bind-time events
    logic (though guided by the conflict markers in git).
    
    TODO(artom) There was a follow up commit,
    78a08d44ea68b31e27ce344f452756886ad309bd, that added the migration
    parameter to finish_revert_migration(). This is no longer needed, as
    the migration was only used to obtain plug-time events. We'll have to
    undo that as well.
    
    Closes-bug: 1952003
    Change-Id: I3cb39a9ec2c260f422b3c48122b9db512cdd799b


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1952003

Title:
  Revert resize (on different host) + ovs network backend with iptables
  security group firewall driver (aka hybrid plug) is broken

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  $subject

  First noticed in internal Red Hat CI of OSP 17 (based on
  stable/wallaby), reproduced in upstream DNM patch [2].

  tl;dr is - Nova waits for a "bind-time" external event from Neutron
  when it updates the port binding back to the original host during the
  resize revert, but Neutron never sends it. Nova times out, and the
  resize revert fails.

  [1] https://bugzilla.redhat.com/show_bug.cgi?id=2011433
  [2] https://review.opendev.org/c/openstack/nova/+/817303

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1952003/+subscriptions



References