Project

General

Profile

Actions

Bug #35927

closed

Some custom repositories are failing to synchorize with error "This field may not be blank" after upgrading to Katello 4.3

Added by Ian Ballou almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Repositories
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2149893

Description of problem:

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

  • After upgrading to Katello 4.3, 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 foreman.example.com", "Connection"=>"close"}
    Response body: {"username":["This field may not be blank."],"password":["This field may not be blank."]}
    ~
    ~

  • Inspecting the repository from 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):

Katello 4.3 and above

How reproducible:

100%

Steps to Reproduce:

1) On Katello 4.1, create a repository with empty strings for the upstream username and password.
2) Upgrade from Katello 4.1 to 4.3 and try syncing a repository from hammer

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 foreman.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:

  1. 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.

Actions #1

Updated by The Foreman Bot almost 2 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Ian Ballou
  • Pull request https://github.com/Katello/katello/pull/10415 added
Actions #2

Updated by Jeremy Lenz almost 2 years ago

  • Subject changed from Some custom repositories are failing to synchorize with error "This field may not be blank" after upgrading to Katello 4.3 to Some custom repositories are failing to synchorize with error "This field may not be blank" after upgrading to Katello 4.3
  • Target version set to Katello 4.7.2
  • Triaged changed from No to Yes
Actions #3

Updated by The Foreman Bot almost 2 years ago

  • Fixed in Releases Katello 4.8.0 added
Actions #4

Updated by Anonymous almost 2 years ago

  • Status changed from Ready For Testing to Closed
Actions

Also available in: Atom PDF