Forum Stats

  • 3,759,036 Users
  • 2,251,494 Discussions
  • 7,870,477 Comments

Discussions

Upgrade OL7->OL8 with LEAPP vs. EPEL

ManPau
ManPau Member Posts: 52 Blue Ribbon

Wanted to upgrade my VM with OL7 to OL8.

the command

# leapp upgrade --oraclelinux

fails with error messages like this:

[...]

file /usr/lib64/libssl.so.1.1.1g from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64

 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

[...]


the conflicting packages are all from EPEL.

Currently I use the "original" Fedora EPEL (https://docs.fedoraproject.org/en-US/epel/#_quickstart , installed with# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm)


Is it possible to switch from Fedora EPEL to Oracle EPEL (oracle-epel-release-el7)?

Would this then also solve my LEAPP Upgrade issue, means is LEAPP able to do the upgrade when I use Oracle EPEL instead of Fedora EPEL ?

Answers

  • David Gilpin-Oracle
    David Gilpin-Oracle Principal Product Manager, Oracle Linux and Virtualization Frisco, TXPosts: 32 Employee

    We did not test OL7 to OL8 using 'leapp' with Fedora EPEL enabled.

    Switch to Oracle EPEL then retest using 'leapp preupgrade --oraclelinux'. Check the log files for inhibitors, leapp might give you hints on what to do as mitigations.

  • ManPau
    ManPau Member Posts: 52 Blue Ribbon

    switched from Fedora EPEL to Oracle EPEL.

    Inhibitors that were reported by "leapp preupgrade --oraclelinux" were already solved before switching to Oracle EPEL.

    but "leapp upgrade --oraclelinux" still produces error messages about file conflicts:

    [...]
    STDERR:
    Failed to create directory /var/lib/leapp/el8userspace//sys/fs/selinux: Read-only file system
    Failed to create directory /var/lib/leapp/el8userspace//sys/fs/selinux: Read-only file system
    Warning: Packages marked by Leapp for install not found in repositories metadata: python3-nss ldns-utils rpcgen python3-pyxattr libnsl2-devel gdk-pixbuf2-xlib ivy-local rpcsvc-proto-devel python3-javapackages
    RPM: warning: Generating 6 missing index(es), please wait...
    Error: Transaction test error:
     file /usr/lib64/.libcrypto.so.1.1.1g.hmac from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/.libssl.so.1.1.1g.hmac from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/engines-1.1/afalg.so from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/engines-1.1/capi.so from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/engines-1.1/padlock.so from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/libcrypto.so.1.1.1g from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib64/libssl.so.1.1.1g from install of openssl-libs-1:1.1.1g-15.el8_3.x86_64 conflicts with file from package openssl11-libs-1:1.1.1g-3.el7.x86_64
     file /usr/lib/python3.6/site-packages/chardet/__pycache__/__init__.cpython-36.opt-1.pyc from install of python3-chardet-3.0.4-7.el8.noarch conflicts with file from package python36-chardet-3.0.4-1.el7.noarch
     file /usr/lib/python3.6/site-packages/chardet/__pycache__/__init__.cpython-36.pyc from install of python3-chardet-3.0.4-7.el8.noarch conflicts with file from package python36-chardet-3.0.4-1.el7.noarch
     file /usr/lib/python3.6/site-packages/chardet/__pycache__/big5freq.cpython-36.opt-1.pyc from install of python3-chardet-3.0.4-7.el8.noarch conflicts with file from package python36-chardet-3.0.4-1.el7.noarch
    [...]
     file /usr/lib64/python3.6/site-packages/yaml/__pycache__/scanner.cpython-36.pyc from install of python3-pyyaml-3.12-12.el8.x86_64 conflicts with file from package python36-PyYAML-3.13-1.el7.x86_64
     file /usr/lib64/python3.6/site-packages/yaml/__pycache__/serializer.cpython-36.opt-1.pyc from install of python3-pyyaml-3.12-12.el8.x86_64 conflicts with file from package python36-PyYAML-3.13-1.el7.x86_64
     file /usr/lib64/python3.6/site-packages/yaml/__pycache__/serializer.cpython-36.pyc from install of python3-pyyaml-3.12-12.el8.x86_64 conflicts with file from package python36-PyYAML-3.13-1.el7.x86_64
     file /usr/lib64/python3.6/site-packages/yaml/__pycache__/tokens.cpython-36.opt-1.pyc from install of python3-pyyaml-3.12-12.el8.x86_64 conflicts with file from package python36-PyYAML-3.13-1.el7.x86_64
     file /usr/lib64/python3.6/site-packages/yaml/__pycache__/tokens.cpython-36.pyc from install of python3-pyyaml-3.12-12.el8.x86_64 conflicts with file from package python36-PyYAML-3.13-1.el7.x86_64
    [...]
    
    


    the 3 conflicting OL7 EPEL packages are:

    # grep -i conflicts leapp-upgrade.log | awk '{print $NF}' | sort -u
    openssl11-libs-1:1.1.1g-3.el7.x86_64
    python36-chardet-3.0.4-1.el7.noarch
    python36-PyYAML-3.13-1.el7.x86_64
    
    # yum info openssl11-libs python36-chardet python36-PyYAML
    Loaded plugins: langpacks, ulninfo
    Installed Packages
    Name        : openssl11-libs
    Arch        : x86_64
    Epoch       : 1
    Version     : 1.1.1g
    Release     : 3.el7
    Size        : 3.6 M
    Repo        : installed
    From repo   : ol7_developer_EPEL
    Summary     : A general purpose cryptography library with TLS implementation
    URL         : http://www.openssl.org/
    License     : OpenSSL and ASL 2.0
    Description : OpenSSL is a toolkit for supporting cryptography. The openssl11-libs
                : package contains the libraries that are used by various applications which
                : support cryptographic algorithms and protocols.
    
    Name        : python36-PyYAML
    Arch        : x86_64
    Version     : 3.13
    Release     : 1.el7
    Size        : 672 k
    Repo        : installed
    From repo   : ol7_developer_EPEL
    Summary     : YAML parser and emitter for Python 3.6
    URL         : http://pyyaml.org/
    License     : MIT
    Description : YAML is a data serialization format designed for human readability and
                : interaction with scripting languages.  PyYAML is a YAML parser and
                : emitter for Python 3.6.
                :
                : PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
                : support, capable extension API, and sensible error messages.  PyYAML
                : supports standard YAML tags and provides Python-specific tags that
                : allow to represent an arbitrary Python object.
                :
                : PyYAML is applicable for a broad range of tasks from complex
                : configuration files to object serialization and persistance.
    
    Name        : python36-chardet
    Arch        : noarch
    Version     : 3.0.4
    Release     : 1.el7
    Size        : 1.4 M
    Repo        : installed
    From repo   : ol7_developer_EPEL
    Summary     : Character encoding auto-detection in Python 3.6
    URL         : https://github.com/chardet/chardet
    License     : LGPLv2
    Description :
                : Character encoding auto-detection in Python. As
                : smart as your browser. Open source.
                : This package is for Python3 with version 3.6 .
    
    
    


    If I interpreted the outputs correct, this 3 packages have other names in OL8 (openssl-libs, python3-pyyaml, python3-chardet) than in OL7 (openssl11-libs, python36-PyYAML, python36-chardet).

    And in OL8 this 3 packages are available in OL8 BaseOS repo instead of OL8 EPEL repo.


    Is there a possibility to tell LEAPP a mapping between ol7-package-name <-> ol8-package-name ?

  • ManPau
    ManPau Member Posts: 52 Blue Ribbon

    @David Gilpin-Oracle

    today yum brought me some updates of leapp packages:

    Oct 04 09:44:36 Updated: leapp-repository-deps-0.14.0-4.0.1.el7_9.noarch
    Oct 04 09:44:36 Updated: leapp-deps-0.12.1-1.0.1.el7_9.noarch
    Oct 04 09:44:36 Updated: python2-leapp-0.12.1-1.0.1.el7_9.noarch
    Oct 04 09:44:37 Updated: leapp-repository-0.14.0-4.0.1.el7_9.noarch
    Oct 04 09:44:37 Updated: leapp-0.12.1-1.0.1.el7_9.noarch
    

    but still the upgrade to OL8 fails because of the 3 mentioned packages...

    Any idea?

  • David Gilpin-Oracle
    David Gilpin-Oracle Principal Product Manager, Oracle Linux and Virtualization Frisco, TXPosts: 32 Employee

    The 'pes-event' file does not have mappings for EPEL packages.

    There are files under /etc/leapp/transaction called "to_install" and "to_remove". You can add the conflicting el7 packages to the "to_remove" file and the el8 packages to the "to_install" file.

    We have been doing leapp testing. Just yesterday we rolled out Leapp support for RDMA and posted refreshed documentation: https://docs.oracle.com/en/operating-systems/oracle-linux/8/leapp/about-leapp.html#features

    We have not done significant testing on the "to_install" and "to_remove" transaction features. There is a queue of testing underway... this will take some time. Please feel free to try this and let us know how it goes.