From 8fd3935029e4aa7f55ae980797391e0d46621eb3 Mon Sep 17 00:00:00 2001 From: Yann Autissier Date: Thu, 25 Aug 2016 19:18:42 +0200 Subject: [PATCH] Fix get_distribution for Alpine Linux (#17224) To override a generic class that is subclassed based on platform, the subclass must define platform and distribution. The load_platform_subclass() calls the get_platform() and get_distribution() methods to detect the platform and the distribution. On Alpine Linux, get_distribution() method returns None and it is not possible to have different implementations based on detected platform. --- lib/ansible/module_utils/basic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index f7a9bbf414..e8014d1c33 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -218,7 +218,7 @@ def get_distribution(): ''' return the distribution name ''' if platform.system() == 'Linux': try: - supported_dists = platform._supported_dists + ('arch',) + supported_dists = platform._supported_dists + ('arch','alpine') distribution = platform.linux_distribution(supported_dists=supported_dists)[0].capitalize() if not distribution and os.path.isfile('/etc/system-release'): distribution = platform.linux_distribution(supported_dists=['system'])[0].capitalize()