Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2019-05-31T02:50:23ZPulp
Planio Pulp - Issue #4896 (CLOSED - CURRENTRELEASE): [Ruby client] Chunked Uploads API doesn't recognize...https://pulp.plan.io/issues/48962019-05-31T02:50:23Zsajha
<p>The Pulpcore API client has the <strong>UploadsAPI</strong> method <span><strong>uploads_create</strong></span></p>
<p>For the below inputs:</p>
<blockquote>
<p><strong>file</strong> = File.new("/path/to/file")<br>
<strong>file_chunk_string</strong> = "Random String chunk"</p>
</blockquote>
<p>The calls below produce the following requests:</p>
<blockquote>
<p>pulp3_api.uploads_create(<strong>file</strong>)</p>
</blockquote>
<pre><code>HTTP Request formed:
2019-05-31T02:18:09 [D|kat|] Calling API: UploadsApi.uploads_create ...
2019-05-31T02:18:09 [D|kat|] HTTP request body param ~BEGIN~
| {"file"=>#<File:/home/vagrant/katello/Gemfile>}
| ~END~
</code></pre>
<blockquote>
<p>pulp3_api.uploads_create(<strong>file_chunk_string</strong>)</p>
</blockquote>
<pre><code>HTTP Request formed:
2019-05-31T02:18:09 [D|kat|] Calling API: UploadsApi.uploads_create ...
2019-05-31T02:18:09 [D|kat|] HTTP request body param ~BEGIN~
| {"file"=>"Random String chunk"}
| ~END~
</code></pre>
<a name="In-both-cases-server-returns"></a>
<h3 >In both cases, server returns:<a href="#In-both-cases-server-returns" class="wiki-anchor">¶</a></h3>
<pre><code>PulpcoreClient::ApiError (Error message: the server returns an error)
HTTP status code: 400
Response headers: {"Server"=>"nginx/1.12.1", "Date"=>"Fri, 31 May 2019 02:18:10 GMT", "Content-Type"=>"application/json", "Content-Length"=>"40", "Connection"=>"keep-alive", "Vary"=>"Accept, Cookie", "Allow"=>"GET, POST, PUT, HEAD, OPTIONS", "X-Frame-Options"=>"SAMEORIGIN"}
Response body: {"detail":"No chunk file was submitted"}
</code></pre>
<a name="PS"></a>
<h3 >PS:<a href="#PS" class="wiki-anchor">¶</a></h3>
<p>The <strong>UploadsAPI</strong> has another method <strong><span>uploads_create_and_check</span></strong> which works with <strong>file</strong> (<em>file = File.new("/path/to/file")</em>) as an input.</p> Pulp - Issue #3506 (CLOSED - CURRENTRELEASE): "Get the Source" Instructions Omit Working Branchhttps://pulp.plan.io/issues/35062018-03-20T20:10:40ZCodeHeeler
<p>The Quickstart guide should instruct the contributor not only from where to clone the source, but also which branch work is being done on, in this case, 3.0-dev for pulp, and the same for devel while it is branch master for pulp_file.</p> Pulp - Issue #3365 (CLOSED - NOTABUG): @id@ on the inherited content unit conflicts with a conten...https://pulp.plan.io/issues/33652018-02-13T14:54:57Zmilan
<p>Based on the <a href="https://www.redhat.com/archives/pulp-dev/2018-February/msg00034.html" class="external">Plugin Writer's Coding Workshop Feedback</a>, the specific things, <code>id</code> on the inherited content unit conflicts with a content unit which also uses <code>id</code>.</p> Pulp - Issue #2749 (CLOSED - WONTFIX): _release_resource should be acks_late and idempotenthttps://pulp.plan.io/issues/27492017-05-10T08:25:48Zrmcgoverrmcgover@redhat.com
<p>In pulp.server.async.tasks, if I look at _release_resource, the job of this task seems to be:</p>
<p>- if a task is still marked as running then mark it as failed<br>
- delete the ReservedResource associated with a task</p>
<p>I notice the task isn't marked as acks_late=True.</p>
<p>Therefore it looks like the following scenario can happen:</p>
<p>- _release_resource task is dequeued & acknowledged from qpid<br>
- body of _release_resource starts executing<br>
- fails to complete e.g. because query to mongo fails<br>
- tasks are left running and ReservedResource is left in DB indefinitely</p>
<p>Should this rather be made idempotent and marked as acks_late=True, so that the task would be retried in the above scenario?</p> Pulp - Issue #2508 (CLOSED - WONTFIX): /var/lib/pulp/static/rsa_pub.key has incorrect SELinux labelhttps://pulp.plan.io/issues/25082017-01-03T18:19:27ZIchimonji10jerebear@protonmail.com
<p><code>/var/lib/pulp/static/rsa_pub.key</code> should have a label of <code>system_u:object_r:httpd_sys_rw_content_t:s0</code>. See <a href="https://github.com/pulp/pulp/blob/master/server/selinux/server/pulp-server.fc" class="external">pulp/pulp-server.fc</a>. Instead, <code>/var/lib/pulp/static/rsa_pub.key</code> has a context of <code>unconfined_u:object_r:pulp_cert_t:s0</code>. To demonstrate the issue:</p>
<pre><code>[root@fedora-24-pulp-2-11 ~]# getfattr --name=security.selinux /var/lib/pulp/static/rsa_pub.key
getfattr: Removing leading '/' from absolute path names
# file: var/lib/pulp/static/rsa_pub.key
security.selinux="unconfined_u:object_r:pulp_cert_t:s0"
[root@fedora-24-pulp-2-11 ~]# restorecon /var/lib/pulp/static/rsa_pub.key
[root@fedora-24-pulp-2-11 ~]# getfattr --name=security.selinux /var/lib/pulp/static/rsa_pub.key
getfattr: Removing leading '/' from absolute path names
# file: var/lib/pulp/static/rsa_pub.key
security.selinux="unconfined_u:object_r:pulp_cert_t:s0"
</code></pre>
<p>It's unclear whether <code>/var/lib/pulp/static/rsa_pub.key</code> should exist. See <a href="https://pulp.plan.io/issues/1260" class="external">Pulp #2160</a>.</p>
<p>Reproduced on Pulp 2.11 and 2.12 on Fedora 24, RHEL 6.8 and RHEL 7.3. All systems have been installed with <a href="https://github.com/pulp/pulp_packaging/" class="external">pulp_packaging</a>. Sample packages from the Fedora 24 system:</p>
<pre><code>[root@fedora-24-pulp-2-11 ~]# rpm -qa | grep -i pulp | sort
pulp-admin-client-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
pulp-docker-admin-extensions-2.2.1-0.1.alpha.git.13.6ece2f0.fc24.noarch
pulp-docker-plugins-2.2.1-0.1.alpha.git.13.6ece2f0.fc24.noarch
pulp-ostree-admin-extensions-1.2.1-0.1.alpha.git.19.a1a7296.fc24.noarch
pulp-ostree-plugins-1.2.1-0.1.alpha.git.19.a1a7296.fc24.noarch
pulp-puppet-admin-extensions-2.11.1-0.1.alpha.git.16.7ef210a.fc24.noarch
pulp-puppet-plugins-2.11.1-0.1.alpha.git.16.7ef210a.fc24.noarch
pulp-python-admin-extensions-1.1.3-1.fc24.noarch
pulp-python-plugins-1.1.3-1.fc24.noarch
pulp-rpm-admin-extensions-2.11.1-0.1.alpha.git.25.5a67288.fc24.noarch
pulp-rpm-plugins-2.11.1-0.1.alpha.git.25.5a67288.fc24.noarch
pulp-selinux-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
pulp-server-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-kombu-3.0.33-6.pulp.fc24.noarch
python-pulp-bindings-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-pulp-client-lib-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-pulp-common-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-pulp-docker-common-2.2.1-0.1.alpha.git.13.6ece2f0.fc24.noarch
python-pulp-oid_validation-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-pulp-ostree-common-1.2.1-0.1.alpha.git.19.a1a7296.fc24.noarch
python-pulp-puppet-common-2.11.1-0.1.alpha.git.16.7ef210a.fc24.noarch
python-pulp-python-common-1.1.3-1.fc24.noarch
python-pulp-repoauth-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
python-pulp-rpm-common-2.11.1-0.1.alpha.git.25.5a67288.fc24.noarch
python-pulp-streamer-2.11.1-0.1.alpha.git.51.f9a13a2.fc24.noarch
</code></pre> RPM Support - Issue #1971 (CLOSED - WONTFIX): '--retain-old-count' option not retroactivehttps://pulp.plan.io/issues/19712016-06-03T17:34:07Zkfiresmithkfiresmith@gmail.com
<p>If you update the '--retain-old-count=' option on a previously sync'd repo that has a number of RPM versions greater than the new value, the new value is not retroactive. Currently it appears the only way you can reduce the number of old versions is to delete the repo and re-create/re-sync with the new target value.</p>
<p>Steps to reproduce:</p>
<p>pulp-admin rpm repo create --repo-id=epel-test --feed=<a href="http://download-i2.fedoraproject.org/pub/epel/5/x86_64/" class="external">http://download-i2.fedoraproject.org/pub/epel/5/x86_64/</a> --retain-old-count=2 && pulp-admin rpm repo sync run --repo-id=epel-test<br>
pulp-admin rpm repo list --details --repo-id=epel-test | grep 'Rpm'</p>
<p>pulp-admin rpm repo update --repo-id=epel-test --retain-old-count=1 && pulp-admin rpm repo sync run --repo-id=epel-test<br>
pulp-admin rpm repo list --details --repo-id=epel-test | grep 'Rpm'</p>
<p>The RPM count will <strong>not</strong> change, but should be reduced by 1/3.</p> RPM Support - Issue #1452 (CLOSED - WONTFIX): _href missing from iso distributorshttps://pulp.plan.io/issues/14522015-12-21T20:52:28ZIchimonji10jerebear@protonmail.com
<p>It's possible to get information about the distributors associated with a repository by issuing either of the following:</p>
<pre><code>GET https://pulp.example.com/pulp/api/v2/repositories/…/?distributors=true
GET https://pulp.example.com/pulp/api/v2/repositories/…/?details=true
</code></pre>
<p>The response body will have a "distributors" attribute, where the attribute is a list of dicts. Unfortunately, the distributors are all missing their `_href` attribute. For example:</p>
<pre><code class="python syntaxhl" data-language="python"><span class="o">>>></span> <span class="kn">import</span> <span class="nn">requests</span>
<span class="o">>>></span> <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="p">.</span><span class="n">get</span><span class="p">(</span>
<span class="p">...</span> <span class="s">'https://pulp.example.com/pulp/api/v2/repositories/…/distributors=true'</span><span class="p">,</span>
<span class="p">...</span> <span class="s">'…'</span>
<span class="p">...</span> <span class="p">)</span>
<span class="o">>>></span> <span class="n">response</span><span class="p">.</span><span class="n">raise_for_status</span><span class="p">()</span>
<span class="o">>>></span> <span class="n">response</span><span class="p">.</span><span class="n">json</span><span class="p">()[</span><span class="s">'distributors'</span><span class="p">]</span>
<span class="p">[</span>
<span class="p">{</span>
<span class="sa">u</span><span class="s">'_id'</span><span class="p">:</span> <span class="p">{</span><span class="sa">u</span><span class="s">'$oid'</span><span class="p">:</span> <span class="sa">u</span><span class="s">'56786442e779894f7829a5b0'</span><span class="p">},</span>
<span class="sa">u</span><span class="s">'_ns'</span><span class="p">:</span> <span class="sa">u</span><span class="s">'repo_distributors'</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'auto_publish'</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'config'</span><span class="p">:</span> <span class="p">{},</span>
<span class="sa">u</span><span class="s">'distributor_type_id'</span><span class="p">:</span> <span class="sa">u</span><span class="s">'iso_distributor'</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'id'</span><span class="p">:</span> <span class="sa">u</span><span class="s">'iso_distributor'</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'last_publish'</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'repo_id'</span><span class="p">:</span> <span class="sa">u</span><span class="s">'2c2770dd-3f5a-4bc5-9fae-c37ef873e30f'</span><span class="p">,</span>
<span class="sa">u</span><span class="s">'scheduled_publishes'</span><span class="p">:</span> <span class="p">[]</span>
<span class="p">}</span>
<span class="p">]</span>
</code></pre>
<p>This issue applies to ISO distributors on Pulp 2.7.</p> Pulp - Issue #915 (CLOSED - WONTFIX): /status/ API does not report health of webservershttps://pulp.plan.io/issues/9152015-04-24T10:52:25Zbmbouterbmbouter@redhat.com
<p>When using the /status/ API to evaluate the health of a Pulp system, webserver availability and health information is not included. In a standalone installation this is not needed because the response code of 200 OK is intended to indicate the webserver is OK. In a clustered environment with multiple webservers, a /status/ request may be handled by a webserver who is online and functioning, while other webservers may be offline.</p>
<p>To workaround this limitation, it is recommended that all webservers in a cluster have the /status/ API call monitored directly (not through the load balancer). All webservers that are expected to be online should be checked that they return a '200 OK'.</p>
<p>This is likely not something Pulp can resolve currently because the load balancer is the component that knows which webservers to expect to be online or not. I propose this bug remain open to track this issue as a known limitation.</p> Pulp - Issue #625 (CLOSED - WONTFIX): _ns needs to be removed from all APIs, documentation, model...https://pulp.plan.io/issues/6252015-02-28T22:45:10Zbmbouterbmbouter@redhat.com
<p>The '_ns' attributed is present in a lot of places of the Pulp API. It was deprecated with a release note on 2.5.0.</p>
<p>I expect _ns to not be present anywhere in our API, docs, models, or database.</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1165823" class="external">Bugzilla Bug #1165823</a> +</p> Pulp - Issue #602 (CLOSED - WONTFIX): "SSL certificate is untrusted" warning is too vaguehttps://pulp.plan.io/issues/6022015-02-28T22:42:30Zmsuchy@redhat.commsuchy@redhat.com
<p>Description of problem:<br>
After installation of Pulp I run:<br>
pulp-admin rpm repo create --repo-id=test --feed=<a href="http://copr-be.cloud.fedoraproject.org/results/msuchy/igal2/epel-7-x86_64/" class="external">http://copr-be.cloud.fedoraproject.org/results/msuchy/igal2/epel-7-x86_64/</a><br>
And got this message:<br>
WARNING: The server's SSL certificate is untrusted!</p>
<p>The server's SSL certificate was not signed by a trusted authority. This could<br>
be due to a man-in-the-middle attack, or it could be that the Pulp server needs<br>
to have its certificate signed by a trusted authority. If you are willing to<br>
accept the associated risks, you can set verify_ssl to False in the client<br>
config's [server] section to disable this check.</p>
<p>Because this is just testing deployment to get familier with Pulp, I would like to set verify_ssl to False, but I have not idea what is "client<br>
config" and now I have to dive into a documentation.</p>
<p>It would be nice if you can tell me that "client config" is either /etc/pulp/admin/admin.conf or ~/.pulp/admin.conf</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1159222" class="external">Bugzilla Bug #1159222</a> +</p> RPM Support - Issue #518 (CLOSED - WONTFIX): /etc/pulp/repo_auth.conf doesn't have in-code defaul...https://pulp.plan.io/issues/5182015-02-28T22:19:10Zrbarlow
<p>Description of problem:<br>
Currently there is no way to specify all of the config defaults for repo_auth.conf. In fact, most of those settings are required to be present, or the WSGI access script will fail.</p>
<p>Version-Release number of selected component (if applicable):<br>
2.4.0</p>
<p>How reproducible:<br>
Every time</p>
<p>Steps to Reproduce:<br>
1. Make repo_auth.py empty.<br>
2. Restart apache.<br>
3. Try to access a protected repository.</p>
<p>Actual results:<br>
The access script will fail due to the values in repo_auth being required.</p>
<p>Expected results:<br>
There should be sane defaults for all settings in repo_auth.conf.</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1140823" class="external">Bugzilla Bug #1140823</a> +</p> Pulp - Issue #404 (CLOSED - WONTFIX): "importer_config" can't be updated with 'update repo' call ...https://pulp.plan.io/issues/4042015-02-28T22:03:23Zipanova@redhat.comipanova@redhat.com
<p>Description of problem:<br>
Docs say that in repo creation call "importer_config" field is optional. However if during repo creation call "importer_config" field was not specified, then in update repo call of "importer_config" will fail with a traceback.</p>
<p>Version-Release number of selected component (if applicable):<br>
pulp-server-2.4.0-0.3.alpha.git.13.3215df6.fc20.noarch</p>
<p>How reproducible:<br>
always</p>
<p>Steps to Reproduce:<br>
1. create repo omitting optional field "importer_config"<br>
2. update repo</p>
<p>Actual results:<br>
it is impossible to update importer_config</p>
<p>Expected results:<br>
importer_config is updated as expected</p>
<p>Additional info:<br>
1) create repo<br>
$ curl <del>H "Accept: application/json" -X POST -k -u admin:admin -d '{"distributors": [{"distributor_id": "yum_distributor","distributor_type": "yum_distributor","distributor_config":{"http":true,"https":false,"relative_url":"m5"}}],"importer_type_id": "yum_importer", "id": "m5"}' '<a href="https://example.com/pulp/api/v2/repositories/'%7Cpython" class="external">https://example.com/pulp/api/v2/repositories/'|python</a> -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 427 100 216 100 211 273 267 -</del>:--:-- --:--:-- --:--:-- 273<br>
{<br>
"_href": "/pulp/api/v2/repositories/m5/",<br>
"_id": {<br>
"$oid": "5329a47233d13e72f5c099da"<br>
},<br>
"_ns": "repos",<br>
"content_unit_counts": {},<br>
"description": null,<br>
"display_name": "m5",<br>
"id": "m5",<br>
"notes": {},<br>
"scratchpad": {}<br>
}</p>
<p>2)Update repo<br>
$ curl <del>H "Accept: application/json" -X PUT -k -u admin:admin -d '{"delta": {"display_name" : "Updated"},"importer_config": {"num_units": "6"},"distributor_configs":{"yum_distributor":{"relative_url": "another_url"}}}' '<a href="https://example.com/pulp/api/v2/repositories/m5/'%7C" class="external">https://example.com/pulp/api/v2/repositories/m5/'|</a> python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 4799 100 4648 100 151 6054 196 -</del>:--:-- --:--:-- --:--:-- 6052<br>
{<br>
"_href": "/pulp/api/v2/repositories/m5/",<br>
"error_message": "Unhandled Exception",<br>
"exception": [<br>
"TypeError: 'NoneType' object is not iterable\n"<br>
],<br>
"http_request_method": "PUT",<br>
"http_status": 500,<br>
"traceback": [<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/middleware/exception.py\", line 44, in <em>call</em>\n return self.app(environ, start_response)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/middleware/postponed.py\", line 42, in <em>call</em>\n return self.app(environ, start_response)\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 279, in wsgi\n result = self.handle_with_processors()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 26, in _handle_with_processors\n return process(self.processors)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in process\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 566, in processor\n return handler()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in <lambda>\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in process\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 581, in processor\n result = handler()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in <lambda>\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 25, in process\n return self.handle()\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 230, in handle\n return self._delegate(fn, self.fvars, args)\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 422, in _delegate\n return f()\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 430, in <lambda>\n f = lambda: self._delegate_sub_application(pat, what)\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 455, in _delegate_sub_application\n return app.handle_with_processors()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 26, in _handle_with_processors\n return process(self.processors)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in process\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 566, in processor\n return handler()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in <lambda>\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in process\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 581, in processor\n result = handler()\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 23, in <lambda>\n return p(lambda : process(processors))\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/application.py\", line 25, in process\n return self.handle()\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 230, in handle\n return self._delegate(fn, self.fvars, args)\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 420, in _delegate\n return handle_class(cls)\n",<br>
" File \"/usr/lib/python2.7/site-packages/web/application.py\", line 396, in handle_class\n return tocall(*args)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/decorators.py\", line 228, in _auth_decorator\n value = method(self, *args, **kwargs)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/repositories.py\", line 275, in PUT\n task_result = repo_manager.update_repo_and_plugins(repo_id, delta, importer_config, distributor_configs)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/managers/repo/cud.py\", line 425, in update_repo_and_plugins\n importer_manager.update_importer_config(repo_id, importer_config)\n",<br>
" File \"/usr/lib/python2.7/site-packages/pulp/server/managers/repo/importer.py\", line 249, in update_importer_config\n merged_config = dict(repo_importer['config'])\n"<br>
]<br>
}</p>
<p>Note that config of the importer is 'null'<br>
$ curl <del>H "Accept: application/json" -X GET -k -u admin:admin '<a href="https://example.com/pulp/api/v2/repositories/m5/importers/'%7C" class="external">https://example.com/pulp/api/v2/repositories/m5/importers/'|</a> python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 225 100 225 0 0 240 0 -</del>:--:-- --:--:-- --:--:-- 239<br>
[<br>
{<br>
"_id": {<br>
"$oid": "5329a47233d13e72f5c099db"<br>
},<br>
"_ns": "repo_importers",<br>
"config": null,<br>
"id": "yum_importer",<br>
"importer_type_id": "yum_importer",<br>
"last_sync": null,<br>
"repo_id": "m5",<br>
"scheduled_syncs": [],<br>
"scratchpad": null<br>
}<br>
]</p>
<p>Meanwhile if during repo creation call "importer_config" is provided(even empty dict), then repo update is performed with no issues:</p>
<p>]$ curl <del>H "Accept: application/json" -X POST -k -u admin:admin -d '{"distributors": [{"distributor_id": "yum_distributor","distributor_type": "yum_distributor","distributor_config":{"http":true,"https":false,"relative_url":"m5"}}],"importer_type_id": "yum_importer", "id": "m5","importer_config":{}}' '<a href="https://example.com/pulp/api/v2/repositories/'%7Cpython" class="external">https://example.com/pulp/api/v2/repositories/'|python</a> -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 448 100 216 100 232 237 255 -</del>:--:-- --:--:-- --:--:-- 256<br>
{<br>
"_href": "/pulp/api/v2/repositories/m5/",<br>
"_id": {<br>
"$oid": "5329a76133d13e72f5c099e7"<br>
},<br>
"_ns": "repos",<br>
"content_unit_counts": {},<br>
"description": null,<br>
"display_name": "m5",<br>
"id": "m5",<br>
"notes": {},<br>
"scratchpad": {}<br>
}</p>
<p>$ curl <del>H "Accept: application/json" -X PUT -k -u admin:admin -d '{"delta": {"display_name" : "Updated"},"importer_config": {"num_units": "6"},"distributor_configs":{"yum_distributor":{"relative_url": "another_url"}}}' '<a href="https://example.com/pulp/api/v2/repositories/m5/'%7C" class="external">https://example.com/pulp/api/v2/repositories/m5/'|</a> python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 372 100 221 100 151 257 175 -</del>:--:-- --:--:-- --:--:-- 257<br>
{<br>
"_href": "/pulp/api/v2/repositories/m5/",<br>
"_id": {<br>
"$oid": "5329a76133d13e72f5c099e7"<br>
},<br>
"_ns": "repos",<br>
"content_unit_counts": {},<br>
"description": null,<br>
"display_name": "Updated",<br>
"id": "m5",<br>
"notes": {},<br>
"scratchpad": {}<br>
}</p>
<p>$ curl <del>H "Accept: application/json" -X GET -k -u admin:admin '<a href="https://example.com/pulp/api/v2/repositories/m5/importers/'%7C" class="external">https://example.com/pulp/api/v2/repositories/m5/importers/'|</a> python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 239 100 239 0 0 299 0 -</del>:--:-- --:--:-- --:--:-- 299<br>
[<br>
{<br>
"_id": {<br>
"$oid": "5329a76133d13e72f5c099e8"<br>
},<br>
"_ns": "repo_importers",<br>
"config": {<br>
"num_units": "6"<br>
},<br>
"id": "yum_importer",<br>
"importer_type_id": "yum_importer",<br>
"last_sync": null,<br>
"repo_id": "m5",<br>
"scheduled_syncs": [],<br>
"scratchpad": null<br>
}<br>
]</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1078296" class="external">Bugzilla Bug #1078296</a> +</p> Pulp - Issue #397 (CLOSED - WONTFIX): _href not present in the response body when single unit ret...https://pulp.plan.io/issues/3972015-02-28T22:02:34Zipanova@redhat.comipanova@redhat.com
<p>Description of problem:<br>
There is a discrepancy in response body while doing retrieval of different resource type.<br>
For example when doing retrieval of single unit <a href="https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/content/retrieval.html#retrieve-a-single-unit" class="external">https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/content/retrieval.html#retrieve-a-single-unit</a> there is no _href in response body,<br>
Meanwhile retrieval of single repo also contains _href in response body.<br>
As an additional info - when doing a generic search for unit <a href="https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/content/retrieval.html#search-for-units" class="external">https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/content/retrieval.html#search-for-units</a> the response body contains _href.</p>
<p>Version-Release number of selected component (if applicable):</p>
<p>pulp-server-2.4.0-0.2.alpha.git.6.53c19dc.fc19.noarch<br>
How reproducible:</p>
<p>Steps to Reproduce:<br>
1.Retrieve a single unit with GET method with path /pulp/api/v2/content/units/<content_type>/<unit_id>/<br>
2.<br>
3.</p>
<p>Actual results:<br>
_href not present in response body</p>
<p>Expected results:<br>
_href present in the response body</p>
<p>Additional info:</p>
<p>Doing retrieval of single unit by providing its id:<br>
_href not present<br>
$ curl <del>H "Accept: application/json" -X GET -k -u admin:admin '<a href="https://example.com/pulp/api/v2/content/units/puppet_module/557a6577-02be-4981-b80c-54cd0a853333/" class="external">https://example.com/pulp/api/v2/content/units/puppet_module/557a6577-02be-4981-b80c-54cd0a853333/</a>' | python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 1109 100 1109 0 0 1398 0 -</del>:--:-- --:--:-- --:--:-- 1842<br>
{<br>
"_content_type_id": "puppet_module",<br>
"_id": "557a6577-02be-4981-b80c-54cd0a853333",<br>
"_last_updated": "2014-02-13T14:54:33Z",<br>
"_storage_path": "/var/lib/pulp/content/puppet_module/sbilo-jenkins-0.1.0.tar.gz",<br>
"author": "sbilo",<br>
"checksum": "0c1dd3f7e8bfb5dddfadc6488ce7f86168b0eddbe2a4adef5f2d8d94ac7e979f",<br>
"checksum_type": "sha256",<br>
"checksums": [<br>
[<br>
"spec/spec.opts",<br>
"a600ded995d948e393fbe2320ba8e51c"<br>
],<br>
[<br>
"tests/init.pp",<br>
"f3efee0dc58cbe32a1c03854b9801fa7"<br>
],<br>
[<br>
"spec/spec_helper.rb",<br>
"3ea886dd135e120afa31e0aab12e85b0"<br>
],<br>
[<br>
"Modulefile",<br>
"a26fdee8f1ca55cc682fa23cb1cb74e4"<br>
],<br>
[<br>
"Rakefile",<br>
"f37e6131fe7de9a49b09d31596f5fbf1"<br>
],<br>
[<br>
"manifests/init.pp",<br>
"6d32d585a2a6060a9a3674b08aeb0969"<br>
],<br>
[<br>
"README.md",<br>
"bd49a65e501ff65f2c70b9c4b4a4a6e3"<br>
],<br>
[<br>
"manifests/instance.pp",<br>
"a20f6163181f15ab47dfbb5242dd45d8"<br>
]<br>
],<br>
"children": {},<br>
"dependencies": [<br>
{<br>
"name": "proteon-tomcat",<br>
"version_requirement": ">= 0.1.15"<br>
}<br>
],<br>
"description": "",<br>
"license": "",<br>
"name": "jenkins",<br>
"project_page": "",<br>
"source": "",<br>
"summary": "",<br>
"tag_list": [<br>
"jenkins",<br>
"continuous",<br>
"integration",<br>
"tomcat",<br>
"hudson",<br>
"ci"<br>
],<br>
"types": [],<br>
"version": "0.1.0"<br>
}</p>
<p>Meanwhile retrieval of single repo by its id contains _href:</p>
<p>$ curl <del>H "Accept: application/json" -X GET -k -u admin:admin '<a href="https://example.com/pulp/api/v2/repositories/SimpleUnitSearchTest/" class="external">https://example.com/pulp/api/v2/repositories/SimpleUnitSearchTest/</a>' | python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 316 100 316 0 0 424 0 -</del>:--:-- --:--:-- --:--:-- 484<br>
{<br>
"_href": "/pulp/api/v2/repositories/SimpleUnitSearchTest/",<br>
"_id": {<br>
"$oid": "52fcdca1c053704cf2c55200"<br>
},<br>
"_ns": "repos",<br>
"content_unit_counts": {<br>
"puppet_module": 17<br>
},<br>
"description": null,<br>
"display_name": "SimpleUnitSearchTest",<br>
"id": "SimpleUnitSearchTest",<br>
"notes": {<br>
"_repo-type": "puppet-repo"<br>
},<br>
"scratchpad": {}<br>
}</p>
<p>Even when doing search for units with a post method _href is present:</p>
<p>$ curl <del>H "Accept: application/json" -X POST -k -u admin:admin -d '{"criteria": {"filters": {"name":"jenkins"}, "fields": ["name","_content_type_id"]}}' '<a href="https://example.com/pulp/api/v2/content/units/puppet_module/search/" class="external">https://example.com/pulp/api/v2/content/units/puppet_module/search/</a>' | python -m json.tool<br>
% Total % Received % Xferd Average Speed Time Time Time Current<br>
Dload Upload Total Spent Left Speed<br>
100 296 100 212 100 84 303 120 -</del>:--:-- --:--:-- --:--:-- 349<br>
[<br>
{<br>
"_content_type_id": "puppet_module",<br>
"_href": "/pulp/api/v2/content/units/puppet_module/557a6577-02be-4981-b80c-54cd0a853333/",<br>
"_id": "557a6577-02be-4981-b80c-54cd0a853333",<br>
"children": {},<br>
"name": "jenkins"<br>
}<br>
]</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1064934" class="external">Bugzilla Bug #1064934</a> +</p> Pulp - Issue #322 (CLOSED - DUPLICATE): _href is wrong in consumer profile response bodyhttps://pulp.plan.io/issues/3222015-02-26T12:05:20Zipanova@redhat.comipanova@redhat.com
<p>$ curl -i -H "Accept: application/json" -H "WebFrameworkSwitch: webpy" -X POST -k -u admin:admin -d '{"content_type":"rpm", "profile":[]}' "<a href="https://localhost/pulp/api/v2/consumers/c1/profiles/" class="external">https://localhost/pulp/api/v2/consumers/c1/profiles/</a>"<br>
HTTP/1.1 201 Created<br>
Date: Thu, 26 Feb 2015 12:03:18 GMT<br>
Server: Apache/2.4.10 (Fedora) OpenSSL/1.0.1e-fips mod_wsgi/3.5 Python/2.7.5<br>
Location: /pulp/api/v2/consumers/c1/profiles/c1/rpm/<br>
Content-Length: 310<br>
Content-Type: application/json</p>
<p>{"profile": [], "_href": "/pulp/api/v2/consumers/c1/profiles/c1/rpm/", "_ns": "consumer_unit_profiles", "profile_hash": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945", "consumer_id": "c1", "content_type": "rpm", "_id": {"$oid": "54ef050845ef48674c3f5f50"}, "id": "54ef050845ef48674c3f5f50"}</p> Docker Support - Issue #127 (CLOSED - WONTFIX): --upstream-name can be used at repo create/update...https://pulp.plan.io/issues/1272015-01-22T18:40:59Zpthomas@redhat.com
<p>[root@cloud-qe-17 ~]# rpm -qa |grep docker<br>
python-pulp-docker-common-0.2.2-1.el7.noarch<br>
docker-1.3.2-4.el7.x86_64</p>
<p>--upstream-name is an option to use with synchronization but it can be used with feedless repos</p>
<p>Synchronization<br>
--feed - URL for the upstream docker index, not including repo name<br>
--validate - if "true", the size and checksum of each synchronized file<br>
will be verified against the repo metadata<br>
--upstream-name - name of the upstream repository</p>
<p>1. create or update a feedless repo with --upstream-name<br>
2. Repo create is successful</p>