From bd55617a5bfdfc7811ed76884d38047c84985ddf Mon Sep 17 00:00:00 2001 From: Sam Doran Date: Fri, 21 Jun 2019 14:29:41 -0400 Subject: [PATCH] hostname - Correct distribution for various Linux distros based on output from distro library (#56936) * Adjust hostname classes based on output from distro Corrects the following: - OpenSUSE Leap - ArchARM - Oracle Linux * Add CoreOS and Clear Linux distributions --- .../fragments/hostname-update-distros.yaml | 2 ++ lib/ansible/modules/system/hostname.py | 26 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/hostname-update-distros.yaml diff --git a/changelogs/fragments/hostname-update-distros.yaml b/changelogs/fragments/hostname-update-distros.yaml new file mode 100644 index 00000000000..0197b208447 --- /dev/null +++ b/changelogs/fragments/hostname-update-distros.yaml @@ -0,0 +1,2 @@ +bugfixes: + - hostname - make module work on CoreOS, Oracle Linux, Clear Linux, OpenSUSE Leap, ArchARM (https://github.com/ansible/ansible/issues/42726) diff --git a/lib/ansible/modules/system/hostname.py b/lib/ansible/modules/system/hostname.py index ecc29f37b61..e064b23fe85 100644 --- a/lib/ansible/modules/system/hostname.py +++ b/lib/ansible/modules/system/hostname.py @@ -583,12 +583,24 @@ class OpenSUSEHostname(Hostname): strategy_class = SystemdStrategy +class OpenSUSELeapHostname(Hostname): + platform = 'Linux' + distribution = 'Opensuse-leap' + strategy_class = SystemdStrategy + + class ArchHostname(Hostname): platform = 'Linux' distribution = 'Arch' strategy_class = SystemdStrategy +class ArchARMHostname(Hostname): + platform = 'Linux' + distribution = 'Archarm' + strategy_class = SystemdStrategy + + class RHELHostname(Hostname): platform = 'Linux' distribution = 'Redhat' @@ -601,12 +613,24 @@ class CentOSHostname(Hostname): strategy_class = RedHatStrategy +class ClearLinuxHostname(Hostname): + platform = 'Linux' + distribution = 'Clear-linux-os' + strategy_class = SystemdStrategy + + class CloudlinuxHostname(Hostname): platform = 'Linux' distribution = 'Cloudlinux' strategy_class = RedHatStrategy +class CoreosHostname(Hostname): + platform = 'Linux' + distribution = 'Coreos' + strategy_class = SystemdStrategy + + class ScientificHostname(Hostname): platform = 'Linux' distribution = 'Scientific' @@ -615,7 +639,7 @@ class ScientificHostname(Hostname): class OracleLinuxHostname(Hostname): platform = 'Linux' - distribution = 'Oracle' + distribution = 'Ol' strategy_class = RedHatStrategy