View Issue Details

IDProjectCategoryView StatusLast Update
0001006elrepo mirroring/distributionmirror issuepublic2020-04-30 12:52
Reportergbijl_keylane Assigned Totoracat  
PrioritynormalSeveritymajorReproducibilityalways
Status assignedResolutionopen 
Summary0001006: Unable to import content into Red Hat Satellite 6
DescriptionWe are using Red Hat Satellite (The enterprise version of Foreman) version 6.6.2 and we sync elrepo el6/el7/el8 and testing/el8 into it. Since a while this seems to be broken.

We use the following source URL's:
- https://elrepo.org/linux/elrepo/el6/x86_64/
- https://elrepo.org/linux/elrepo/el7/x86_64/
- https://elrepo.org/linux/elrepo/el8/x86_64/
- https://elrepo.org/linux/testing/el8/x86_64/

We were able to successfully sync the repositories in January, but since a while (and unfortunately our logging does not go further back than 30 days, and it was already an issue back then) we got the error:

RPM1004: Error retrieving metadata: Not Acceptable, with a backtrace that points to the error:

"traceback"=>
     "Traceback (most recent call last):\n" +
     " File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 367, in trace_task\n" +
     " R = retval = fun(*args, **kwargs)\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 539, in __call__\n" +
     " return super(Task, self).__call__(*args, **kwargs)\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 108, in __call__\n" +
     " return super(PulpTask, self).__call__(*args, **kwargs)\n" +
     " File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 622, in __protected_call__\n" +
     " return self.run(*args, **kwargs)\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py\", line 770, in sync\n" +
     " sync_report = sync_repo(transfer_repo, conduit, call_config)\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 747, in wrap_f\n" +
     " return f(*args, **kwargs)\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/importer.py\", line 84, in sync_repo\n" +
     " report = self._current_sync.run()\n" +
     " File \"/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/sync.py\", line 368, in run\n" +
     " reason=self.repomd_not_found_reason)\n" +
     "PulpCodedException: Error retrieving metadata: Not Acceptable\n",

And in our logging:
pulp: nectar.downloaders.threaded:INFO: [49d5d8ab] Download failed: Download of http://elrepo.org/linux/elrepo/el6/x86_64/ failed with code 406: Not Acceptable
prdkeysatl05 pulp: nectar.downloaders.threaded:INFO: Download failed: Download of http://elrepo.org/linux/elrepo/el6/x86_64/repodata/repomd.xml failed with code 406: Not Acceptable


I don't expect you to be familiar with Foreman and/or Satellite, but as other repositories (CentOS, EPEL, IUS, Ansible, ElasticSearch, PostgreSQL and others) are syncing well I hope you can look into your set-up to see if something is wrong.
Unfortunately even on debug-level I don't get more information than this.

I'm not the only one, as someone filed a Bugzilla-report at RedHat as well, also specifically mentioning elrepo: https://bugzilla.redhat.com/show_bug.cgi?id=1815440
TagsNo tags attached.

Activities

toracat

2020-04-30 10:37

administrator   ~0006939

Thank you for filing this report. As you guessed, we are not familiar with foreman. But we will look into the problem.

gbijl_keylane

2020-04-30 11:50

reporter   ~0006940

As also noted in the RedHat Bugzilla ticket: changing the URL to a mirror (I also used the http://mirrors.coreix.net mirror) fixes the issue, so it seems to be an issue with just the elrepo.org-URL's and not with the content on it. Is there some form of redirection implemented recently?

toracat

2020-04-30 11:59

administrator   ~0006941

Problem is that we do not have direct control over the server settings. We need to contact the hoster. In the meantime, as you mentioned, use of other mirror site is the only workaround at the moment.

gbijl_keylane

2020-04-30 12:50

reporter   ~0006942

I debugged some more on our side, and I found the issue: the server is not accepting the User-Agent. Was able to reproduce with cURL from command-line:

$ curl -I -H "Accept: */*" -H "Accept-Encoding: gzip, deflate" -H "User-Agent: python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1062.18.1.el7.x86_64" https://elrepo.org/linux/testing/el8/x86_64/repodata/repomd.xml

HTTP/1.1 406 Not Acceptable
Date: Thu, 30 Apr 2020 18:46:45 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1

With 'curl' as User-Agent it works as it should.
$ curl -I -H "Accept: */*" -H "Accept-Encoding: gzip, deflate" -H "User-Agent: curl" https://elrepo.org/linux/testing/el8/x86_64/repodata/repomd.xml
HTTP/1.1 200 OK
Date: Thu, 30 Apr 2020 18:46:53 GMT
Server: Apache
Upgrade: h2,h2c
Connection: Upgrade
Last-Modified: Thu, 30 Apr 2020 18:01:02 GMT
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 961
Content-Type: application/xml

Unfortunately I cannot change the User-Agent of the Satellite-process, but I'm pretty sure the server should just accept this as User-Agent, as it is basically just a string.

toracat

2020-04-30 12:52

administrator   ~0006943

That's a useful piece of info. I'll try to contact the tech support of our hoster.

Issue History

Date Modified Username Field Change
2020-04-30 10:19 gbijl_keylane New Issue
2020-04-30 10:19 gbijl_keylane Status new => assigned
2020-04-30 10:19 gbijl_keylane Assigned To => toracat
2020-04-30 10:37 toracat Note Added: 0006939
2020-04-30 11:50 gbijl_keylane Note Added: 0006940
2020-04-30 11:59 toracat Note Added: 0006941
2020-04-30 12:50 gbijl_keylane Note Added: 0006942
2020-04-30 12:52 toracat Note Added: 0006943