Bug 1925799

Summary: Pulp 3: Unable to synchronize custom yum repository in Pulp 3 mode: ["''true'' value must be either True or False."]
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: PulpAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Lai <ltran>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.9.0CC: bmbouter, egolov, ggainey, ipanova, jsherril, pcreech, rchan, smallamp, ttereshc, zhunting
Target Milestone: 6.9.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-pulp-rpm-3.9.0-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-04-21 13:10:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
successful sync none

Description Mike McCune 2021-02-06 17:02:18 UTC
Steps to Reproduce:

1. Configure your Satellite 6.9 server to use Pulp 3

2. Create Product and Repo syncing this repo:

 http://dogfood.sat.engineering.redhat.com/pulp/repos/Sat6-CI/QA/Capsule_6_9_with_RHEL7_Server/custom/Satellite_Capsule_6_9_Composes/Satellite_Capsule_6_9_RHEL7/


3. Try to sync the repo and get blocked with error:

pulp_tasks:
- pulp_href: "/pulp/api/v3/tasks/09675a56-1776-4975-a72d-bc5c0125a315/"
  pulp_created: '2021-02-06T17:00:32.995+00:00'
  state: failed
  name: pulp_rpm.app.tasks.synchronizing.synchronize
  started_at: '2021-02-06T17:00:33.125+00:00'
  finished_at: '2021-02-06T17:00:34.597+00:00'
  error:
    traceback: |2
        File "/usr/lib/python3.6/site-packages/rq/worker.py", line 936, in perform_job
          rv = job.perform()
...
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 788, in get_db_prep_value
          value = self.get_prep_value(value)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1024, in get_prep_value
          return self.to_python(value)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1017, in to_python
          params={'value': value},
   
 description: '["''true'' value must be either True or False."]'

Comment 1 Justin Sherrill 2021-02-15 14:03:04 UTC
here's the full traceback:


    traceback: |2
        File "/usr/lib/python3.6/site-packages/rq/worker.py", line 975, in perform_job
          rv = job.perform()
        File "/usr/lib/python3.6/site-packages/rq/job.py", line 696, in perform
          self._result = self._execute()
        File "/usr/lib/python3.6/site-packages/rq/job.py", line 719, in _execute
          return self.func(*self.args, **self.kwargs)
        File "/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 274, in synchronize
          dv.create()
        File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 148, in create
          loop.run_until_complete(pipeline)
        File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
          return future.result()
        File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
          await asyncio.gather(*futures)
        File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in __call__
          await self.run()
        File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/content_stages.py", line 95, in run
          d_content.content.save()
        File "/usr/lib/python3.6/site-packages/pulpcore/app/models/base.py", line 115, in save
          return super().save(*args, **kwargs)
        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 1376, in execute_sql
          for sql, params in self.as_sql():
        File "/usr/lib/python3.6/site-packages/django_readonly_field/compiler.py", line 31, in as_sql
          return super(ReadonlySQLCompilerMixin, self).as_sql()
        File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in as_sql
          for obj in self.query.objs
        File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in <listcomp>
          for obj in self.query.objs
        File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1319, in <listcomp>
          [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
        File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1260, in prepare_value
          value = field.get_db_prep_save(value, connection=self.connection)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 793, in get_db_prep_save
          return self.get_db_prep_value(value, connection=connection, prepared=False)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 788, in get_db_prep_value
          value = self.get_prep_value(value)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1024, in get_prep_value
          return self.to_python(value)
        File "/usr/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1017, in to_python
          params={'value': value},
    description: '["''true'' value must be either True or False."]'

moving to the pulp component

Comment 2 Justin Sherrill 2021-02-15 15:44:44 UTC
this also affects content migration of dogfood, linking up with that

Comment 3 pulp-infra@redhat.com 2021-02-15 16:09:58 UTC
The Pulp upstream bug status is at POST. Updating the external tracker on this bug.

Comment 4 pulp-infra@redhat.com 2021-02-15 16:09:59 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.

Comment 5 Justin Sherrill 2021-02-15 19:04:07 UTC
same underlying cause as https://bugzilla.redhat.com/show_bug.cgi?id=1927930

Comment 6 pulp-infra@redhat.com 2021-02-18 18:06:43 UTC
The Pulp upstream bug priority is at High. Updating the external tracker on this bug.

Comment 7 pulp-infra@redhat.com 2021-02-24 18:06:35 UTC
The Pulp upstream bug status is at MODIFIED. Updating the external tracker on this bug.

Comment 8 pulp-infra@redhat.com 2021-02-24 19:04:43 UTC
All upstream Pulp bugs are at MODIFIED+. Moving this bug to POST.

Comment 10 Justin Sherrill 2021-03-09 18:36:55 UTC
I think the pulp team needs to backport this to pulp-rpm 3.9

Comment 11 Justin Sherrill 2021-03-09 18:59:13 UTC
backport to pulp-rpm 3.9 requested: https://pulp.plan.io/issues/8374

Comment 12 Patrick Creech 2021-03-10 20:33:02 UTC
moving back to POST until fix is available in pulp-rpm-3.9

Comment 13 pulp-infra@redhat.com 2021-03-25 18:28:14 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 14 Lai 2021-03-30 15:15:34 UTC
Steps to test.

1. Configure your Satellite 6.9 server to use Pulp 3 (same as doing complete switchover).
2. Create Product with this repo:
 http://dogfood.sat.engineering.redhat.com/pulp/repos/Sat6-CI/QA/Capsule_6_9_with_RHEL7_Server/custom/Satellite_Capsule_6_9_Composes/Satellite_Capsule_6_9_RHEL7/
3. Sync repo.


Expected:
Repo should sync successfully.

Actual:
Repo is synced successfully

Verified on 6.9.0_19.1 with python3-pulp-rpm-3.9.0-1.el7pc.noarch

Comment 15 Lai 2021-03-30 15:16:31 UTC
Created attachment 1767723 [details]
successful sync

Successful sync of custom repo in pulp3

Comment 18 errata-xmlrpc 2021-04-21 13:10:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Satellite 6.9 Release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:1313