From fa83a711b6d496235212f29a4e0cdbf167770709 Mon Sep 17 00:00:00 2001 From: Marcos Paulo de Souza Date: Wed, 27 Feb 2019 18:18:32 -0300 Subject: [PATCH] hostname.py: Fix openSUSE distribution name (#47020) All openSUSE distributions changed to the way they are returned from distro.id(). This patches fix the openSUSE Leap and SLES distro names, and adds one entry for Tumbleweed. These descriptions are capitilized, as expected by Ansible's hostname module. Signed-off-by: Marcos Paulo de Souza --- changelogs/fragments/suse_distro_names.yaml | 3 +++ lib/ansible/modules/system/hostname.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/suse_distro_names.yaml diff --git a/changelogs/fragments/suse_distro_names.yaml b/changelogs/fragments/suse_distro_names.yaml new file mode 100644 index 0000000000..e0c17f9d7e --- /dev/null +++ b/changelogs/fragments/suse_distro_names.yaml @@ -0,0 +1,3 @@ +bugfixes: + - Add code to detect correctly a host running openSUSE Tumbleweed + - Fix detection string for SUSE distribution variants like Leap and SLES (SUSE Enterprise Linux Server). diff --git a/lib/ansible/modules/system/hostname.py b/lib/ansible/modules/system/hostname.py index ef0710dc9e..89560a103e 100644 --- a/lib/ansible/modules/system/hostname.py +++ b/lib/ansible/modules/system/hostname.py @@ -565,7 +565,7 @@ class FedoraHostname(Hostname): class SLESHostname(Hostname): platform = 'Linux' - distribution = 'Suse linux enterprise server ' + distribution = 'Sles' try: distribution_version = get_distribution_version() # cast to float may raise ValueError on non SLES, we use float for a little more safety over int @@ -579,7 +579,13 @@ class SLESHostname(Hostname): class OpenSUSEHostname(Hostname): platform = 'Linux' - distribution = 'Opensuse ' + distribution = 'Opensuse leap' + strategy_class = SystemdStrategy + + +class TumbleweedHostname(Hostname): + platform = 'Linux' + distribution = 'Opensuse tumbleweed' strategy_class = SystemdStrategy