Bug 2118966

Summary: [Pulp3] When working with docker type repos, syslogs is flooded with warnings "The model <class 'pulp_container.app.models.ContainerNamespace'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute" in Satellite 6.12
Product: Red Hat Satellite Reporter: Sayan Das <saydas>
Component: InstallationAssignee: Eric Helms <ehelms>
Status: CLOSED ERRATA QA Contact: Gaurav Talreja <gtalreja>
Severity: high Docs Contact:
Priority: high    
Version: 6.12.0CC: ahumbe, dalley, ehelms, ipanova, pcreech
Target Milestone: 6.12.0Keywords: Triaged
Target Release: Unused   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: foreman-installer-3.3.0.5-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-16 13:35:21 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 Sayan Das 2022-08-17 08:56:16 UTC
Description of problem:

While trying to create\update\sync\publish a docker-type repo, the syslog/journal logs are flooded with thousands of warnings like 

Aug 17 14:07:43 satellite612.example.com pulpcore-api[37660]: pulp [09a5689a-3a5e-4562-8bea-dc9f25e5cae2]: pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerNamespace'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.

And those thousand warnings are just for working with one repo


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

satellite-6.12.0-2.el8sat.noarch [ Latest Snap ]
katello-4.5.0-1.el8sat.noarch
python39-pulpcore-3.18.6-2.el8pc.noarch
python39-pulp-rpm-3.17.7-3.el8pc.noarch

How reproducible:

Always


Steps to Reproduce:
1. Install the Satellite 6.12 from "6.12.0 6.1" snap
2. Import a manifest
3. Run "journalctl -fu pulp\*" on terminal of satellite and keep in under observation
4. Discover a docker type repo from RedHat's internal registry and create it
5. Change it's download policy to On_Demand
6. Sync it
7. Check back on the terminal


Actual results:

Journal logs will be flooded with thousands of entries related to these deprecations:

Aug 17 14:07:43 satellite612.example.com pulpcore-worker-1[92204]: pulp [09a5689a-3a5e-4562-8bea-dc9f25e5cae2]: pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerRemote'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.

Aug 17 14:07:43 satellite612.example.com pulpcore-api[37660]: pulp [09a5689a-3a5e-4562-8bea-dc9f25e5cae2]: pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerDistribution'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.

Aug 17 14:07:43 satellite612.example.com pulpcore-api[37660]: pulp [09a5689a-3a5e-4562-8bea-dc9f25e5cae2]: pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerRepository'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.

Aug 17 14:07:43 satellite612.example.com pulpcore-api[37660]: pulp [09a5689a-3a5e-4562-8bea-dc9f25e5cae2]: pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerNamespace'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.


And can easily cause the log to fill up and consume a huge amount of disk space. 

This will also make pulp-related troubleshooting difficult as we will need to discard those entries. 


Expected results:

Either fix the root cause of those deprecation warnings or else completely suppress them but they should not appear in that frequency inside the logs 


Additional info:

NA

Comment 1 Brad Buckingham 2022-08-18 14:17:13 UTC
Is this a regression in behavior from Satellite 6.11?  Thanks!

Comment 2 Sayan Das 2022-08-18 14:38:22 UTC
(In reply to Brad Buckingham from comment #1)
> Is this a regression in behavior from Satellite 6.11?  Thanks!

It seems so. I don't see this behavior on Satellite 6.11.1.1-1. 

It is probably the newer version of pulpcore and pulp-rpm shipped with Satellite 6.12 [ along with python 39 ], which is raising this WARNING.

Usually, I will ignore the WARNING assuming it will be taken care of in the future release but The frequency of these WARNINGS is massive and that too, just for one repo.

Comment 3 Ina Panova 2022-09-09 16:04:54 UTC
since this is a docker related issue, can in the bz description pulp-container version be provided instead? ( Ask and suggestion for future).

Comment 4 Sayan Das 2022-09-09 16:09:06 UTC
Point noted:

From the affected sat:

rubygem-pulp_container_client-2.10.3-1.el8sat.noarch
python39-pulp-container-2.10.7-1.el8pc.noarch

Comment 5 Ina Panova 2022-09-09 16:29:42 UTC
The warning comes from https://github.com/pulp/pulpcore/blob/3.18/pulpcore/app/models/base.py#L72
The solution would be to whether upgrade the dependency of pulp-container to 2.11 ( which is compatible with pulpcore 3.18+ compared to 2.10 which is compatible with both pulpcore 3.17 and 3.18 hence not possible to backport the change that would be getting rid of the warning https://github.com/pulp/pulp_container/commit/3850520f8a18a82987102e3ccb853464fdc3a5d2 ). Mind that pulp-container 2.11 has quite a lot of features https://github.com/pulp/pulp_container/blob/main/CHANGES.rst#2110-2022-03-16 . Or the downstream would be carrying a patch that would have removed the warning from pulpcore that gets emerged here https://github.com/pulp/pulpcore/blob/3.18/pulpcore/app/models/base.py#L72

Comment 6 Daniel Alley 2022-09-09 17:56:26 UTC
basically:

* error could be silenced by cherrypicking a patch downstream. the patch can't be backported upstream
* error could be silenced by upgrading to 2.11, which would be a lot of work for QA and thus unlikely at this stage

Comment 12 Gaurav Talreja 2022-09-30 12:51:15 UTC
Verified.

Tested on Satellite 6.12.0 Snap 12.0
Version: python39-pulpcore-3.18.10-1.el8pc.noarch 
         python39-pulp-rpm-3.17.10-3.el8pc.noarch

Steps:
1. Setup Satellite 6.12.0 and Import a manifest
2. Run "journalctl -fu pulp\*" on terminal of satellite and keep in under observation
3. Add product, add docker type repo with URL - https://quay.io/ , upstream reposiotry - satelliteqe/robottelo and download policy to On_Demand
4. Check warnings on terminal
5. Sync it
6. Check back for warnings on the terminal

Observations:
No deprecation warnings like below are visible in syslog.
pulpcore.deprecation:WARNING: The model <class 'pulp_container.app.models.ContainerRepository'> defines the 'ACCESS_POLICY_VIEWSET_NAME' class attribute which is no longer required and is discouraged to be set.

Comment 16 errata-xmlrpc 2022-11-16 13:35:21 UTC
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 (Important: Satellite 6.12 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-2022:8506