View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000141||AlmaLinux-8||-OTHER||public||2021-11-03 00:14||2021-11-17 13:03|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Summary||0000141: ELevate install: conflicts in /usr/lib/python3.6/site-packages/__pycache__|
|Description||I 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 Information||I 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.
|Tags||No tags attached.|
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.
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.
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. :)
||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.|