Backport of dnf module logging (#69480) (#70066)

Signed-off-by: Hideki Saito <saito@fgrep.org>
pull/69860/head
Hideki Saito 5 years ago committed by GitHub
parent e0322a0420
commit b8a81973ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- dnf - enable logging using setup_loggers() API in dnf-4.2.17-6 or later

@ -631,6 +631,12 @@ class DnfModule(YumDnf):
"""Return a fully configured dnf Base object."""
base = dnf.Base()
self._configure_base(base, conf_file, disable_gpg_check, installroot)
try:
# this method has been supported in dnf-4.2.17-6 or later
# https://bugzilla.redhat.com/show_bug.cgi?id=1788212
base.setup_loggers()
except AttributeError:
pass
try:
base.init_plugins(set(self.disable_plugin), set(self.enable_plugin))
base.pre_configure_plugins()

@ -0,0 +1,45 @@
# Verify logging function is enabled in the dnf module.
# The following tasks has been supported in dnf-4.2.17-6 or later
# Note: https://bugzilla.redhat.com/show_bug.cgi?id=1788212
- name: Install latest version python3-dnf
dnf:
name: python3-dnf
state: latest
register: dnf_result
- name: Verify python3-dnf installed
assert:
that:
- "dnf_result.rc == 0"
- name: Get python3-dnf version
shell: "dnf info python3-dnf | awk '/^Version/ { print $3 }'"
register: py3_dnf_version
- name: Check logging enabled
block:
- name: remove logfiles if exist
file:
path: "{{ item }}"
state: absent
loop: "{{ dnf_log_files }}"
- name: Install sos package
dnf:
name: sos
state: present
register: dnf_result
- name: Get status of logfiles
stat:
path: "{{ item }}"
loop: "{{ dnf_log_files }}"
register: stats
- name: Verify logfile exists
assert:
that:
- "item.stat.exists"
loop: "{{ stats.results }}"
when:
- 'py3_dnf_version.stdout is version("4.2.17", ">=")'

@ -40,3 +40,7 @@
- include_tasks: modularity.yml
when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('29', '>=')) or
(ansible_distribution in ['RedHat', 'CentOS'] and ansible_distribution_major_version is version('8', '>='))
- include_tasks: logging.yml
when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('31', '>=')) or
(ansible_distribution in ['RedHat', 'CentOS'] and ansible_distribution_major_version is version('8', '>='))

@ -0,0 +1,4 @@
dnf_log_files:
- /var/log/dnf.log
- /var/log/dnf.rpm.log
- /var/log/dnf.librepo.log
Loading…
Cancel
Save