Comment 1 for bug 1838977

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to networking-ovn (master)

Reviewed: https://review.opendev.org/674574
Committed: https://git.openstack.org/cgit/openstack/networking-ovn/commit/?id=b2b5e89bca25570a757c62fc6e30277365dae456
Submitter: Zuul
Branch: master

commit b2b5e89bca25570a757c62fc6e30277365dae456
Author: Maciej Józefczyk <email address hidden>
Date: Thu Aug 8 12:25:13 2019 +0000

    Fix gateway blockers

    This patch squaches two commits:

    1) Do not modify passed by reference variables in mechanism_driver

    Test test_update_port_with_empty_data [0] from TestOVNMechanismDriverPortsV2
    class in neutron is runned agains:
    neutron.tests.unit.plugins.ml2.drivers.mechanism_test.TestMechanismDriver
    which in fact during update_port_postcommit() does nothing with
    the port, only validates it [1].

    In networking-ovn this test is runned against real mechanism driver:
    networking_ovn.ml2.mech_driver.OVNMechanismDriver. This ends with
    little difference - to port dict 'network' information is added
    during call of update_port_postcommit(). The port data itself
    remains the same.
    We shouldn't modify passed by reference variables there. So doing
    deepcopy on all provided data.

    Here comes also the question if this test inheritance is the
    right way.

    2) Add mock for _check_for_socket_ready

    Recently in new octavia-lib release driver-lib provides
    get methods for quering objects by its ids [2].
    We need to mock() socket communication in tests, otherwise
    all the tests fails blocking CI.

    [0] https://review.opendev.org/#/c/673486
    [1] https://github.com/openstack/neutron/blob/master/neutron/tests/unit/plugins/ml2/drivers/mechanism_test.py#L208
    [2] https://github.com/openstack/octavia-lib/commit/d700c00a90fd62b4f6cb9eb30ebe5f619dd6bfda

    Related-Bug: #1838977
    Closes-Bug: #1839434
    Change-Id: I1ad224960173fe896f6eb8049a188d9e82874068