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/1feb2b0b68761a17ebdf1084518e3f53cec4ec5f317dc1dc7c780a2b041ec3b6-modules.yaml.gz

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/1feb2b0b68761a17ebdf1084518e3f53cec4ec5f317dc1dc7c780a2b041ec3b6-modules.yaml.gz

 

    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>
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: