diff options
author | Matt Martz <matt@sivel.net> | 2022-01-21 09:32:02 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-21 09:32:02 -0600 |
commit | fdb93a912b527633d32516bf2971572b930b83ea (patch) | |
tree | 2c1cc12a0335ce5c26565bfcac2db030f45f4a8d | |
parent | 3ded47c3d3e967ec994b49698ce9f755279ed48f (diff) | |
download | ansible-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.yml | 3 | ||||
-rw-r--r-- | lib/ansible/modules/hostname.py | 105 |
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(): |