Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-06-29T19:37:18ZPulp
Planio Pulp - Issue #8988 (CLOSED - CURRENTRELEASE): `pulpcore-worker` startup should remove old worker ...https://pulp.plan.io/issues/89882021-06-29T19:37:18Zbmbouterbmbouter@redhat.com
<a name="To-reproduce"></a>
<h2 >To reproduce<a href="#To-reproduce" class="wiki-anchor">¶</a></h2>
<ol>
<li>Start a pulpcore-worker against an empty database</li>
<li>Observe that the status API shows that worker</li>
<li>kill -9 your worker</li>
<li>Observe the status API after 30 seconds no longer shows your worker</li>
<li>Start your pulpcore-worker again</li>
<li>Go into shell_plus and observe this query shows 2 workers present: <code>Workers.objects.count()</code>
</li>
</ol>
<a name="Expected-result"></a>
<h2 >Expected result<a href="#Expected-result" class="wiki-anchor">¶</a></h2>
<pre><code>In [1]: Worker.objects.count()
Out[1]: 1
</code></pre>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<p>Have workers that startup run a query that delete any workers that haven't issued a heartbeat in say 7 days. This does not need to be configurable. The 7 day idea is to make something that won't let records accumulate on the long term, but leave them in place for someone to look at the db post-mortem and still see them for investigation.</p> Pulp - Issue #7715 (CLOSED - CURRENTRELEASE): Spelling error in import-export workflow dochttps://pulp.plan.io/issues/77152020-10-15T15:35:04Zggainey
<p>From <a href="https://docs.pulpproject.org/pulpcore/workflows/import-export.html" class="external">https://docs.pulpproject.org/pulpcore/workflows/import-export.html</a>:</p>
<p>"Finally, if we need complete comtrol over incremental exporting, " - 'comtrol' is not a word :)</p> Pulp - Issue #6564 (CLOSED - CURRENTRELEASE): Export filename for pulp exports has dupe slasheshttps://pulp.plan.io/issues/65642020-04-23T17:47:05ZdaviddavisCertGuard - Issue #6424 (CLOSED - CURRENTRELEASE): An expired client RHSM Certificate should be d...https://pulp.plan.io/issues/64242020-03-31T19:43:21Zbmbouterbmbouter@redhat.comPulp - Issue #6243 (CLOSED - CURRENTRELEASE): When pip_version_specifier is set to null, broken c...https://pulp.plan.io/issues/62432020-02-28T18:40:00Zttereshcttereshc@redhat.com
<p>One can specify a pip_version_specifier to point to a specific plugin release.
There is also a pulpcore_pip_version_specifier which points to a specific pulpcore release.</p>
<p>On the master branch it makes sense to unset those and have them set only for releases.</p>
<p>Their behaviour is inconsistent when they are unset and might lead to a broken config.
To use the latest PyPI release, one can set pulpcore_pip_version_specifier to 'null'.
To use the latest PyPI release for plugins, one must remove it from the config, because setting it to 'null' will generate a broken config, it adds 'None' to the plugin name.</p>
<pre><code class="diff syntaxhl" data-language="diff"> - pulp-2to3-migration-${TAG}:
image_name: pulp-2to3-migration
tag: $TAG
<span class="gd">- pulpcore: pulpcore~=3.0.0
</span><span class="gi">+ pulpcore: pulpcore
</span> plugins:
- ./pulp-2to3-migration
<span class="gd">- - pulp_file~=0.1.0
- - pulp_container~=1.0.0
</span><span class="gi">+ - pulp_fileNone
+ - pulp_containerNone
+ - pulp_rpmNone
</span></code></pre> Migration Plugin - Issue #6111 (CLOSED - CURRENTRELEASE): Re-migrations take nearly as long as in...https://pulp.plan.io/issues/61112020-02-07T14:31:24Zdalleydalley@redhat.com
<p>With a large repository, re-migrations take a very long time.</p>
<pre><code><jsherrill> i was also planning on testing re-migration time with that repo
<jsherrill> and that seemed really really slow
<jsherrill> but i wasn't sure if that was related to the fact that not all of the units migrated properly
<jsherrill> so was waiting for it to be fixed to test for sure
<jsherrill> like it seemed like it took ~an hour to re-migrate it
<jsherrill> i'm sure there is a lot of low-hanging fruit performance wise
<jsherrill> and i'm less concerned about initial migration time
</code></pre> Pulp - Issue #5162 (CLOSED - CURRENTRELEASE): Ruby bindings, WARNING: license value 'GPLv2' is in...https://pulp.plan.io/issues/51622019-07-21T10:32:16Zttereshcttereshc@redhat.com
<p>It doesn't prevent bindings from publishing.<br>
I'm not sure how important it is for Ruby clients/community. E.g. in case they have a check or a filter by license or something similar.</p>
<pre><code>WARNING: license value 'GPLv2' is invalid. Use a license identifier from
http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.
Did you mean 'GPL-2.0', 'LGPLLR', 'NGPL'?
WARNING: See http://guides.rubygems.org/specification-reference/ for help
</code></pre>
<p>Travis job: <a href="https://travis-ci.org/pulp/pulp_rpm/jobs/561431496" class="external">https://travis-ci.org/pulp/pulp_rpm/jobs/561431496</a></p> Ansible Plugin - Issue #4996 (CLOSED - CURRENTRELEASE): Ansible collection remote doesn't handle ...https://pulp.plan.io/issues/49962019-06-19T20:06:58Zsajha
<p>Ex:<br>
With a url <a href="https://galaxy.ansible.com" class="external">https://galaxy.ansible.com</a> it works fine.<br>
With a url <a href="https://galaxy.ansible.com/" class="external">https://galaxy.ansible.com/</a> , throws the following error: <a href="https://gist.github.com/sjha4/0afdd783bac7cea56055b706f6b02155" class="external">https://gist.github.com/sjha4/0afdd783bac7cea56055b706f6b02155</a></p> Pulp - Issue #3889 (CLOSED - CURRENTRELEASE): psycopg2 warninghttps://pulp.plan.io/issues/38892018-07-30T19:48:06Zbmbouterbmbouter@redhat.com
<p>Whenever the Pulp3 database driver connects to Postgresql it emits this warning:</p>
<pre><code>/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
""")
</code></pre>
<p>It would be great to start Pulp3 without these warnings</p> File Support - Issue #3410 (CLOSED - CURRENTRELEASE): Rename content field "path" to "relative_path"https://pulp.plan.io/issues/34102018-02-28T13:54:51Zkersom
<p>When reading content from a repository, the response is:</p>
<pre><code> {'next': None,
'previous': None,
'results': [{'_href': 'http://f27-p3:8000/api/v3/content/file/44f4dfa2-1b80-459c-960b-079c4dd6e48c/',
'artifacts': {'2.iso': 'http://f27-p3:8000/api/v3/artifacts/cbce4558-59b9-4674-83d2-7f6dd2875b6e/'},
'digest': '3a1b7f18cb8e51f381a9ceb32447fcdaa070d41bbf2d9bd12f5ea1731dfe0b0b',
'notes': {},
'path': '2.iso',
'type': 'file'}]}
</code>
</code></pre>
<p>"path" should be renamed to "relative_path" to better denote its purpose.</p> Pulp - Issue #3387 (CLOSED - CURRENTRELEASE): Improve error message when uploading a file already...https://pulp.plan.io/issues/33872018-02-20T22:13:11Zkersom
<p>Add a more descriptive error message when uploading a file already in Pulp.</p>
<p>Right now, when using POST /api/v3/artifacts/, with a file that already exists in Pulp is sending back a HTTP 400, and the following message.</p>
<pre><code class="text syntaxhl" data-language="text">{'non_field_errors': ['sha512 checksum must be unique.']}
</code></pre> Pulp - Issue #2919 (CLOSED - CURRENTRELEASE): 500 error when creating repo with duplicate namehttps://pulp.plan.io/issues/29192017-07-17T21:12:27Zdkliban@redhat.com
<p>Looks like the serializer is failing to enforce uniqueness constraint during validation. As a result the database enforces it and the user receives a 500 response.</p>
<pre><code>Traceback:
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/viewsets.py" in view
86. return self.dispatch(request, *args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
489. response = self.handle_exception(exc)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
449. self.raise_uncaught_exception(exc)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
486. response = handler(request, *args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/mixins.py" in create
21. self.perform_create(serializer)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/mixins.py" in perform_create
26. serializer.save()
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/serializers.py" in save
215. self.instance = self.create(validated_data)
File "/home/vagrant/devel/pulp/platform/pulpcore/app/serializers/base.py" in create
112. instance = super(ModelSerializer, self).create(validated_data)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/rest_framework/serializers.py" in create
916. instance = ModelClass.objects.create(**validated_data)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
127. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/query.py" in create
348. obj.save(force_insert=True, using=self.db)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/base.py" in save
734. force_update=force_update, update_fields=update_fields)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/base.py" in save_base
762. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/base.py" in _save_table
846. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/base.py" in _do_insert
885. using=using, raw=raw)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
127. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/query.py" in _insert
920. return query.get_compiler(using=using).execute_sql(return_id)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
974. cursor.execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
79. return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/utils.py" in __exit__
98. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/utils/six.py" in reraise
685. raise value.with_traceback(tb)
File "/home/vagrant/.virtualenvs/pulp/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
Exception Type: IntegrityError at /api/v3/repositories/
Exception Value: duplicate key value violates unique constraint "pulp_app_repository_name_key"
DETAIL: Key (name)=(test-repo) already exists.
</code></pre> Pulp - Issue #2807 (CLOSED - CURRENTRELEASE): The structure of pulp's task['progress_report'] is ...https://pulp.plan.io/issues/28072017-06-08T07:16:01Zrbosak
<p>The documentation <a href="http://docs.pulpproject.org/dev-guide/integration/rest-api/tasks.html" class="external">http://docs.pulpproject.org/dev-guide/integration/rest-api/tasks.html</a><br>
mentions that the progress_report field contains "arbitrary progress information, usually in the form of an object".</p>
<p>I assume that the structure of this object depends on the task type (and possibly something else). Is the structure for some cases agreed upon? If yes, can we document it?</p> Pulp - Issue #2707 (CLOSED - CURRENTRELEASE): pulp-manager command needs full path to wsgi in ord...https://pulp.plan.io/issues/27072017-04-13T01:56:23Zfdobrovofdobrovo@redhat.com
<pre><code>(pulp) [vagrant@dev pulp]$ pulp-manager runserver 8080
Performing system checks...
System check identified no issues (1 silenced).
April 13, 2017 - 01:51:37
Django version 1.8.18, using settings 'pulp.app.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7fcaa0e59730>
Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/core/servers/basehttp.py", line 50, in get_internal_wsgi_application
return import_string(app_path)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/utils/module_loading.py", line 26, in import_string
module = import_module(module_path)
File "/usr/lib64/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'wsgi'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/utils/autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/core/management/commands/runserver.py", line 141, in inner_run
handler = self.get_handler(*args, **options)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/contrib/staticfiles/management/commands/runserver.py", line 24, in get_handler
handler = super(Command, self).get_handler(*args, **options)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/core/management/commands/runserver.py", line 55, in get_handler
return get_internal_wsgi_application()
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/core/servers/basehttp.py", line 60, in get_internal_wsgi_application
sys.exc_info()[2])
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/core/servers/basehttp.py", line 50, in get_internal_wsgi_application
return import_string(app_path)
File "/usr/lib/python3.5/site-packages/Django-1.8.18-py3.5.egg/django/utils/module_loading.py", line 26, in import_string
module = import_module(module_path)
File "/usr/lib64/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
django.core.exceptions.ImproperlyConfigured: WSGI application 'wsgi.application' could not be loaded; Error importing module: 'No module named 'wsgi''
^CException ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fcaa18f0730>
Traceback (most recent call last):
File "/usr/lib64/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fcaa18f0730>
Traceback (most recent call last):
File "/usr/lib64/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
</code></pre>
<p><a href="https://github.com/pulp/pulp/blob/bbcdb7c378d0784f0bf12a5e870b1eb06acb3ec1/app/pulp/app/settings.py#L106" class="external">https://github.com/pulp/pulp/blob/bbcdb7c378d0784f0bf12a5e870b1eb06acb3ec1/app/pulp/app/settings.py#L106</a></p>
<p>needs to be changed to pulp.app.wsgi.application</p> Pulp - Issue #410 (CLOSED - CURRENTRELEASE): Add "retrieve a single importer/distributor"https://pulp.plan.io/issues/4102015-02-28T22:04:05Zipanova@redhat.comipanova@redhat.com
<p>Description of problem:<br>
<a href="https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/repo/retrieval.html" class="external">https://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/repo/retrieval.html</a><br>
Extend retrieval section with "retrieve a single importer/distributor" + examples.</p>
<p>Version-Release number of selected component (if applicable):</p>
<p>How reproducible:</p>
<p>Steps to Reproduce:<br>
1.<br>
2.<br>
3.</p>
<p>Actual results:</p>
<p>Expected results:</p>
<p>Additional info:</p>
<p>+ This bug was cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1081518" class="external">Bugzilla Bug #1081518</a> +</p>