I have created a content-view named as test1 which is a composite content view and in that content there is another content view test2 which is part of composite content view test1 and I created a filter in content view test2 to exclude package named as thrift .I have added epel rhel9 repo in the filter and now I have published a new version of content view test2 and using that new version of test2 in the composite content view test2 .But the issue here is that package is not excluding from the repo and I am still getting the thrift from epel rhel9 repo which I do not want.
I tried below two ways also to encounter this issue but issue remains same.
After creating the filter , I added the epel rhel9 repo to that filter and synced the repo again but published a new version of content view test2 and using the new version of test2 in the composite content view test1 but it is not working.
Second time I did the same as above but now I published a new version composite content view as well test1 but still I can see the packages remains same and still I am getting conflicting thrift packages from epel rhel9 repo which I do not want.
You are filtering the package thrift from repository Red_Hat_Ceph_Storage_Tools_6_for_RHEL_9_x86_64_RPMs. Not epel. I don’t think ceph storage tools contains thrift.
Find the repository which contains the package thrift and exclude it from the repository which contains it.
I have excluded the thrift package from rhel9 epel repository and synced this repo then published a new version of content-view which contains this repository but still getting this package.
I don’t know if it looks different on your 3.7/4.9. I have foreman 3.9.1 with katello 4.11.1 running and for me it shows the filters on a published content view like this:
...
Applied Filters:
1) Id: 13
Name: etckeeper
Type: rpm
Inclusion: yes
Original packages: no
Original module streams: no
Rules:
1) Id: 37
Name: etckeeper*
Content view filter Id: 13
2) Id: 14
...
It looks to me as if you have published the content view when the filter was added but without any rules. Thus, publish a new version and check the new version again.
Is your package exclusion filter applied only to the EPEL repo? If you apply a filter to a subset of repositories, it won’t work on other repos in the content view. So if a different repo includes the package, it won’t be filtered out.
Hello @jeremylenz , I have applied the rules in the filter which I created for test2 content-view but still thrift package is not been excluded from that version of the content view.
I didn’t created any other filter apart from this then why this package is not excluding from the test2 content view. Don’t know if I am missing something
Actually thrift is included in two rpms which are Redhat Ceph Storage Tools 6 for Rhel9 x86_64 RPMs in this RPM there is one thrift-0.14.0-10.el9cp.x86_64 package and in EPEL for rhel9 there is one thrift-0.15.0-2.el9.x86_64 package .
Right now I only want to exclude this package from EPEL 9 repo so I added this filter to this repository only and not to other repos.
I think the reason the package is not being excluded is that you’ve applied your filter only to the EPEL repository. If you instead apply the filter to all repositories, and then republish, it would exclude the thrift package.
It seems like you are trying to say “I want the thrift package from Redhat Ceph Storage Tools 6 for Rhel9 x86_64 RPMs and not from EPEL”. Content view filters do not allow for this use case, as far as I understand. (cc @sajha , please correct me if I’m wrong / any other ideas?)
Why do you want to prefer one repo over the other? Perhaps a package filter (applied to all repositories) with a version restriction would work better.