Bug 1507608

Summary: ding-libs: libini_config: `ini_config_augment` reports errors on match failure
Product: [Fedora] Fedora Reporter: Robbie Harwood <rharwood>
Component: ding-libsAssignee: Michal Zidek <mzidek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jhrozek, lslebodn, mzidek, pbrezina, rharwood, sgallagh, sssd-qe
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://pagure.io/SSSD/ding-libs/issue/3182
Whiteboard:
Fixed In Version: ding-libs-0.6.1-36.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1507607 Environment:
Last Closed: 2017-11-21 23:33:49 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:    
Bug Blocks: 1505741, 1507607    

Description Robbie Harwood 2017-10-30 17:28:44 UTC
+++ This bug was initially created as a clone of Bug #1507607 +++

When `ini_config_augment()` is called on a directory with a pattern supplied, `error_list` is populated with an entry for each file that does not match the pattern.

These not being errors and rather the point of passing a pattern at all, it seems incorrect to provide them here.  Calling programs (e.g., gssproxy) try to display the contents of the library errors to the user, which results in spurious messages like:

    Error when reading config directory: File /etc/gssproxy/gssproxy.conf did not match provided patterns. Skipping.

which is very confusing (including to systemd).

Comment 1 Fedora Update System 2017-11-14 16:29:59 UTC
ding-libs-0.6.1-35.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-6c2757825c

Comment 2 Lukas Slebodnik 2017-11-15 16:28:26 UTC
ding-libs-0.6.1-35.fc27 broke backward compatibility and broke sssd integration test.

=================================== FAILURES ===================================
___________________________ test_show_user_override ____________________________
Traceback (most recent call last):
  File "/home/build/sssd/src/tests/intg/ldap_local_override_test.py", line 590, in test_show_user_override
    assert out == "user1@LDAP:ov_user1:10010:20010:Overriden User 1:"\
AssertionError: assert '[DEBUG]     ...user1_shell:\n' == 'user1@LDAP:ov...ser1_shell:\n'
  - [DEBUG]                        ini/ini_augment.c ( 519) ini_aug_preprare Entry
  - [DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry
  - [DEBUG]                        ini/ini_augment.c ( 483) Input path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
  - [DEBUG]                        ini/ini_augment.c ( 503) Output path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
  - [DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit
  - [DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry
  - [DEBUG]                  ...
  
  ...Full output truncated (14 lines hidden), use '-vv' to show
---------------------------- Captured stdout setup -----------------------------
[DEBUG]                        ini/ini_augment.c ( 519) ini_aug_preprare Entry
[DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry
[DEBUG]                        ini/ini_augment.c ( 483) Input path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 503) Output path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit
[DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry
[DEBUG]                        ini/ini_augment.c ( 146) ini_aug_regex_prepare Entry
[DEBUG]                        ini/ini_augment.c ( 165) Pattern: ^[^\.].*\.conf$
[DEBUG]                        ini/ini_augment.c ( 210) ini_aug_regex_prepare Exit
[DEBUG]                        ini/ini_augment.c ( 416) Processing .
[DEBUG]                        ini/ini_augment.c ( 416) Processing ..
[DEBUG]                        ini/ini_augment.c ( 125) regex_cleanup Entry
[DEBUG]                        ini/ini_augment.c ( 128) regex_cleanup Exit
[DEBUG]                        ini/ini_augment.c ( 308) ini_aug_sort_list Entry
[DEBUG]                        ini/ini_augment.c ( 472) ini_aug_construct_list Exit
[DEBUG]                        ini/ini_augment.c ( 545) ini_aug_preprare Exit
[DEBUG]                        ini/ini_augment.c ( 666) ini_aug_apply Entry
[DEBUG]                        ini/ini_augment.c ( 679) ini_aug_apply Exit
[DEBUG]                        ini/ini_augment.c ( 953) ini_config_augment Exit
SSSD needs to be restarted for the changes to take effect.
[DEBUG]                        ini/ini_augment.c ( 519) ini_aug_preprare Entry
[DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry
[DEBUG]                        ini/ini_augment.c ( 483) Input path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 503) Output path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit
[DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry
[DEBUG]                        ini/ini_augment.c ( 146) ini_aug_regex_prepare Entry
[DEBUG]                        ini/ini_augment.c ( 165) Pattern: ^[^\.].*\.conf$
[DEBUG]                        ini/ini_augment.c ( 210) ini_aug_regex_prepare Exit
[DEBUG]                        ini/ini_augment.c ( 416) Processing .
[DEBUG]                        ini/ini_augment.c ( 416) Processing ..
[DEBUG]                        ini/ini_augment.c ( 125) regex_cleanup Entry
[DEBUG]                        ini/ini_augment.c ( 128) regex_cleanup Exit
[DEBUG]                        ini/ini_augment.c ( 308) ini_aug_sort_list Entry
[DEBUG]                        ini/ini_augment.c ( 472) ini_aug_construct_list Exit
[DEBUG]                        ini/ini_augment.c ( 545) ini_aug_preprare Exit
[DEBUG]                        ini/ini_augment.c ( 666) ini_aug_apply Entry
[DEBUG]                        ini/ini_augment.c ( 679) ini_aug_apply Exit
[DEBUG]                        ini/ini_augment.c ( 953) ini_config_augment Exit
___________________________ test_find_user_override ____________________________
Traceback (most recent call last):
  File "/home/build/sssd/src/tests/intg/ldap_local_override_test.py", line 624, in test_find_user_override
    assert set(out.splitlines()) == set(exp_usr_ovrd)
AssertionError: assert set(['[DEBUG]... Entry', ...]) == set(['user1@LD...ser2_shell:'])
  Extra items in the left set:
  '[DEBUG]                        ini/ini_augment.c ( 953) ini_config_augment Exit'
  '[DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit'
  '[DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry'
  '[DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry'
  '[DEBUG]                        ini/ini_augment.c ( 472) ini_aug_construct_list Exit'
  '[DEBUG]                        ini/ini_augment.c ( 210) ini_aug_regex_prepare Exit'...
  
  ...Full output truncated (41 lines hidden), use '-vv' to show
---------------------------- Captured stdout setup -----------------------------
[DEBUG]                        ini/ini_augment.c ( 519) ini_aug_preprare Entry
[DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry
[DEBUG]                        ini/ini_augment.c ( 483) Input path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 503) Output path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit
[DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry
[DEBUG]                        ini/ini_augment.c ( 146) ini_aug_regex_prepare Entry
[DEBUG]                        ini/ini_augment.c ( 165) Pattern: ^[^\.].*\.conf$
[DEBUG]                        ini/ini_augment.c ( 210) ini_aug_regex_prepare Exit
[DEBUG]                        ini/ini_augment.c ( 416) Processing .
[DEBUG]                        ini/ini_augment.c ( 416) Processing ..
[DEBUG]                        ini/ini_augment.c ( 125) regex_cleanup Entry
[DEBUG]                        ini/ini_augment.c ( 128) regex_cleanup Exit
[DEBUG]                        ini/ini_augment.c ( 308) ini_aug_sort_list Entry
[DEBUG]                        ini/ini_augment.c ( 472) ini_aug_construct_list Exit
[DEBUG]                        ini/ini_augment.c ( 545) ini_aug_preprare Exit
[DEBUG]                        ini/ini_augment.c ( 666) ini_aug_apply Entry
[DEBUG]                        ini/ini_augment.c ( 679) ini_aug_apply Exit
[DEBUG]                        ini/ini_augment.c ( 953) ini_config_augment Exit
SSSD needs to be restarted for the changes to take effect.
[DEBUG]                        ini/ini_augment.c ( 519) ini_aug_preprare Entry
[DEBUG]                        ini/ini_augment.c ( 482) ini_aug_expand_path Entry
[DEBUG]                        ini/ini_augment.c ( 483) Input path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 503) Output path /tmp/sssd-intg.boodn5bd/etc/sssd/conf.d
[DEBUG]                        ini/ini_augment.c ( 504) ini_aug_expand_path Exit
[DEBUG]                        ini/ini_augment.c ( 373) ini_aug_construct_list Entry
[DEBUG]                        ini/ini_augment.c ( 146) ini_aug_regex_prepare Entry
[DEBUG]                        ini/ini_augment.c ( 165) Pattern: ^[^\.].*\.conf$
[DEBUG]                        ini/ini_augment.c ( 210) ini_aug_regex_prepare Exit
[DEBUG]                        ini/ini_augment.c ( 416) Processing .
[DEBUG]                        ini/ini_augment.c ( 416) Processing ..
[DEBUG]                        ini/ini_augment.c ( 125) regex_cleanup Entry
[DEBUG]                        ini/ini_augment.c ( 128) regex_cleanup Exit
[DEBUG]                        ini/ini_augment.c ( 308) ini_aug_sort_list Entry
[DEBUG]                        ini/ini_augment.c ( 472) ini_aug_construct_list Exit
[DEBUG]                        ini/ini_augment.c ( 545) ini_aug_preprare Exit
[DEBUG]                        ini/ini_augment.c ( 666) ini_aug_apply Entry
[DEBUG]                        ini/ini_augment.c ( 679) ini_aug_apply Exit
[DEBUG]                        ini/ini_augment.c ( 953) ini_config_augment Exit
==================== 2 failed, 240 passed in 562.45 seconds ====================

Comment 3 Michal Zidek 2017-11-15 18:06:44 UTC
(In reply to Lukas Slebodnik from comment #2)
> ding-libs-0.6.1-35.fc27 broke backward compatibility and broke sssd
> integration test.

Upstream PR:
https://pagure.io/SSSD/ding-libs/pull-request/3184

Michal

Comment 4 Fedora Update System 2017-11-15 23:52:01 UTC
ding-libs-0.6.1-35.fc27 has been pushed to the Fedora 27 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-2017-6c2757825c

Comment 5 Fedora Update System 2017-11-16 16:11:13 UTC
ding-libs-0.6.1-36.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-841ffe2712

Comment 6 Fedora Update System 2017-11-17 18:57:12 UTC
ding-libs-0.6.1-36.fc27 has been pushed to the Fedora 27 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-2017-841ffe2712

Comment 7 Fedora Update System 2017-11-21 23:33:49 UTC
ding-libs-0.6.1-36.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.