View Issue Details

IDProjectCategoryView StatusLast Update
0000141AlmaLinux-8-OTHERpublic2021-11-17 13:03
Reportermjkelly Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Platformx86_64OSAlmaLinuxOS Version8.4
Summary0000141: ELevate install: conflicts in /usr/lib/python3.6/site-packages/__pycache__
DescriptionI just did a CentOS 7 to AlmaLinux 8.4 conversion with ELevate (https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.html). Following the quickstart guide, I ran `sudo leapp preupgrade` until the report showed no issues that inhibited an upgrade. I only had to make 2 of the 3 modifications listed in the quickstart guide:

1. Updating /etc/ssh/sshd_config (I explicitly disabled root login via ssh rather than enabling it)
2. sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True

When running `sudo leapp upgrade`, I got the following error from dnf:
```
2021-11-01 20:33:54.907 DEBUG PID: 41194 leapp.workflow.Download.dnf_package_download: file /usr/lib/python3.6/site-packages/__pycache__/six.cpython-36.opt-1.pyc from install of python3-six-1.11.0-8.el8.noarch conflicts with file from package python36-six-1.14.0-3.el7.noarch
```

My workaround was to remove python36 from the CentOS 7 system (and any packages that depended on it). The upgrade worked after that. There were no remediation steps after the upgrade, because my resulting Alma 8.4 came with Python 3.6 (as a side effect of the upgrade, perhaps?) My previously-installed packages that depended on python3 were from EPEL, so are unsupported in the new installation.

Let me know if there's more info I can collect, or if I should attempt a clean repro on a fresh CentOS 7 VM. Thank you!
Steps To Reproduce[I haven't tried this myself; this is a synthesis of what I believe happened based on looking at logs files]

1. Install `python36-six-1.14.0-3.el7.noarch` on a CentOS 7 system
2. Run `leapp upgrade`
3. It should fail with with the file conflict error mentioned above
Additional InformationI uploaded full logs (all archive tarballs from /var/log/leapp/archive) here: https://scratch.michaelkelly.org.s3-website-us-east-1.amazonaws.com/leapp-logs.tar.bz2. I collected all the logs in a single tarball. Each run is in a sequentially-numbered directory.

logs.5/var/log/leapp/leapp-upgrade.log is probably the best place to start -- that contains the error message mentioned above.
TagsNo tags attached.
abrt_hash
URL

Activities

mjkelly

2021-11-03 03:28

reporter   ~0000372

I was able to repro this with a fresh CentOS 7 install. The key is having python36 modules installed via EPEL. I'm not sure if upgrading a CentOS 7 host with EPEL packages installed is supported, but are the more specific repro steps either way!

1. Start from a fresh CentOS 7.9.2009 release
2. (install python 3.6 package from EPEL): yum update; yum install epel-release; install python36-six
3. yum install leapp-upgrade leapp-data-centos
4. (get CentOS set up for ELevate upgrade, from quickstart guide): rmmod pata_acpi; echo PermitRootLogin no | sudo tee -a /etc/ssh/sshd_config; leapp answer --section remove_pam_pkcs11_module_check.confirm=True
5. leapp preupgrade
6. leapp upgrade
 
Step 5 should show the system is ready for an upgrade, and step 6 should fail with an error like this:

Error: Transaction test error:
  file /usr/lib/python3.6/site-packages/__pycache__/six.cpython-36.opt-1.pyc from install of python3-six-1
.11.0-8.el8.noarch conflicts with file from package python36-six-1.14.0-3.el7.noarch
  file /usr/lib/python3.6/site-packages/__pycache__/six.cpython-36.pyc from install of python3-six-1.11.0-
8.el8.noarch conflicts with file from package python36-six-1.14.0-3.el7.noarch
  file /usr/lib/python3.6/site-packages/six.py from install of python3-six-1.11.0-8.el8.noarch conflicts w
ith file from package python36-six-1.14.0-3.el7.noarch

I hope this helps! Thanks.

alukoshko

2021-11-08 08:57

developer   ~0000374

Hi.
EPEL is not supported yet and it's not easy because we have to add many actions for EPEL packages to https://pes.almalinux.org.
For example python36-six should be replaced with python3-six during upgrade and we have to add action for this.
And the same for every package that have it's name changed in EPEL 8.
Please stay tuned. Or even better, join us.

mjkelly

2021-11-16 17:32

reporter   ~0000393

Gotcha! That makes sense. Thanks for the info.

I can't promise any contributions in the near future, but if I have some time I'll learn about Package Evolution Service.

Thanks for all your work, it's incredible that this works under any circumstances. :)

tjyang

2021-11-17 13:03

reporter   ~0000401

I want to express my kudos for elevate project members for bringing elevate to centos7. Although it is not as automated as it can be but I have use elevate to migrate a few of my centos 7 VMWare test/non-prod VMs with saltstack formula to get rid of manual commands. I will try to find way to see, from sysadmin perspective, if I can contribute after my RTFM of leapp/elevate.

Issue History

Date Modified Username Field Change
2021-11-03 00:14 mjkelly New Issue
2021-11-03 03:28 mjkelly Note Added: 0000372
2021-11-08 08:57 alukoshko Note Added: 0000374
2021-11-16 17:32 mjkelly Note Added: 0000393
2021-11-17 13:03 tjyang Note Added: 0000401