From 774a667591de7245a6245565360fd1192de1ebc4 Mon Sep 17 00:00:00 2001 From: vpiserchia Date: Mon, 7 Jan 2019 23:08:01 +0100 Subject: [PATCH] Add Devuan Support for ascii release - resolve 49615 (#49616) * Add Devuan Support for ascii release - resolve 49615 * Devuan Ascii does not have the VERSION_ID in the /etc/os-release file, we need to set NA --- .../fragments/49615-ascii-devuan-support.yml | 2 ++ .../module_utils/facts/system/distribution.py | 2 +- .../module_utils/test_distribution_version.py | 20 +++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/49615-ascii-devuan-support.yml diff --git a/changelogs/fragments/49615-ascii-devuan-support.yml b/changelogs/fragments/49615-ascii-devuan-support.yml new file mode 100644 index 00000000000..08407492071 --- /dev/null +++ b/changelogs/fragments/49615-ascii-devuan-support.yml @@ -0,0 +1,2 @@ +bugfixes: + - Extend support for Devuan ascii distribution diff --git a/lib/ansible/module_utils/facts/system/distribution.py b/lib/ansible/module_utils/facts/system/distribution.py index 697eb3bd6c0..9bb0ecc890e 100644 --- a/lib/ansible/module_utils/facts/system/distribution.py +++ b/lib/ansible/module_utils/facts/system/distribution.py @@ -329,7 +329,7 @@ class DistributionFiles: debian_facts['distribution_release'] = release.groups()[0] elif 'Devuan' in data: debian_facts['distribution'] = 'Devuan' - release = re.search(r"PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data) + release = re.search(r"PRETTY_NAME=\"?[^(\"]+ \(?([^) \"]+)\)?", data) if release: debian_facts['distribution_release'] = release.groups()[0] version = re.search(r"VERSION_ID=\"(.*)\"", data) diff --git a/test/units/module_utils/test_distribution_version.py b/test/units/module_utils/test_distribution_version.py index 87fba0d5116..025806d1688 100644 --- a/test/units/module_utils/test_distribution_version.py +++ b/test/units/module_utils/test_distribution_version.py @@ -509,6 +509,26 @@ BUG_REPORT_URL="https://bugs.devuan.org/" 'distribution_version': u'1' } }, + { + 'name': "Devuan", + 'input': { + '/etc/os-release': """PRETTY_NAME="Devuan GNU/Linux ascii" +NAME="Devuan GNU/Linux" +ID=devuan +HOME_URL="https://www.devuan.org/" +SUPPORT_URL="https://devuan.org/os/community" +BUG_REPORT_URL="https://bugs.devuan.org/" +""" + }, + 'platform.dist': ('', '', ''), + 'result': { + 'distribution': u'Devuan', + 'distribution_major_version': u'NA', + 'distribution_release': u'ascii', + 'os_family': 'Debian', + 'distribution_version': u'NA' + } + }, { "platform.dist": [ "Ubuntu",