[Starlingx-discuss] [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues
Hi, all: Is there anyone knows why "build-pkgs" and "build-iso" completed successfully and bootimage.iso created, but the target installer has below errors: (I have checked that "python36" and "python36-devel" are in dist/comps.xml and the type is "mandatory" of group ID "platform-controller", "platform-controller-worker", "platform-controller-worker-lowlatency", and the kickstarts cfg files include the related group in "%packages" ). Thanks. ======================================== Error The following software marked for installation has errors. This is likely caused by an error with your installation source. Problem 1: package patch-alarm-1.0-2.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 2: package grubby-8.40-34.el8.tis.1.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 3: package cgcs-patch-1.0-28.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 4: package worker-utils-1.0-5.tis.x86_64 requires /usr/bin/python3, but none of the providers can be installed - package worker-utils-1.0-5.tis.x86_64 requires python3, but none of the providers can be installed - conflicting requests - package python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Press ENTER to continue:
It sounds like this new RHEL8 feature, modularity: https://dnf.readthedocs.io/en/latest/modularity.html#hotfix-repositories It looks like it could be disabled with module_hotfixes=true in the repo config file, but I don't see any way of passing this to the kickstart repo command. I expect there will need to be some investigation of the differences in the installation of centos8 vs centos7, maybe look at the stock installation media to look at how the software repositories are setup. The introduction of modularity and "AppStream" could necessitate some changes in how we setup our ISO and software repositories. From: Bai, Haiqing <Haiqing.Bai@windriver.com> Sent: Monday, December 7, 2020 3:45 AM To: starlingx-discuss@lists.starlingx.io Subject: [Starlingx-discuss] [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues Hi, all: Is there anyone knows why "build-pkgs" and "build-iso" completed successfully and bootimage.iso created, but the target installer has below errors: (I have checked that "python36" and "python36-devel" are in dist/comps.xml and the type is "mandatory" of group ID "platform-controller", "platform-controller-worker", "platform-controller-worker-lowlatency", and the kickstarts cfg files include the related group in "%packages" ). Thanks. ======================================== Error The following software marked for installation has errors. This is likely caused by an error with your installation source. Problem 1: package patch-alarm-1.0-2.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 2: package grubby-8.40-34.el8.tis.1.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 3: package cgcs-patch-1.0-28.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 4: package worker-utils-1.0-5.tis.x86_64 requires /usr/bin/python3, but none of the providers can be installed - package worker-utils-1.0-5.tis.x86_64 requires python3, but none of the providers can be installed - conflicting requests - package python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Press ENTER to continue:
You are right, this is caused by the dnf modularity. For just test purpose, do you know whether can adding "#!/bin/sh echo module_hotfixes=true >> '/etc/dnf/dnf.conf'" in the "%pre" section of kickstart cfg, I tried but failed to update "/etc/dnf/dnf.conf" on target. Actually the below commit[0] making the normal repodata to module repo with the upstream "modules.yaml": http://mirror.centos.org/centos/8.1.1911/AppStream/x86_64/os/repodata/1feb2b... this gz file has been deprecated , after updated the above one with the modules.yaml in https://vault.centos.org/8.1.1911/AppStream/x86_64/os/repodata/, the pyton36/python36-devel excluding issue gone, but the same issues for qemu-kvm-ev. I think this can be explained for that "qemu-kvm-ev" is not from vault AppStream, but built locally. This means we have to create module repo for these packages built locally. I found below tools set that can do this: https://github.com/rpm-software-management/modulemd-tools These tools requires that the "libmodulemd" must be upgraded to 2.0 which will cause python "__common_types" issue. I am still working on this. [0] =================================================== commit 3139368079e66aba19dab4e4ed58665df5f55ca1 (HEAD) Author: Yong Fu <fuyong@neusoft.com> Date: Wed Jul 8 11:29:04 2020 +0800 CentOS 8: Add modular repository to fix ISO installation problems. In the centos8.1 environment, "dnf: No available modular metadata for modular package" error occurs in ISO installation. Modular repository must contain the modular metadata (modulemd) in the repodata. Excluding the metadata will cause all the modular packages to become standalone packages which could have negative consequences. 'modules.yaml' get from http://mirror.centos.org/centos/8.1.1911/AppStream/x86_64/os/repodata/1feb2b... Change-Id: I92a7f1a3c74197d7a9cec1fb5f0cc5fa5e961900 Story: 2006729 Task: 40294 Signed-off-by: Yong Fu <fuyong@neusoft.com> diff --git a/build-tools/build-iso b/build-tools/build-iso index b9ad63d..4e8d962 100755 --- a/build-tools/build-iso +++ b/build-tools/build-iso @@ -458,7 +458,8 @@ function final_touches { # create the repo \cd $OUTPUT_DIST_DIR/isolinux $CREATEREPO -q -g ../comps.xml . - + # add modulemd + modifyrepo_c --mdtype=modules $MY_REPO/build-tools/modularity/modules.yaml ./repodata # build the ISO printf "Building image $OUTPUT_FILE\n" \cd $OUTPUT_DIST_DIR diff --git a/build-tools/modularity/modules.yaml b/build-tools/modularity/modules.yaml ============================================= From: Penney, Don <Don.Penney@windriver.com> Sent: Monday, December 7, 2020 5:27 PM To: Bai, Haiqing <Haiqing.Bai@windriver.com>; starlingx-discuss@lists.starlingx.io Subject: RE: [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues It sounds like this new RHEL8 feature, modularity: https://dnf.readthedocs.io/en/latest/modularity.html#hotfix-repositories It looks like it could be disabled with module_hotfixes=true in the repo config file, but I don't see any way of passing this to the kickstart repo command. I expect there will need to be some investigation of the differences in the installation of centos8 vs centos7, maybe look at the stock installation media to look at how the software repositories are setup. The introduction of modularity and "AppStream" could necessitate some changes in how we setup our ISO and software repositories. From: Bai, Haiqing <Haiqing.Bai@windriver.com<mailto:Haiqing.Bai@windriver.com>> Sent: Monday, December 7, 2020 3:45 AM To: starlingx-discuss@lists.starlingx.io<mailto:starlingx-discuss@lists.starlingx.io> Subject: [Starlingx-discuss] [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues Hi, all: Is there anyone knows why "build-pkgs" and "build-iso" completed successfully and bootimage.iso created, but the target installer has below errors: (I have checked that "python36" and "python36-devel" are in dist/comps.xml and the type is "mandatory" of group ID "platform-controller", "platform-controller-worker", "platform-controller-worker-lowlatency", and the kickstarts cfg files include the related group in "%packages" ). Thanks. ======================================== Error The following software marked for installation has errors. This is likely caused by an error with your installation source. Problem 1: package patch-alarm-1.0-2.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 2: package grubby-8.40-34.el8.tis.1.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 3: package cgcs-patch-1.0-28.tis.x86_64 requires python3-devel, but none of the providers can be installed - conflicting requests - package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Problem 4: package worker-utils-1.0-5.tis.x86_64 requires /usr/bin/python3, but none of the providers can be installed - package worker-utils-1.0-5.tis.x86_64 requires python3, but none of the providers can be installed - conflicting requests - package python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded Press ENTER to continue:
Hi Haiqing Thanks for your investigation.
“#!/bin/sh echo module_hotfixes=true >> ‘/etc/dnf/dnf.conf’” in the “%pre” section of kickstart cfg"
yes, i tried, it invalid. In the end, I had to use "modules.yaml". On 2020/12/9 上午10:32, Bai, Haiqing wrote: You are right, this is caused by the dnf modularity. For just test purpose, do you know whether can adding “#!/bin/sh echo module_hotfixes=true >> ‘/etc/dnf/dnf.conf’” in the “%pre” section of kickstart cfg, I tried but failed to update “/etc/dnf/dnf.conf” on target. Actually the below commit[0] making the normal repodata to module repo with the upstream “modules.yaml”: http://mirror.centos.org/centos/8.1.1911/AppStream/x86_64/os/repodata/1feb2b... this gz file has been deprecated , after updated the above one with the modules.yaml in https://vault.centos.org/8.1.1911/AppStream/x86_64/os/repodata/, the pyton36/python36-devel excluding issue gone, but the same issues for qemu-kvm-ev. I think this can be explained for that “qemu-kvm-ev” is not from vault AppStream, but built locally. This means we have to create module repo for these packages built locally. I found below tools set that can do this: https://github.com/rpm-software-management/modulemd-tools These tools requires that the “libmodulemd” must be upgraded to 2.0 which will cause python “__common_types” issue. I am still working on this. --------------------------------------------------------------------------------------------------- Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient,unauthorized use,forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you. ---------------------------------------------------------------------------------------------------
participants (3)
-
Bai, Haiqing
-
fuyong
-
Penney, Don