Bug 1990985

Summary: logging - Purge original conf task does not work
Product: Red Hat Enterprise Linux 8 Reporter: Rich Megginson <rmeggins>
Component: rhel-system-rolesAssignee: Rich Megginson <rmeggins>
Status: CLOSED DUPLICATE QA Contact: CS System Management SST QE <rhel-cs-system-management-subsystem-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.5CC: nhosoi, qe-baseos-apps, spetrosi
Target Milestone: betaKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: role:logging
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1990971 Environment:
Last Closed: 2022-01-18 21:34:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1990971, 2039106    
Bug Blocks:    

Description Rich Megginson 2021-08-06 18:05:18 UTC
+++ This bug was initially created as a clone of Bug #1990971 +++

Description of problem:

logging uses 
        - name: Purge original conf
          file:
            state: absent
            path: "{{ __rsyslog_config_dir }}/*"
trying to remove all files in the config directory - but this does not work - 
the ansible file module does not support wildcards, nor is there a way to tell the file module to remove all files in a directory _without also removing the directory_.

The recommended solution is to use `shell` with the `rm` command - `shell` will expand the wildcard as desired.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Rich Megginson on 2021-08-06 18:04:28 UTC ---

QE - for verification, you should use ansible-playbook -vv with one of the tests/tests_*.yml files - you should see output like this:

TASK [/home/rmeggins/linux-system-roles/logging/roles/rsyslog : Purge original conf] ***
task path: /home/rmeggins/linux-system-roles/logging/roles/rsyslog/tasks/main.yml:86
changed: [/var/lib/libvirt/images/f34-base.qcow2] => {
    "changed": true,
    "cmd": "set -euo pipefail\nrm -rfv /etc/rsyslog.d/*\n",
    "delta": "0:00:00.003040",
    "end": "2021-08-06 18:02:23.765563",
    "rc": 0,
    "start": "2021-08-06 18:02:23.762523"
}

STDOUT:

removed '/etc/rsyslog.d/21-cloudinit.conf'
... other files ...

The files removed may be different, depending on which test you run - the important thing is that you see files being removed

Comment 1 Rich Megginson 2022-01-18 19:41:58 UTC
@nhosoi should we mark this as a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=2040812 ?

Comment 2 Noriko Hosoi 2022-01-18 21:34:10 UTC
(In reply to Rich Megginson from comment #1)
> @nhosoi should we mark this as a duplicate of
> https://bugzilla.redhat.com/show_bug.cgi?id=2040812 ?

Yes. Closing as dup of 2040812.

*** This bug has been marked as a duplicate of bug 2040812 ***