diff --git a/system/hostname b/system/hostname index d727b3d120e..88d2a81413e 100755 --- a/system/hostname +++ b/system/hostname @@ -45,6 +45,18 @@ from distutils.version import LooseVersion from ansible.module_utils.basic import * +# wrap get_distribution_version in case it returns a string +def _get_distribution_version(): + distribution_version = get_distribution_version() + + if type(distribution_version) is str: + distribution_version = 0 + elif type(distribution_version) is None: + distribution_version = 0 + + return distribution_version + + class UnimplementedStrategy(object): def __init__(self, module): self.module = module @@ -299,7 +311,7 @@ class RedHat5Hostname(Hostname): class RedHatServerHostname(Hostname): platform = 'Linux' distribution = 'Red hat enterprise linux server' - distribution_version = get_distribution_version() + distribution_version = _get_distribution_version() if distribution_version and LooseVersion(distribution_version) >= LooseVersion("7"): strategy_class = FedoraStrategy else: @@ -308,7 +320,7 @@ class RedHatServerHostname(Hostname): class RedHatWorkstationHostname(Hostname): platform = 'Linux' distribution = 'Red hat enterprise linux workstation' - distribution_version = get_distribution_version() + distribution_version = _get_distribution_version() if distribution_version and LooseVersion(distribution_version) >= LooseVersion("7"): strategy_class = FedoraStrategy else: