From 08f97c0b9d204ac957cc6d491b1ed59231def993 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Thu, 10 Jul 2014 11:27:03 -0700 Subject: [PATCH] Fix hostname when get_distribution_version() returns a string. The distro version is a string ('jessie/sid') on Debian unstable and testing. Because load_platform_subclass() evaluations every subclass as it loops, comparing numbers when get_distribution_version() does not return a number will break. This patch fixes that by returning a number (`0`) when we have an invalid version, instead of returning `None` or a string. --- lib/ansible/module_utils/basic.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index 252be82c28..45c7ae271f 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -188,8 +188,11 @@ def get_distribution_version(): except: # FIXME: MethodMissing, I assume? distribution_version = platform.dist()[1] + if type(distribution_version) == str: + distribution_version = 0 else: - distribution_version = None + distribution_version = 0 + return distribution_version def load_platform_subclass(cls, *args, **kwargs):