View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001006 | elrepo mirroring/distribution | mirror issue | public | 2020-04-30 10:19 | 2020-04-30 12:52 |
Reporter | gbijl_keylane | Assigned To | toracat | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | assigned | Resolution | open | ||
Summary | 0001006: Unable to import content into Red Hat Satellite 6 | ||||
Description | We 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 | ||||
Tags | No tags attached. | ||||
|
Thank you for filing this report. As you guessed, we are not familiar with foreman. But we will look into the problem. |
|
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? |
|
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. |
|
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. |
|
That's a useful piece of info. I'll try to contact the tech support of our hoster. |
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 |