Bug 2149893

Summary: Some custom repositories are failing to synchorize with error "This field may not be blank" after upgrading to Red Hat Satellite 6.11
Product: Red Hat Satellite Reporter: Sayan Das <saydas>
Component: RepositoriesAssignee: Ian Ballou <iballou>
Status: CLOSED ERRATA QA Contact: Cole Higgins <chiggins>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.11.4CC: avnkumar, iballou, paji, pcreech, sajha, vcojot, wpinheir, zhunting
Target Milestone: 6.13.0Keywords: Triaged
Target Release: Unused   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: rubygem-katello-4.7.0.22-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2175010 (view as bug list) Environment:
Last Closed: 2023-05-03 13:23:05 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-12-01 10:42:09 UTC
Description of problem:

There are a couple of users who have reported this issue i.e.

* After upgrading to Red Hat Satellite 6.11, Some of the custom repositories are failing to get synced with the following error.

   ~~~
   Exception:
   PulpRpmClient::ApiError: Error message: the server returns an error
   HTTP status code: 400
   Response headers: {"Date"=>"Wed, 09 Nov 2022 15:07:29 GMT", "Server"=>"gunicorn", "Content-Type"=>"application/json", "Vary"=>"Accept,Cookie", "Allow"=>"GET, PUT, PATCH, DELETE, HEAD, OPTIONS", "X-Frame-Options"=>"DENY", "Content-Length"=>"89", "X-Content-Type-Options"=>"nosniff", "Referrer-Policy"=>"same-origin", "Correlation-ID"=>"ac17a33d-bea6-44e8-85b0-fd166cbd806d", "Access-Control-Expose-Headers"=>"Correlation-ID", "Via"=>"1.1 satellite.example.com", "Connection"=>"close"}
   Response body: {"username":["This field may not be blank."],"password":["This field may not be blank."]}
   ~~~

   
* Inspecting the repository from Satellite UI --> Content --> Products page, does not shows any username or password mentioned in the **Upstream Authorization** field as well.


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

Satellite 6.11.4 and above


How reproducible:

By some customers who are using that satellite since 6.4 or 6.5 and have upgraded them to 6.11 


Steps to Reproduce:

NA


Actual results:

Sync fails with this error logged in production.log

   2022-11-09T08:48:33 [E|bac|075bdbe0] Error message: the server returns an error
    075bdbe0 | HTTP status code: 400
    075bdbe0 | Response headers: {"Date"=>"Wed, 09 Nov 2022 14:48:33 GMT", "Server"=>"gunicorn", "Content-Type"=>"application/json", "Vary"=>"Accept,Cookie", "Allow"=>"GET, 
PUT, PATCH, DELETE, HEAD, OPTIONS", "X-Frame-Options"=>"DENY", "Content-Length"=>"89", "X-Content-Type-Options"=>"nosniff", "Referrer-Policy"=>"same-origin", "Correlation
-ID"=>"075bdbe0-e38d-4c47-819f-27ca7182d620", "Access-Control-Expose-Headers"=>"Correlation-ID", "Via"=>"1.1 satellite.example.com", "Connection"=>"close"}
    075bdbe0 | Response body: {"username":["This field may not be blank."],"password":["This field may not be blank."]} (PulpRpmClient::ApiError)
    075bdbe0 | /opt/theforeman/tfm/root/usr/share/gems/gems/pulp_rpm_client-3.17.4/lib/pulp_rpm_client/api_client.rb:83:in `call_api'
    075bdbe0 | /opt/theforeman/tfm/root/usr/share/gems/gems/pulp_rpm_client-3.17.4/lib/pulp_rpm_client/api/remotes_rpm_api.rb:318:in `partial_update_with_http_info'
    075bdbe0 | /opt/theforeman/tfm/root/usr/share/gems/gems/pulp_rpm_client-3.17.4/lib/pulp_rpm_client/api/remotes_rpm_api.rb:262:in `partial_update'
    075bdbe0 | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-4.3.0.50/app/services/katello/pulp3/repository.rb:150:in `remote_partial_update'
    075bdbe0 | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-4.3.0.50/app/services/katello/pulp3/repository.rb:138:in `update_remote'


And then, running this command against the concerned repo id fixes the issue:

# hammer repository update --id XXX --upstream-username='' --upstream-password=''



Expected results:

No such errors and no such manual actions should be needed. 



Additional info:

I believe a part of the improvement was done via BZ https://bugzilla.redhat.com/show_bug.cgi?id=2064793 | https://github.com/Katello/katello/pull/10018/files , due to which using "hammer repository update" we can fix the issue now but There should be some sort of migration script present that runs during upgrade, checks this inconsistency of values set for username\password between katello and pulpcore and fixes the same. 

As an end user, I should not need to run any additional commands to fix all my custom repos.

Comment 7 Ian Ballou 2023-01-11 23:09:33 UTC
Created redmine issue https://projects.theforeman.org/issues/35927 from this bug

Comment 8 Bryan Kearney 2023-01-13 00:03:09 UTC
Upstream bug assigned to iballou

Comment 9 Bryan Kearney 2023-01-13 00:03:12 UTC
Upstream bug assigned to iballou

Comment 10 Bryan Kearney 2023-01-26 20:03:09 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/35927 has been resolved.

Comment 15 Ian Ballou 2023-03-14 18:16:07 UTC
Adding the new upstream issue.

Comment 21 errata-xmlrpc 2023-05-03 13:23:05 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.13 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-2023:2097