network/module_utils/network_lsr/nm
Gris Ge c98c17a236 Fix problem when switch provider from initscript to nm
Problem:

After `tests_bridge_initscripts.yml` passed, the `tests_bridge_nm.yml`
will fail with NetworkManager 1.18.

Root cause:

 1. The `absent` and `down` action of initscript provider will not
    remove the bridge interface which fail the assertion in
    `tests_bridge_nm.yml`.
 2. In initscript mode, network role will create ifcfg file with
    `NM_CONTROLLED=no` instructing NetworkManager to mark the bridge as
    unmanaged. The follow up `down` and `absent` action of initscript
    provider will not change the NetworkManager's understanding on
    unmanaged state of this interface.

Fixes:
 1. We cannot change existing behaviour of initscript on not deleting
    interface in `down` and `absent` action. So we change the test
    function `tests/playbooks/down_profile.yml` to delete the interface
    manually via `ip link del <ifname>` command.

 2. Use `NM.Client.reload_connections_async()` to reload the
    configuration for nm provider on NetworkManager 1.18.

Previous test infrastructure is running each test file in a brand new VM
or container which cause this problem not been found before.

Dedicate test case `tests/tests_switch_provider.yml` included.

Signed-off-by: Gris Ge <fge@redhat.com>
2022-01-28 17:47:13 +01:00
..
__init__.py fix most ansible-test issues, suppress the rest 2021-04-09 19:57:55 +02:00
active_connection.py fix most ansible-test issues, suppress the rest 2021-04-09 19:57:55 +02:00
client.py fix most ansible-test issues, suppress the rest 2021-04-09 19:57:55 +02:00
connection.py fix most ansible-test issues, suppress the rest 2021-04-09 19:57:55 +02:00
error.py fix most ansible-test issues, suppress the rest 2021-04-09 19:57:55 +02:00
provider.py Fix problem when switch provider from initscript to nm 2022-01-28 17:47:13 +01:00