Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-11-23T17:43:48ZPulp
Planio RPM Support - Issue #9583 (CLOSED - DUPLICATE): Distribution tree uniqueness constraint is not en...https://pulp.plan.io/issues/95832021-11-23T17:43:48Zttereshcttereshc@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2305":<a href="https://github.com/pulp/pulp_rpm/issues/2305" class="external">https://github.com/pulp/pulp_rpm/issues/2305</a></p>
<hr>
<p>Currently <a href="https://github.com/pulp/pulp_rpm/blob/master/pulp_rpm/app/models/distribution.py#L133" class="external">Pulp requires</a> the combination of the following fields to be unique:</p>
<pre><code> unique_together = (
"header_version",
"release_name",
"release_short",
"release_version",
"arch",
"build_timestamp",
)
</code></pre>
<p>In some cases, it doesn't seem enough.
For some reason multiple repositories might have all those fields exactly the same and they differ in variants definition only. Such are not proper distribution trees, the majority do not have any images associated.</p>
<p>Examples brought by always helpful @gdve from <a href="https://pulp.plan.io/issues/8566#note-33" class="external">https://pulp.plan.io/issues/8566#note-33</a>:</p>
<pre><code>CentOS/8-stream/AppStream/x86_64/os/.treeinfo:build_timestamp = 1625615144
CentOS/8-stream/BaseOS/x86_64/os/.treeinfo:build_timestamp = 1625615155
CentOS/8-stream/HighAvailability/x86_64/os/.treeinfo:build_timestamp = 1625026406
CentOS/8-stream/PowerTools/x86_64/os/.treeinfo:build_timestamp = 1625026406
CentOS/8-stream/RT/x86_64/os/.treeinfo:build_timestamp = 1625026406
</code></pre>
<pre><code>AlmaLinux/8.4/AppStream/x86_64/kickstart/.treeinfo:build_timestamp = 1622014553
AlmaLinux/8.4/AppStream/x86_64/os/.treeinfo:build_timestamp = 1622014553
AlmaLinux/8.4/BaseOS/x86_64/kickstart/.treeinfo:build_timestamp = 1622014553
AlmaLinux/8.4/BaseOS/x86_64/os/.treeinfo:build_timestamp = 1622014553
AlmaLinux/8.4/HighAvailability/x86_64/kickstart/.treeinfo:build_timestamp = 1622014558
AlmaLinux/8.4/HighAvailability/x86_64/os/.treeinfo:build_timestamp = 1622014558
AlmaLinux/8.4/PowerTools/x86_64/kickstart/.treeinfo:build_timestamp = 1622014558
AlmaLinux/8.4/PowerTools/x86_64/os/.treeinfo:build_timestamp = 1622014558
AlmaLinux/8.4/extras/x86_64/kickstart/.treeinfo:build_timestamp = 1622014558
AlmaLinux/8.4/extras/x86_64/os/.treeinfo:build_timestamp = 1622014558
</code></pre>
<p>Pulp 2to3 migration fails with <code>No declared artifact with relative path ".treeinfo" for content "<DistributionTree: pk=64f44866-0207-4005-9c06-0f45e52cbdd1>"</code>.
I would expect sync to behave the similarly, needs testing though.</p> Migration Plugin - Issue #8874 (CLOSED - CURRENTRELEASE): incorrect migration of modular errata c...https://pulp.plan.io/issues/88742021-06-07T17:48:01Zttereshcttereshc@redhat.com
<p>According to <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1954839" class="external">the original report</a> , the failure is seen for RHEL 8 Appstream repos.</p>
<p>I was able to reproduce it with this repo but not Appstream:</p>
<ul>
<li><a href="https://fixtures.pulpproject.org/rpm-with-sha-1-modular/" class="external">https://fixtures.pulpproject.org/rpm-with-sha-1-modular/</a></li>
</ul>
<pre><code> Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/sync.py", line 294, in run
self.update_content(metadata_files, url)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/sync.py", line 627, in update_content
purge.purge_unwanted_units(metadata_files, self.conduit, self.config, catalog)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 45, in purge_unwanted_units
remove_missing_errata(metadata_files, conduit)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 148, in remove_missing_errata
updateinfo.process_package_element)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 277, in get_remote_units
for unit in package_info_generator:
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/packages.py", line 64, in package_list_generator
package_info = process_func(element)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 33, in process_package_element
pkglists = map(_parse_pkglist, element.findall('pkglist') or [])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 102, in _parse_pkglist
return map(_parse_collection, element.findall('collection') or [])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 116, in _parse_collection
ret['module'] = _parse_module(module_elements[0])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 171, in _parse_module
'name': element.attrib['name'],
KeyError: 'name'
</code></pre>
<p>It's unclear if the content has to be migrated or if the problem can be reproduced if the upstream repos are synced to pulp3 directly.</p> Migration Plugin - Issue #8686 (CLOSED - CURRENTRELEASE): Migrating one plugin removes publicatio...https://pulp.plan.io/issues/86862021-05-03T18:25:38Zttereshcttereshc@redhat.com
<p>To reproduce:</p>
<ul>
<li>have iso and rpm repos in pulp2</li>
<li>migrate one plugin</li>
<li>then migrate another plugin</li>
</ul>
<p>Observe that content app shows only repositories of the last migrated plugin.</p>
<p>Not sure when it was introduced but it was not this way right from the start.
As a part of the fix, there should be a test added to check that scenario.</p>
<p>Repositories and content are not removed, so the workaround is to publish all repositories of the first migrated plugin.</p> Migration Plugin - Issue #8417 (CLOSED - CURRENTRELEASE): Errata in Pulp2 does not updated _last_...https://pulp.plan.io/issues/84172021-03-17T17:18:39Zttereshcttereshc@redhat.com
<p>To reproduce:</p>
<ul>
<li>create and sync <code>rpm_unsigned</code> repo in pulp2</li>
<li>migrate it</li>
<li>create a repo <code>copy1</code> and copy all content from <code>rpm_unsigned</code>
</li>
<li>run a migration with the following plan</li>
<li>in the new repo version errata will be removed because it is not found in Pulp2Content for a <code>copy1</code> repo.</li>
</ul>
<pre><code>{
"plan": {
"plugins": [
{
"repositories": [
{
"name": "rpm_unsigned",
"pulp2_importer_repository_id": "rpm_unsigned",
"repository_versions": [
{
"pulp2_distributor_repository_ids": [
"rpm_unsigned"
],
"pulp2_repository_id": "rpm_unsigned"
},
{
"pulp2_distributor_repository_ids": [
"copy1"
],
"pulp2_repository_id": "copy1"
}
]
}
],
"type": "rpm"
}
]
},
}
</code></pre>
<p>Alternatively, if you run for the second migration the migrate-all plan, the new repository will lack errata as well.</p>
<p>We likely need to work around it in the migration plugin, since updating _last_updated date for a copy in pulp 2 will cause problems in pulp2 world - publish will be operational for all repositories which contains an erratum if that erratum has been copied (Katello uses copy heavily).</p> Migration Plugin - Issue #8382 (CLOSED - CURRENTRELEASE): null value in column "pulp2_resource_re...https://pulp.plan.io/issues/83822021-03-11T13:49:07Zttereshcttereshc@redhat.com
<pre><code> self._result = self._execute()
File "/usr/lib/python3.6/site-packages/rq/job.py", line 690, in _execute
return self.func(*self.args, **self.kwargs)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/tasks/migrate.py", line 48, in migrate_from_pulp2
missing_resources = plan.get_missing_resources()
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 165, in get_missing_resources
if self.plan_view.missing_repositories:
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 108, in plan_view
self._real_plan = _InternalMigrationPlan(self)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 181, in __init__
self._plugin_plans.append(PluginMigrationPlan(plugin_data))
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 256, in __init__
self._parse_plugin_plan(plugin_migration_plan)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 340, in _parse_plugin_plan
RepoSetup.set_importer(pulp2_repository_id, self.type, importer_repo_id)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/models/base.py", line 438, in set_importer
defaults={'status': cls.NEW}
File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 541, in get_or_create
return self._create_object_from_params(kwargs, params)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 583, in _create_object_from_params
raise e
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 575, in _create_object_from_params
obj = self.create(**params)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 422, in create
obj.save(force_insert=True, using=self.db)
File "/usr/lib/python3.6/site-packages/django_lifecycle/mixins.py", line 129, in save
save(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 744, in save
force_update=force_update, update_fields=update_fields)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
force_update, using, update_fields,
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
using=using, raw=raw)
File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "pulp2_resource_repo_id" violates not-null constraint
DETAIL: Failing row contains (fbf00c2e-39be-4ae5-845d-2467fc9eb4b6, 2021-03-10 22:48:24.91763+00, 2021-03-10 22:48:24.917653+00, other_component_repo, rpm, null, 0, 2).
</code></pre>
<p>This is happens when importer is not specified for a repo in the migration plan.
It's a regression introduced in 0.9.0.</p> RPM Support - Issue #8245 (CLOSED - CURRENTRELEASE): Distribution tree parsing fails if is_layere...https://pulp.plan.io/issues/82452021-02-11T19:11:56Zttereshcttereshc@redhat.com
<p>Try to sync or migrate a distribution tree which has is_layered set in its .treeinfo and it would lead to this error:</p>
<pre><code>Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: Traceback (most recent call last):
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 975, in perform_job
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: rv = job.perform()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 696, in perform
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: self._result = self._execute()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 719, in _execute
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return self.func(*self.args, **self.kwargs)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/tasks/migrate.py", line 81, in migrate_from_pulp2
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: migrate_content(plan, skip_corrupted=skip_corrupted)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 47, in migrate_content
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: plugin.migrator.migrate_content_to_pulp3(skip_corrupted=skip_corrupted)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/plugin/rpm/migrator.py", line 145, in migrate_content_to_pulp3
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: loop.run_until_complete(dm.create())
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return future.result()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/plugin/content.py", line 90, in create
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: await pipeline
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulpcore/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: await asyncio.gather(*futures)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulpcore/pulpcore/plugin/stages/api.py", line 43, in __call__
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: await self.run()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulpcore/pulpcore/plugin/stages/content_stages.py", line 95, in run
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: d_content.content.save()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/home/vagrant/devel/pulpcore/pulpcore/app/models/base.py", line 149, in save
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return super().save(*args, **kwargs)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django_lifecycle/mixins.py", line 129, in save
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: save(*args, **kwargs)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 744, in save
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: force_update=force_update, update_fields=update_fields)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: force_update, using, update_fields,
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: using=using, raw=raw)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return getattr(self.get_queryset(), name)(*args, **kwargs)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return query.get_compiler(using=using).execute_sql(return_id)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1376, in execute_sql
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: for sql, params in self.as_sql():
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django_readonly_field/compiler.py", line 31, in as_sql
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return super(ReadonlySQLCompilerMixin, self).as_sql()
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in as_sql
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: for obj in self.query.objs
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in <listcomp>
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: for obj in self.query.objs
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1319, in <listcomp>
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1260, in prepare_value
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: value = field.get_db_prep_save(value, connection=self.connection)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/fields/__init__.py", line 793, in get_db_prep_save
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return self.get_db_prep_value(value, connection=connection, prepared=False)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/fields/__init__.py", line 788, in get_db_prep_value
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: value = self.get_prep_value(value)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/fields/__init__.py", line 1024, in get_prep_value
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: return self.to_python(value)
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/fields/__init__.py", line 1017, in to_python
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: params={'value': value},
Feb 11 18:54:31 pulp2-nightly-pulp3-source-centos7.rhgoose.example.com rq[2338]: django.core.exceptions.ValidationError: ["'true' value must be either True or False."]
</code></pre>
<p>We are not using the main parser in pulp_rpm because we need to do a lot of data rejuggling ourselves.
Main parser in productmd turned out to work fine, it's the one we use is not supposed to convert filed to their correct types.</p>
<p>A solution would be to handle this configuration parameter separately.</p> Migration Plugin - Issue #7540 (CLOSED - CURRENTRELEASE): workers and resource-manager go missing...https://pulp.plan.io/issues/75402020-09-21T17:26:57Zjsherril@redhat.comjsherril@redhat.com
<p>When doing a large migration with ~300K rpms, my workers and resource-manager went missing. Upon further investigation, it appeared that postgresql was stuck in a large IO wait trying to commit a large transaction, for ~10-15 minutes.</p>
<p>My guess is that there is a very large transaction that needs to be broken up into smaller ones, probably around saving artifacts (although this is just a guess)</p> RPM Support - Issue #7228 (CLOSED - CURRENTRELEASE): Optimized sync with mirror set to true unass...https://pulp.plan.io/issues/72282020-07-28T15:42:57Zsajha
<p>Syncing a repository with Optimized sync set to true and mirror set to true unassociates all content units and creates an empty repository version. The progress report looks like the attached image.
The first sync works fine. The subsequent sync removes all content units.</p> File Support - Issue #4042 (CLOSED - CURRENTRELEASE): Update workflow in docs after changes of fi...https://pulp.plan.io/issues/40422018-09-27T07:54:29Zvdusek
<p>Recently fields of responses were changed (e.g. <a href="https://pulp.plan.io/issues/3978" class="external">https://pulp.plan.io/issues/3978</a>, <a href="https://pulp.plan.io/issues/3979" class="external">https://pulp.plan.io/issues/3979</a>). Workflow in docs should be updated.</p> Pulp - Issue #3978 (CLOSED - CURRENTRELEASE): Operation postponed response contains too much info...https://pulp.plan.io/issues/39782018-09-05T13:51:52Zdkliban@redhat.com
<p>When a user performs a sync, repository_version creation, or a publish she is presented with a 202 response with the following schema:</p>
<pre><code>{
"_href": "/pulp/api/v3/some-task-id/",
"task_id": "some-task-id"
}
</code></pre>
<p>The `task_id` is not necessary because users are supposed to use resource HREFs as identifiers. The `_href` field is not descriptive enough on it's own. A better response would look like</p>
<pre><code>{
"task": "/pulp/api/v3/some-task-id/"
}
</code></pre> Ansible Plugin - Issue #3898 (CLOSED - CURRENTRELEASE): Filters inherit from a Django's FilterSet...https://pulp.plan.io/issues/38982018-08-02T15:13:08Zvdusek
<p>AnsibleRoleFilter and AnsibleRoleVersionFilter inherit from Django's filterset.FilterSet class not from our BaseFilterSet. I suppose this could cause problems in generating documentation.</p> Pulp - Issue #3846 (CLOSED - WONTFIX): Wrong status codehttps://pulp.plan.io/issues/38462018-07-10T09:07:34Zvdusek
<p>When I want to create a repository with a name which is already used for another repository, it returns status code 400 - Bad Request. According to this topic <a href="https://stackoverflow.com/questions/3825990/http-response-code-for-post-when-resource-already-exists" class="external">HTTP response code for POST when resource already exists</a> I would suggest use 409 - Conflict.</p> File Support - Issue #3827 (CLOSED - CURRENTRELEASE): Filters on content list lack help texthttps://pulp.plan.io/issues/38272018-07-06T17:33:51ZdaviddavisPulp - Issue #3826 (CLOSED - CURRENTRELEASE): Range filter help text should specify the format al...https://pulp.plan.io/issues/38262018-07-06T17:31:54Zdaviddavis
<p>We have some range filters like <code>last_updated__range</code> but it's not clear how to format the input to these filters.</p> Pulp - Issue #3825 (CLOSED - CURRENTRELEASE): Date filter help text should specify the format of ...https://pulp.plan.io/issues/38252018-07-06T17:30:31Zdaviddavis
<p>We have a bunch of date filters but it's not clear what formats they allow.</p>