Bug 1762693

Summary: etckeeper breaks ansible in EPEL8
Product: [Fedora] Fedora EPEL Reporter: Felix Schwarz <fschwarz>
Component: etckeeperAssignee: Thomas Moschny <thomas.moschny>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel8CC: alan.christopher.jenkins, spamfaenger, thomas.moschny
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: etckeeper-1.18.10-6.fc31 etckeeper-1.18.10-6.fc30 etckeeper-1.18.12-1.fc30 etckeeper-1.18.12-1.fc31 etckeeper-1.18.12-1.el8 etckeeper-1.18.12-1.el6 etckeeper-1.18.12-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-10 03:04:15 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:

Description Felix Schwarz 2019-10-17 09:19:23 UTC
etckeeper breaks ansible's "yum" module in CentOS 8. ansible is confused because etckeeper prints something like

   [master fd7277d] saving uncommitted changes in /etc prior to dnf run …

ansible upstream has a more detailed explanantion:
 - https://github.com/ansible/ansible/issues/54949#issuecomment-499541669

As far as I understand this should be fixed in etckeeper (and using "os.system()" is really not a good idea).

The etckeeper author seems to be aware of the problem but I don't know when/if some upstream changes will follow:
 - https://git.joeyh.name/index.cgi/etckeeper.git/tree/doc/todo/DNF:_fix_logging__44___so_it_will_work_from_Ansible

(I'm not sure how to contact him/how to give feedback easily given his choice of using a really non-standard "issue tracker".)

Fortunately there Alan Jenkins ("sourcejedi") already shared a patch which should fix the issue:
- https://github.com/sourcejedi/etckeeper/commit/afbdce2d24b46bc91840044b953aca8b68f20fd3

Would you mind shipping this patch in EPEL's etckeeper for EPEL8?

Comment 1 Felix Schwarz 2019-10-17 20:26:23 UTC
Just fyi: I put this patch in my fork (https://src.fedoraproject.org/fork/fschwarz/rpms/etckeeper) and can submit a pull request if you like. Also I can confirm that the patch fixes ansible for me and it seems as if etckeeper is still working fine.

Comment 2 Felix Schwarz 2019-11-12 08:25:47 UTC
This is also a problem for Fedora 31 (basically every version which uses "dnf").

Comment 3 Fedora Update System 2019-11-19 09:23:10 UTC
FEDORA-EPEL-2019-dce1c182e6 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-dce1c182e6

Comment 4 Fedora Update System 2019-11-19 09:23:11 UTC
FEDORA-2019-fac6c8e0ad has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-fac6c8e0ad

Comment 5 Thomas Moschny 2019-11-19 20:50:51 UTC
In addition to the two updates above, there is the EPEL8 one here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-93760fb3c9

Comment 6 Thomas Moschny 2019-11-19 20:51:25 UTC
... and F30 here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9d7322a73b

Comment 7 Fedora Update System 2019-11-20 01:27:49 UTC
etckeeper-1.18.10-6.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fac6c8e0ad

Comment 8 Fedora Update System 2019-11-20 02:19:30 UTC
etckeeper-1.18.10-6.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9d7322a73b

Comment 9 Fedora Update System 2019-11-20 04:00:32 UTC
etckeeper-1.18.10-6.el8 has been pushed to the Fedora EPEL 8 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-93760fb3c9

Comment 10 Fedora Update System 2019-11-20 04:03:39 UTC
etckeeper-1.18.10-6.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-dce1c182e6

Comment 11 Felix Schwarz 2019-11-22 14:43:55 UTC
Unfortunately I think I made an error in my previous testing as ansible still does not work 100% for me. Anyway the patches do not cause harm and I think they are just not complete enough. Will try to contact sourcejedi...

Comment 12 Thomas Moschny 2019-11-27 12:47:50 UTC
In https://github.com/sourcejedi/etckeeper/tree/dnf2, sourcejedi made a different approach to solve the issue. Would that work better for you?

Comment 13 Fedora Update System 2019-11-28 01:10:25 UTC
etckeeper-1.18.10-6.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2019-11-28 01:31:00 UTC
etckeeper-1.18.10-6.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Alan Jenkins 2019-12-01 09:49:48 UTC
Thanks for picking this up!

I reproduced the problem with that patch.  It wasn't especially interesting.  (In the *post-commit* call, I used stdout=None.  What I needed to use was stdout=open("/dev/null", "wb"))

The more recent patch - the commit from the "dnf2" branch - already avoids this problem.  Can we switch to that one?

Comment 16 Fedora Update System 2019-12-02 11:49:39 UTC
FEDORA-EPEL-2019-8f350b0237 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-8f350b0237

Comment 17 Fedora Update System 2019-12-02 11:51:07 UTC
FEDORA-EPEL-2019-6262a02c16 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-6262a02c16

Comment 18 Fedora Update System 2019-12-02 11:54:45 UTC
FEDORA-2019-d47ea5ceb0 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-d47ea5ceb0

Comment 19 Fedora Update System 2019-12-02 11:55:45 UTC
FEDORA-2019-091f76387e has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-091f76387e

Comment 20 Thomas Moschny 2019-12-02 11:58:46 UTC
(In reply to Alan Jenkins from comment #15)
> The more recent patch - the commit from the "dnf2" branch - already avoids
> this problem.  Can we switch to that one?

I've switched to that patch, and also updated etckeeper to 1.18.12, could you please test it?

Comment 21 Alan Jenkins 2019-12-02 16:19:05 UTC
I installed the F31 build in a VM.  It passes the same scenario, that I found the first patch fails at.

Thanks.

Comment 22 Felix Schwarz 2019-12-02 21:58:17 UTC
I rebuilt the SRPM in COPR for EPEL8 and was able to run ansible on two machines without problems.

Comment 23 Fedora Update System 2019-12-03 00:53:46 UTC
etckeeper-1.18.12-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-091f76387e

Comment 24 Fedora Update System 2019-12-03 01:33:38 UTC
etckeeper-1.18.12-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-d47ea5ceb0

Comment 25 Fedora Update System 2019-12-03 02:28:04 UTC
etckeeper-1.18.12-1.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-8f350b0237

Comment 26 Fedora Update System 2019-12-03 03:01:26 UTC
etckeeper-1.18.12-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-6262a02c16

Comment 27 Fedora Update System 2019-12-03 03:01:31 UTC
etckeeper-1.18.12-1.el8 has been pushed to the Fedora EPEL 8 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-d4bfeee795

Comment 28 Thomas Moschny 2019-12-04 07:39:19 UTC
(In reply to Felix Schwarz from comment #22)
> I rebuilt the SRPM in COPR for EPEL8 and was able to run ansible on two
> machines without problems.

No need to rebuild, there's also an EPEL8 build/update: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-d4bfeee795 .

Comment 29 Fedora Update System 2019-12-10 03:04:15 UTC
etckeeper-1.18.12-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 30 Fedora Update System 2019-12-15 01:17:29 UTC
etckeeper-1.18.12-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 31 Fedora Update System 2019-12-18 02:15:33 UTC
etckeeper-1.18.12-1.el8 has been pushed to the Fedora EPEL 8 stable repository. If problems still persist, please make note of it in this bug report.

Comment 32 Fedora Update System 2019-12-18 03:04:41 UTC
etckeeper-1.18.12-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

Comment 33 Fedora Update System 2019-12-18 03:11:33 UTC
etckeeper-1.18.12-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.