Description of problem: When we set an exclude filter in Administer > Settings > Provisioning > 'Exclude pattern for facts stored in satellite' and use the star wildcard, the filter is not working as expected. For example filter set as: docker* will also exclude facts like: blah_docker_blah i.e. facts where the string is included in the middle of the fact and not only on the beginning. I would expect that the filter to exclude docker in the middle of the string should be written like: *docker* How reproducible: Always Steps to Reproduce: 1. On a system create custom Puppet Fact called blah_docker_blah 2. Run 'puppet agent -t' on the client to propagate the fact to Satellite 3. Navigate to Hosts > All Hosts, choose the host and click the Facts button 4. Filter the facts for docker - no result will be shown 5. Check the exclude filter in Administer > Settings > Provisioning > 'Exclude pattern for facts stored in satellite' 6. The exclude filter docker* is present there by default Actual results: Facts with the docker string included in the middle are filtered out. Expected results: Facts with the docker string included in the middle will remain reported.
Part of the root cause is the fuzzy documentation/explaination how the matching is really done. In the list is also 'lo'. But my custom facts with _localdisk_ are not filtered. This is all vague for my as an user why are the '_docker_' fitlered but '_localdisk_' not. There must be addiational logic behind the filtering that is not explained to the user.
Hello Peter, the 'lo' seems to be without any wildcard (in my default case), so perhaps that's why _localdisk_ is not filtered. But you are right some improvement in documentation should be done, for example here: https://access.redhat.com/documentation/en-us/red_hat_satellite/6.6/html/administering_red_hat_satellite/satellite-settings_assembly Opened new docs BZ here: https://bugzilla.redhat.com/show_bug.cgi?id=1766952
hi all I have updated the docs to reflect this bug: https://access.redhat.com/documentation/en-us/red_hat_satellite/6.6/html/administering_red_hat_satellite/satellite-settings_assembly I will monitor and update accordingly. Thanks, Melanie
Created redmine issue https://projects.theforeman.org/issues/29681 from this bug
Clearing needinfo as bug 1766952 has provided modifications to the documentation to help address the observations. That said, this bugzilla remains to provide improved behavior when wildcard characters are used.
Upstream bug assigned to dmatoule
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/29681 has been resolved.
I created following custom facts in /opt/puppetlabs/facter/facts.d/my_custom_facts.py #!/usr/bin/env python data = { "abc_def_ghi" : "abcdefghi", # ! "aaa_def_ghi" : "aaadefghi", # 1 "abc_aab_ghi" : "abcaabghi", # 2 "aab_def_ghi" : "aabdefghi", # 2 "abc_def_aab" : "abcdefaab", # 2 "abc_def_aac" : "abcdefaac", # 3 "aaa_aab_ghi" : "aaaaabghi", # 1+2 "abc_aab_aac" : "abcaabaac", # 2+3 "abc_aaa_ghi" : "abcaaaghi", # !1 "aac_def_ghi" : "aacdefghi", # !3 } #filter: 1: aaa* 2: *aab* 3: *aac for k in data: print "%s=%s" % (k,data[k]) Exclude filters "aaa*,*aab*,*aac" were applied correctly. VERIFIED with Satallite 6.10 SNAP 20.0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: Satellite 6.10 Release), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:4702