summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2022-01-21 09:32:02 -0600
committerGitHub <noreply@github.com>2022-01-21 09:32:02 -0600
commitfdb93a912b527633d32516bf2971572b930b83ea (patch)
tree2c1cc12a0335ce5c26565bfcac2db030f45f4a8d
parent3ded47c3d3e967ec994b49698ce9f755279ed48f (diff)
downloadansible-fdb93a912b527633d32516bf2971572b930b83ea.tar.gz
[stable-2.12] Do not require SystemdStrategy subclasses for every distro (#76800). (#76808)
(cherry picked from commit 374720fc97f54c34281a2c78e3ecb12eca45c46c) Co-authored-by: Matt Martz <matt@sivel.net>
-rw-r--r--changelogs/fragments/76792-hostname-all-systemd.yml3
-rw-r--r--lib/ansible/modules/hostname.py105
2 files changed, 8 insertions, 100 deletions
diff --git a/changelogs/fragments/76792-hostname-all-systemd.yml b/changelogs/fragments/76792-hostname-all-systemd.yml
new file mode 100644
index 0000000000..71ae360960
--- /dev/null
+++ b/changelogs/fragments/76792-hostname-all-systemd.yml
@@ -0,0 +1,3 @@
+bugfixes:
+- hostname - Do not require SystemdStrategy subclasses for every distro
+ (https://github.com/ansible/ansible/issues/76792)
diff --git a/lib/ansible/modules/hostname.py b/lib/ansible/modules/hostname.py
index 6ec42eb7d4..fc908b5046 100644
--- a/lib/ansible/modules/hostname.py
+++ b/lib/ansible/modules/hostname.py
@@ -161,7 +161,8 @@ class Hostname(object):
if self.use is not None:
strat = globals()['%sStrategy' % STRATS[self.use]]
self.strategy = strat(module)
- elif self.platform == 'Linux' and ServiceMgrFactCollector.is_systemd_managed(module):
+ elif platform.system() == 'Linux' and ServiceMgrFactCollector.is_systemd_managed(module):
+ # This is Linux and systemd is active
self.strategy = SystemdStrategy(module)
else:
self.strategy = self.strategy_class(module)
@@ -638,12 +639,6 @@ class DarwinStrategy(BaseStrategy):
self.changed = True
-class FedoraHostname(Hostname):
- platform = 'Linux'
- distribution = 'Fedora'
- strategy_class = SystemdStrategy
-
-
class SLESHostname(Hostname):
platform = 'Linux'
distribution = 'Sles'
@@ -658,60 +653,6 @@ class SLESHostname(Hostname):
strategy_class = UnimplementedStrategy
-class OpenSUSEHostname(Hostname):
- platform = 'Linux'
- distribution = 'Opensuse'
- strategy_class = SystemdStrategy
-
-
-class OpenSUSELeapHostname(Hostname):
- platform = 'Linux'
- distribution = 'Opensuse-leap'
- strategy_class = SystemdStrategy
-
-
-class OpenSUSETumbleweedHostname(Hostname):
- platform = 'Linux'
- distribution = 'Opensuse-tumbleweed'
- strategy_class = SystemdStrategy
-
-
-class AsteraHostname(Hostname):
- platform = 'Linux'
- distribution = '"astralinuxce"'
- strategy_class = SystemdStrategy
-
-
-class ArchHostname(Hostname):
- platform = 'Linux'
- distribution = 'Arch'
- strategy_class = SystemdStrategy
-
-
-class ArchARMHostname(Hostname):
- platform = 'Linux'
- distribution = 'Archarm'
- strategy_class = SystemdStrategy
-
-
-class AlmaLinuxHostname(Hostname):
- platform = 'Linux'
- distribution = 'Almalinux'
- strategy_class = SystemdStrategy
-
-
-class ManjaroHostname(Hostname):
- platform = 'Linux'
- distribution = 'Manjaro'
- strategy_class = SystemdStrategy
-
-
-class ManjaroARMHostname(Hostname):
- platform = 'Linux'
- distribution = 'Manjaro-arm'
- strategy_class = SystemdStrategy
-
-
class RHELHostname(Hostname):
platform = 'Linux'
distribution = 'Redhat'
@@ -730,12 +671,6 @@ class AnolisOSHostname(Hostname):
strategy_class = RedHatStrategy
-class ClearLinuxHostname(Hostname):
- platform = 'Linux'
- distribution = 'Clear-linux-os'
- strategy_class = SystemdStrategy
-
-
class CloudlinuxserverHostname(Hostname):
platform = 'Linux'
distribution = 'Cloudlinuxserver'
@@ -754,18 +689,6 @@ class AlinuxHostname(Hostname):
strategy_class = RedHatStrategy
-class CoreosHostname(Hostname):
- platform = 'Linux'
- distribution = 'Coreos'
- strategy_class = SystemdStrategy
-
-
-class FlatcarHostname(Hostname):
- platform = 'Linux'
- distribution = 'Flatcar'
- strategy_class = SystemdStrategy
-
-
class ScientificHostname(Hostname):
platform = 'Linux'
distribution = 'Scientific'
@@ -904,18 +827,6 @@ class DarwinHostname(Hostname):
strategy_class = DarwinStrategy
-class OsmcHostname(Hostname):
- platform = 'Linux'
- distribution = 'Osmc'
- strategy_class = SystemdStrategy
-
-
-class PardusHostname(Hostname):
- platform = 'Linux'
- distribution = 'Pardus'
- strategy_class = SystemdStrategy
-
-
class VoidLinuxHostname(Hostname):
platform = 'Linux'
distribution = 'Void'
@@ -928,16 +839,10 @@ class PopHostname(Hostname):
strategy_class = FileStrategy
-class RockyHostname(Hostname):
- platform = 'Linux'
- distribution = 'Rocky'
- strategy_class = SystemdStrategy
-
-
-class RedosHostname(Hostname):
+class EurolinuxHostname(Hostname):
platform = 'Linux'
- distribution = 'Redos'
- strategy_class = SystemdStrategy
+ distribution = 'Eurolinux'
+ strategy_class = RedHatStrategy
def main():