From 91a6c422989ceef545ecdd942d6986c1d1f4c23e Mon Sep 17 00:00:00 2001 From: HVSharma12 Date: Wed, 29 Apr 2026 08:25:49 +0530 Subject: [PATCH] fix: add initial support for sle16+ Signed-off-by: HVSharma12 --- defaults/main.yml | 8 ++++++-- tasks/main.yml | 8 +++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 467a030..181c5b3 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -75,15 +75,19 @@ __network_packages_default_wpa_supplicant: ["{% # distribution: # - python-gobject-base on RHEL7 (no python2-gobject-base :-/) # - python3-gobject-base on Fedora 28+ +# - python3-gobject on SUSE 16+ (no -base suffix) __network_packages_default_gobject_packages: ["python{{ - ansible_facts['python']['version']['major'] | replace('2', '') }}-gobject-base"] + ansible_facts['python']['version']['major'] | replace('2', '') }}-gobject{{ + '' if ansible_facts['os_family'] | d('') == 'Suse' else '-base' }}"] __network_service_name_default_nm: NetworkManager __network_packages_default_nm: "{{ ['NetworkManager'] + __network_packages_default_gobject_packages | select() | list() + __network_packages_default_wpa_supplicant | select() | list() + __network_packages_default_wireless | select() | list() - + __network_packages_default_team | select() | list() }}" + + __network_packages_default_team | select() | list() + + (['typelib-1_0-NM-1_0'] + if ansible_facts['os_family'] | d('') == 'Suse' else []) }}" __network_service_name_default_initscripts: network diff --git a/tasks/main.yml b/tasks/main.yml index 6fae953..bcad966 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -26,15 +26,17 @@ - ansible_facts["distribution_major_version"] | int < 8 - name: Abort applying teaming configuration if the system version - of the managed host is EL10 or later + of the managed host is EL10 or later, or SUSE 16 or later fail: msg: >- Teaming is not supported in {{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }} - use bonding instead when: - - ansible_facts["distribution_major_version"] | int > 9 - - ansible_facts["distribution"] in __network_rh_distros + - (ansible_facts["distribution_major_version"] | int > 9 and + ansible_facts["distribution"] in __network_rh_distros) or + (ansible_facts["distribution_major_version"] | int >= 16 and + ansible_facts["os_family"] == "Suse") - network_connections | selectattr("type", "defined") | selectattr("type", "match", "^team$") | list | length > 0 or network_state.get("interfaces", []) | selectattr("type", "defined") |