[stable-2.18] facts: Skip path if the distribution path is directory (#84036)

Skip path if the distribution path is directory instead of file.
Handle exception raised while handling distribution path.

Fixes: #84006

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 34f8f55d9e)
pull/84122/head
Abhijeet Kasurde 1 month ago committed by GitHub
parent 6e4732f8cd
commit a3656b2ffb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,3 @@
---
bugfixes:
- facts - skip if distribution file path is directory, instead of raising error (https://github.com/ansible/ansible/issues/84006).

@ -30,7 +30,7 @@ def get_uname(module, flags=('-v')):
def _file_exists(path, allow_empty=False):
# not finding the file, exit early
if not os.path.exists(path):
if not os.path.isfile(path):
return False
# if just the path needs to exists (ie, it can be empty) we are done

@ -0,0 +1,17 @@
# Copyright: Contributors to the Ansible project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import annotations
import tempfile
from ansible.module_utils.facts.system.distribution import DistributionFiles
def test_distribution_files(mock_module):
d = DistributionFiles(mock_module)
temp_dir = tempfile.TemporaryDirectory()
dist_file, dist_file_content = d._get_dist_file_content(temp_dir.name)
assert not dist_file
assert dist_file_content is None
Loading…
Cancel
Save