Cannot update puppet-agent to 6.24.0 on foreman servers

I have just tested the repair script from Issue #9107: filelists and changelog metadata is not parsed properly - Pulp saves incorrect filelists and changelog metadata and generates incorrect metadata - RPM Support - Pulp and it seems to work. Ran the script as user pulp. I seem to have 94 packages in the system which really have no filelist and not changelogs and thus keep getting “repaired” during each run.

Now, when I try to republish repository metadata for all repositories, it fails for the baseos repository of centos 8 and centos 8 stream. I get the same error which I have got for the sync, i.e. as described in CentOS 8.4 BaseOS Sync error

Too many bugs… I’ll have to wait for 4.1.2, I guess…

4.1.2-1 is available. Does this fix the issue?

Yes. It fixes the sync. I have just updated. However, you still need to run the repair script to fix the filelists for all packages which have been sync from the remote repositories with 4.1.1.

So basically what I did:

  1. update to 4.1.2 (main server and content proxies)
  2. stop all foreman-services (main server and content proxies)
  3. run foreman-installer (main server and content proxies)

on main server:
4. run repair
5. Start a new complete sync of all repositories I have. (I did the complete sync out of precaution but I think it’s not necessary).
6. Published and promoted a new content view version for all my content views.
7. I ran a complete sync for the content proxy as a precaution although I think the optimized sync which now runs automatically with content view promotion did fix everything.

Not sure how to run the repair.py script. I’m running it as user pulp, but get this output:


-bash-4.2$ python3 repair.py
Traceback (most recent call last):
  File "repair.py", line 8, in <module>
    django.setup()
  File "/usr/lib/python3.6/site-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/usr/lib/python3.6/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/usr/lib/python3.6/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
-bash-4.2$

The complete command is in the pulp ticket:

# DJANGO_SETTINGS_MODULE=pulpcore.app.settings PULP_SETTINGS=/etc/pulp/settings.py python3 repair.py

@iballou Now that 4.1.2 with pulp_rpm 3.14.0 is out for EL7 what is the plan for the repair script? I don’t see anything mentioned in the release announcement or the changelog…

Here is an email from pulp-list@redhat.com: Re: [Pulp-list] pulp_rpm 3.14.0 is Generally Available (important info!)

Looks like the repair script will simply live on the issue like it does now.