Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2020-08-19T13:09:02ZPulp
Planio Pulp - Issue #7347 (CLOSED - CURRENTRELEASE): OpenAPI specs: reserved_resources_record missing fr...https://pulp.plan.io/issues/73472020-08-19T13:09:02ZAnonymous
<p>In <code>pulpcore-3.6.0</code>, OpenAPI specs no longer advertise <code>reserved_resources_record</code> field in <code>TaskResponse</code>, and subsequently the field is no longer available in <code>pulpcore-client</code> bindings (for 3.6.0). The actual REST API response <strong>does</strong> contain that field.</p>
<p>Please ensure the field is available in the client bindings again, as it is vital to some Pulp applications (RHUI).</p> RPM Support - Issue #7321 (CLOSED - CURRENTRELEASE): pulp_rpm: Cannot synchronize repos behind pr...https://pulp.plan.io/issues/73212020-08-14T20:00:40ZAnonymous
<p>I had set up pulpcore and pulp_rpm and had working repos that I had synced successfully.</p>
<p>It stopped working when I upgraded pulp_core from v3.4.2 to v3.5.0.</p>
<p>Interestingly the error message does not mention the remote url the way it is in the remote object.
E.g. for this remote:</p>
<pre><code>{
"pulp_href": "/pulp/api/v3/remotes/rpm/rpm/dcebc720-cec0-440d-8327-605ebefef778/",
"pulp_created": "2020-08-14T19:30:59.442292Z",
"name": "test",
"url": "https://fixtures.pulpproject.org/rpm-unsigned/",
"ca_cert": null,
"client_cert": null,
"client_key": null,
"tls_validation": true,
"proxy_url": http://<my own proxy>,
"username": null,
"password": null,
"pulp_last_updated": "2020-08-14T19:30:59.442315Z",
"download_concurrency": 20,
"policy": "immediate",
"sles_auth_token": null
}
</code></pre>
<pre><code>Aug 14 21:49:42 chsss039 rq[303140]: aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host fixtures.pulpproject.org:443 ssl:default [Connect call failed ('8.43.85.236', 443)]
Aug 14 21:49:42 chsss039 rq[303140]: Traceback (most recent call last):
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 936, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File "/usr/lib64/python3.6/asyncio/base_events.py", line 794, in create_connection
raise exceptions[0]
File "/usr/lib64/python3.6/asyncio/base_events.py", line 781, in create_connection
yield from self.sock_connect(sock, address)
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 439, in sock_connect
return (yield from fut)
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 469, in _sock_connect_cb
raise OSError(err, 'Connect call failed %s' % (address,))
Aug 14 21:49:42 chsss039 rq[303140]: TimeoutError: [Errno 110] Connect call failed ('8.43.85.236', 443)
Aug 14 21:49:42 chsss039 rq[303140]: The above exception was the direct cause of the following exception:
Aug 14 21:49:42 chsss039 rq[303140]: Traceback (most recent call last):
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/worker.py", line 886, in perform_job
rv = job.perform()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/job.py", line 664, in perform
self._result = self._execute()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/job.py", line 670, in _execute
return self.func(*self.args, **self.kwargs)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 211, in synchronize
remote_url = fetch_remote_url(remote)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 136, in fetch_remote_url
downloader.fetch()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulpcore/download/base.py", line 160, in fetch
return done.pop().result()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulpcore/download/base.py", line 227, in run
return await self._run(extra_data=extra_data)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/downloaders.py", line 41, in _run
async with self.session.get(url) as response:
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/client.py", line 1012, in __aenter__
self._resp = await self._coro
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/client.py", line 483, in _request
timeout=real_timeout
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 523, in connect
proto = await self._create_connection(req, traces, timeout)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 859, in _create_connection
req, traces, timeout)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
raise last_exc
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 986, in _create_direct_connection
req=req, client_error=client_error)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 943, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
</code></pre>
<p>It seems to be related to the proxy settings. When I try to synchronize I cannot see the traffic on the proxy server.</p>
<p>How to reproduce:</p>
<ul>
<li>On server where pulp is running block outgoing connection (e.g. ip of repo) to repository.</li>
<li>Try to sync remote with proxy_url</li>
</ul> Pulp - Issue #5954 (CLOSED - CURRENTRELEASE): Add support for Azure blob storage as file backend ...https://pulp.plan.io/issues/59542020-01-09T15:26:48ZAnonymous
<p>Currently only AWS S3 support is working and documented for Pulp, however, Django Storages also supports Azure blob storage. Please support this as well.</p> Pulp - Story #5662 (CLOSED - CURRENTRELEASE): Manage Pulp via Ansible moduleshttps://pulp.plan.io/issues/56622019-11-04T16:15:21ZAnonymous
<p>I've been testing ansible modules to manage Pulp.</p>
<p><a href="https://github.com/ansible/ansible/pull/64388" class="external">https://github.com/ansible/ansible/pull/64388</a></p>
<p>Please let me know what you think.</p> Container Support - Issue #5637 (CLOSED - CURRENTRELEASE): Not using proxy setting of pulpcore.do...https://pulp.plan.io/issues/56372019-10-29T18:00:06ZAnonymous
<p>Behind corporate proxy the docker remote sync task returns:</p>
<pre><code> "error": {
"traceback": " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\", line 822, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 605, in perform\n self._result = self._execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 611, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/tasks/synchronize.py\", line 47, in synchronize\n dv.create()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 169, in create\n loop.run_until_complete(pipeline)\n File \"/usr/lib64/python3.6/asyncio/base_events.py\", line 484, in run_until_complete\n return future.result()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 209, in create_pipeline\n await asyncio.gather(*futures)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in __call__\n await self.run()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/tasks/sync_stages.py\", line 58, in run\n await list_downloader.run(extra_data={'repo_name': repo_name})\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/download/base.py\", line 221, in run\n return await self._run(extra_data=extra_data)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/backoff/_async.py\", line 131, in retry\n ret = await target(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/downloaders.py\", line 62, in _run\n async with self.session.get(self.url, headers=headers) as response:\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py\", line 1012, in __aenter__\n self._resp = await self._coro\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py\", line 483, in _request\n timeout=real_timeout\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 523, in connect\n proto = await self._create_connection(req, traces, timeout)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 859, in _create_connection\n req, traces, timeout)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 1004, in _create_direct_connection\n raise last_exc\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 986, in _create_direct_connection\n req=req, client_error=client_error)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 943, in _wrap_create_connection\n raise client_error(req.connection_key, exc) from exc\n",
"description": "Cannot connect to host quay.io:443 ssl:default [Connect call failed ('23.23.190.62', 443)]"
</code></pre>
<p>Could it be that the proxy setting is not used:<br>
<a href="https://github.com/pulp/pulp_docker/blob/4.0.0b7/pulp_docker/app/downloaders.py#L60" class="external">https://github.com/pulp/pulp_docker/blob/4.0.0b7/pulp_docker/app/downloaders.py#L60</a></p>
<pre><code class="python syntaxhl" data-language="python"><span class="k">async</span> <span class="k">with</span> <span class="bp">self</span><span class="p">.</span><span class="n">session</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">url</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="n">headers</span><span class="p">)</span> <span class="k">as</span> <span class="n">response</span><span class="p">:</span>
</code></pre>
<p>as compared to<br>
<a href="https://github.com/pulp/pulpcore/blob/master/pulpcore/download/http.py#L182" class="external">https://github.com/pulp/pulpcore/blob/master/pulpcore/download/http.py#L182</a></p>
<pre><code class="python syntaxhl" data-language="python"><span class="k">async</span> <span class="k">with</span> <span class="bp">self</span><span class="p">.</span><span class="n">session</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">url</span><span class="p">,</span> <span class="n">proxy</span><span class="o">=</span><span class="bp">self</span><span class="p">.</span><span class="n">proxy</span><span class="p">)</span> <span class="k">as</span> <span class="n">response</span><span class="p">:</span>
</code></pre> Pulp - Issue #5623 (CLOSED - CURRENTRELEASE): OpenAPI generated client - Failed to parse in urllib3https://pulp.plan.io/issues/56232019-10-26T10:42:15ZAnonymous
<p>pulpcore-client: latest (3.0.0rc8.dev1572012888)</p>
<p>The following triggers an error:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.configuration</span> <span class="kn">import</span> <span class="n">Configuration</span>
<span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.api_client</span> <span class="kn">import</span> <span class="n">ApiClient</span>
<span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.api.repositories_api</span> <span class="kn">import</span> <span class="n">RepositoriesApi</span>
<span class="n">config</span> <span class="o">=</span> <span class="n">Configuration</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s">'admin'</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="s">'password'</span><span class="p">)</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">(</span><span class="n">configuration</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="n">api</span> <span class="o">=</span> <span class="n">RepositoriesApi</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
<span class="n">api</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="s">'/pulp/api/v3/repositories/4f94aa44-729f-445e-926f-5b1139aee291/'</span><span class="p">)</span>
</code></pre>
<pre><code> File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api/repositories_api.py\", line 521, in read
return self.read_with_http_info(repository_href, **kwargs) # noqa: E501
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api/repositories_api.py\", line 609, in read_with_http_info
collection_formats=collection_formats)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 346, in call_api
_preload_content, _request_timeout, _host)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 177, in __call_api
_request_timeout=_request_timeout)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 369, in request
headers=headers)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/rest.py\", line 239, in GET
query_params=query_params)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/rest.py\", line 212, in request
headers=headers)
File \"/usr/lib/python2.7/site-packages/urllib3/request.py\", line 76, in request
method, url, fields=fields, headers=headers, **urlopen_kw
File \"/usr/lib/python2.7/site-packages/urllib3/request.py\", line 97, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File \"/usr/lib/python2.7/site-packages/urllib3/poolmanager.py\", line 318, in urlopen
u = parse_url(url)
File \"/usr/lib/python2.7/site-packages/urllib3/util/url.py\", line 401, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File \"/usr/lib/python2.7/site-packages/urllib3/packages/six.py\", line 788, in raise_from
raise value
urllib3.exceptions.LocationParseError: Failed to parse: http://localhost:24817%2Fpulp%2Fapi%2Fv3%2Frepositories%2F4f94aa44-729f-445e-926f-5b1139aee291%2F
</code></pre>
<p>Try it yourself:</p>
<pre><code>git clone https://github.com/Timoses/pulp3
cd pulp3
git checkout 5f0b86e3
ansible-galaxy install -r requirements.yml -p roles
vagrant up
</code></pre>
<p>Triggering line: <a href="https://github.com/Timoses/pulp3/commit/5f0b86e3e3c5a99802e1a32e4269e9d74f4b11ff#diff-d893f4f9daec0843269e999b2a061754R97" class="external">https://github.com/Timoses/pulp3/commit/5f0b86e3e3c5a99802e1a32e4269e9d74f4b11ff#diff-d893f4f9daec0843269e999b2a061754R97</a></p> CertGuard - Issue #4900 (CLOSED - CURRENTRELEASE): As a user I would like to know how to make pul...https://pulp.plan.io/issues/49002019-05-31T17:50:34ZAnonymous
<p>The docs currently don't really touch on how to use a pulp repo with yum.</p>
<p>And the yum internals are a little daunting to dig through to figure out how to make things interoperable.</p> CertGuard - Issue #4891 (CLOSED - CURRENTRELEASE): The client side ssl cert for pulp should follo...https://pulp.plan.io/issues/48912019-05-30T14:37:04ZAnonymous
<p>The client side cert is currently coming in via SSL_CLIENT_CERTIFICATE</p>
<p>It should probably be change to conform to the X-header standards and be X-SSL_CLIENT_CERTIFICATE</p>
<p>The is for the certguard plugin for pulp3.</p> Pulp - Issue #4732 (CLOSED - CURRENTRELEASE): pulp workers only use localhost for redishttps://pulp.plan.io/issues/47322019-04-24T13:18:58ZAnonymous
<p>I'm trying to use pulp with a postgres db in rds on aws and an aws redis backend.</p>
<p>echo REDIS_HOST=fqdn >> /etc/pulp/settings.py</p>
<p>rq worker -n 'reserved-resource-worker-1@%h' -w 'pulpcore.tasking.worker.PulpWorker' 2>&1 | less</p>
<p>2019-04-24:13:11:10,491 ERROR [redis_loader.py:58 - load] Error 111 connecting to localhost:6379. Connection refused.</p>
<p>Further.. this could be an error on my part... but the env vars for REDIS seem fine. The /etc/pulp/settings.py file seems to be ignored.</p>
<pre><code>
(.venv) ubuntu@buildbox:~$ echo $DJANGO_SETTINGS_MODULE
pulpcore.app.settings
(.venv) ubuntu@buildbox:~$ ipython
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from django.conf import settings
In [2]: print(settings.REDIS_HOST)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-2-2807dc9204c5> in <module>
----> 1 print(settings.REDIS_HOST)
~/.venv/lib/python3.6/site-packages/django/conf/__init__.py in __getattr__(self, name)
78 if self._wrapped is empty:
79 self._setup(name)
---> 80 val = getattr(self._wrapped, name)
81 self.__dict__[name] = val
82 return val
AttributeError: 'Settings' object has no attribute 'REDIS_HOST'
</code></pre> Pulp - Issue #2070 (CLOSED - DUPLICATE): Could not parse errata `updated` field: expected format ...https://pulp.plan.io/issues/20702016-07-08T17:54:16ZAnonymous
<p>I am trying to synchronize two EPEL 6.x/7.x repositories but I get the following error.</p>
<pre><code>pulp-admin rpm repo sync run --repo-id epel-7-x86_64
+----------------------------------------------------------------------+
Synchronizing Repository [epel-7-x86_64]
+----------------------------------------------------------------------+
This command may be exited via ctrl+c without affecting the request.
Downloading metadata...
[/]
... completed
Downloading repository content...
[\]
[ ] 0%
RPMs: 0/1 items
Delta RPMs: 0/0 items
... completed
Downloading distribution files...
[==================================================] 100%
Distributions: 0/0 items
... completed
Importing errata...
[\]
Task Failed
Could not parse errata `updated` field: expected format '%Y-%m-%d %H:%M:%S'.
Fail to update the existing erratum FEDORA-EPEL-2016-03d3da6d4c.
</code></pre> Pulp - Issue #2061 (CLOSED - DUPLICATE): [Errno 13] Permission denied when using symlink to a dif...https://pulp.plan.io/issues/20612016-07-05T17:19:31ZAnonymous
<p>Before I installed Pulp I created a symlink from /var/lib/pulp to /pulp_data/(BIG SPACE). The installation of Pulp went perfect with the documentation procedure and created the following folders under the partition.</p>
<p>1. published<br>
2. static<br>
3. uploads</p>
<p>I also tried to use a dummy command to test it out and it worked: pulp-admin rpm repo create --repo-id=foo</p>
<p>I am trying to create a CDN repository with the appropriate certificate information but it seems to crash with permissions.</p>
<pre><code>pulp-admin -v rpm repo create --feed=https://cdn.redhat.com/content/dist/rhel/server/6/6.8/x86_64/os --repo-id=base --feed-cert=/etc/pki/entitlement/<cert>.pem --feed-key=/etc/pki/entitlement/<key>.pem --feed-ca-cert=<rhn-ca>.pem
2016-07-05 13:10:58,228 - ERROR - Exception occurred:
href: /pulp/api/v2/repositories/
method: POST
status: 500
error: [Errno 13] Permission denied: '/var/lib/pulp/importers/base-yum_importer'
traceback: [u' File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response\n response = wrapped_callback(request, *callback_args, **callback_kwargs)\n', u' File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view\n return self.dispatch(request, *args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch\n return handler(request, *args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/webservices/views/decorators.py", line 241, in _auth_decorator\n return _verify_auth(self, operation, super_user_only, method, *args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/webservices/views/decorators.py", line 195, in _verify_auth\n value = method(self, *args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/webservices/views/util.py", line 130, in wrapper\n return func(*args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/webservices/views/repositories.py", line 128, in post\n distributor_list=repo_data.get(\'distributors\')\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py", line 410, in create_repo\n importer_controller.set_importer(repo_id, importer_type_id, importer_repo_plugin_config)\n', u' File "/usr/lib/python2.7/site-packages/celery/local.py", line 167, in <lambda>\n __call__ = lambda x, *a, **kw: x._get_current_object()(*a, **kw)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 473, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 103, in __call__\n return super(PulpTask, self).__call__(*args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/celery/app/task.py", line 420, in __call__\n return self.run(*args, **kwargs)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/controllers/importer.py", line 96, in set_importer\n importer.save()\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/db/model/__init__.py", line 283, in save\n self._write_pem_file(key, path)\n', u' File "/usr/lib/python2.7/site-packages/pulp/server/db/model/__init__.py", line 344, in _write_pem_file\n misc.mkdir(os.path.dirname(self._pki_path))\n', u' File "/usr/lib/python2.7/site-packages/pulp/plugins/util/misc.py", line 48, in mkdir\n os.makedirs(path)\n', u' File "/usr/lib64/python2.7/os.py", line 157, in makedirs\n mkdir(name, mode)\n']
data: {}
An internal error occurred on the Pulp server:
RequestException: POST request
on /pulp/api/v2/repositories/ failed with 500 - [Errno 13] Permission denied:
'/var/lib/pulp/importers/base-yum_importer'
</code></pre>
<p>I checked that the permissions of the symlink are assigned to the apache user as well as the subfolders. My guess is that pulp is unable to create the importers directory.</p>
<p>I also think that the documentation regarding Storage Requirements should be expanded a little bit more with a couple of more scenarios.</p> Pulp - Task #1803 (CLOSED - CURRENTRELEASE): Plan replacement of mongodb with postgreshttps://pulp.plan.io/issues/18032016-03-31T14:53:39ZAnonymousPulp - Issue #1242 (CLOSED - DUPLICATE): Django setting undefined error in importer updatehttps://pulp.plan.io/issues/12422015-09-08T23:43:15ZAnonymous
<p>Running the automation</p>
<pre><code>def test_04_importer_update(self):
response = self.importer.update(self.pulp, data={"importer_config": {"num_units": 10}})
Task.wait_for_report(self.pulp, response)
self.importer.reload(self.pulp)
self.assertEqual(self.importer.data["config"]["num_units"], 10)
</code></pre>
<p>See the following error</p>
<pre><code>Task failed: {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}: {u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'}
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "PUT /pulp/api/v2/repositories/zoo/importers/yum_importer/ HTTP/1.1" 202 172
pulp_auto.pulp: DEBUG: .send(Request('PUT', u'/repositories/zoo/importers/yum_importer/', data='{"importer_config": {"num_units": 10}}', headers={'content-type': 'application/json'})) ==
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "GET /pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/ HTTP/1.1" 200 2868
pulp_auto.pulp: DEBUG: .send(Request('GET', u'/tasks/5b037765-fde9-415d-9510-244a20bd723c/', data='{}', headers={'content-type': 'application/json'})) ==
pulp_auto.item: DEBUG: .from_response() == Task({u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'})
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "GET /pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/ HTTP/1.1" 200 2868
pulp_auto.pulp: DEBUG: .send(Request('GET', u'/tasks/5b037765-fde9-415d-9510-244a20bd723c/', data='{}', headers={'content-type': 'application/json'})) ==
pulp_auto.item: DEBUG: .from_response() == Task({u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'})
--------------------- >> end captured logging << ---------------------
Traceback (most recent call last):
File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()
File "/root/pulp-automation-single-node-2.7-rhel6/tests/general_tests/test_02_repo_importer_distributor.py", line 50, in test_04_importer_update
Task.wait_for_report(self.pulp, response)
File "/root/pulp-automation-single-node-2.7-rhel6/pulp_auto/task.py", line 151, in wait_for_report
task.wait(pulp, timeout=timeout)
File "/root/pulp-automation-single-node-2.7-rhel6/pulp_auto/task.py", line 59, in wait
raise TaskFailure('Task failed: %r' % self.data['error'], task=self)
TaskFailure: Task failed: {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}: {u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'}
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "PUT /pulp/api/v2/repositories/zoo/importers/yum_importer/ HTTP/1.1" 202 172
pulp_auto.pulp: DEBUG: .send(Request('PUT', u'/repositories/zoo/importers/yum_importer/', data='{"importer_config": {"num_units": 10}}', headers={'content-type': 'application/json'})) ==
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "GET /pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/ HTTP/1.1" 200 2868
pulp_auto.pulp: DEBUG: .send(Request('GET', u'/tasks/5b037765-fde9-415d-9510-244a20bd723c/', data='{}', headers={'content-type': 'application/json'})) ==
pulp_auto.item: DEBUG: .from_response() == Task({u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'})
requests.packages.urllib3.connectionpool: INFO: Resetting dropped connection: ec2-54-78-144-90.eu-west-1.compute.amazonaws.com
requests.packages.urllib3.connectionpool: DEBUG: "GET /pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/ HTTP/1.1" 200 2868
pulp_auto.pulp: DEBUG: .send(Request('GET', u'/tasks/5b037765-fde9-415d-9510-244a20bd723c/', data='{}', headers={'content-type': 'application/json'})) ==
pulp_auto.item: DEBUG: .from_response() == Task({u'exception': None, u'task_type': u'pulp.server.managers.repo.importer.update_importer_config', u'_href': u'/pulp/api/v2/tasks/5b037765-fde9-415d-9510-244a20bd723c/', u'task_id': u'5b037765-fde9-415d-9510-244a20bd723c', u'tags': [u'pulp:repository:zoo', u'pulp:repository_importer:yum_importer', u'pulp:action:update_importer'], u'finish_time': u'2015-09-03T00:02:55Z', u'_ns': u'task_status', u'start_time': u'2015-09-03T00:02:55Z', u'traceback': u'Traceback (most recent call last):\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/async/tasks.py", line 394, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/celery/app/trace.py", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File "/usr/lib/python2.6/site-packages/pulp/server/managers/repo/importer.py", line 300, in update_importer_config\n return serializer.data\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 128, in data\n return self._to_representation(self.instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 76, in _to_representation\n href = self.get_href(instance)\n File "/usr/lib/python2.6/site-packages/pulp/server/webservices/views/serializers/__init__.py", line 172, in get_href\n \'importer_id\': instance[\'id\']})\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 451, in reverse\n resolver = get_resolver(urlconf)\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 27, in wrapper\n result = func(*args)\n File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py", line 118, in get_resolver\n urlconf = settings.ROOT_URLCONF\n File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner\n self._setup()\n File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 40, in _setup\n raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)\nImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.\n', u'spawned_tasks': [], u'progress_report': {}, u'queue': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com.dq', u'state': u'error', u'worker_name': u'reserved_resource_worker-1@ec2-54-78-144-90.eu-west-1.compute.amazonaws.com', u'result': None, u'error': {u'code': u'PLP0000', u'data': {}, u'description': u'Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.', u'sub_errors': []}, u'_id': {u'$oid': u'55e78e2f67cb7dd0e1de401a'}, u'id': u'55e78e2f67cb7dd0e1de401a'})
--------------------- >> end captured logging << ---------------------: None
</code></pre> RPM Support - Story #12 (CLOSED - DUPLICATE): As a user, I can upload environment groupshttps://pulp.plan.io/issues/122014-12-18T16:12:35ZAnonymous
<p>Deliverables:</p>
<ul>
<li>yum importer can handle uploads of environment groups</li>
<li>CLI has a command to upload environment groups</li>
</ul> Pulp - Refactor #9 (CLOSED - DUPLICATE): As a developer, I would like /etc/pulp/repo_auth.conf to...https://pulp.plan.io/issues/92014-12-18T16:12:34ZAnonymous
<p>Some of the repo auth code in pulp_rpm but should be in platform so other plugins can use it without depending on pulp_rpm being installed.This was originally related to <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1140823" class="external">https://bugzilla.redhat.com/show_bug.cgi?id=1140823</a></p>