...
What were you trying to do that didn't work? One of our customer is facing an issue with Image builder fails when he add a customization to the blueprint for a particular functionality which requires a certain package when he also at the same time specify a non-latest version of package in the [[package]] section. Meaning if we add a customization for oscap as per below and at the same time I also specify a particular version of "scap-security-guide" which this customization is about it fails during starting of compose with depsolve error. [[packages]] name = "scap-security-guide" version = "0.1.69-2.el8_8" [customizations] [customizations.openscap] datastream = "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml" profile_id = "xccdf_org.ssgproject.content_profile_cis_server_l1" The failure only happen during start of the compose and not if we directly run the depsolve on the blueprint. For example the following blueprint fails with this error the error during image creation using command "composer-cli compose start" , however "composer-cli blueprint depsolve" does complete. # composer-cli blueprints show test-blueprint name = "test-blueprint" description = "This is test blueprint" version = "0.0.8" modules = [] groups = [] distro = "" [[packages]] name = "open-vm-tools" version = "*" [[packages]] name = "openscap-scanner" version = "*" [[packages]] name = "scap-security-guide" version = "0.1.69-2.el8_8" [[packages]] name = "bash-completion" version = "*" [customizations] [customizations.openscap] datastream = "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml" profile_id = "xccdf_org.ssgproject.content_profile_cis_server_l1" # composer-cli blueprints depsolve test-blueprint | grep openscap openscap-1.3.8-1.el8_8.x86_64 openscap-scanner-1.3.8-1.el8_8.x86_64 # composer-cli compose start test-blueprint qcow2 ERROR: DepsolveError: DNF error occurred: DepsolveError: There was a problem depsolving dracut-config-generic, grub2-pc, dracut-config-generic, efibootmgr, grub2-efi-x64, shim-x64, kernel, xfsprogs, dosfstools, selinux-policy-targeted, openscap-scanner, scap-security-guide, @core, authselect-compat, chrony, cloud-init, cloud-utils-growpart, cockpit-system, cockpit-ws, dhcp-client, dnf, dnf-utils, dosfstools, dracut-norescue, net-tools, NetworkManager, nfs-utils, oddjob, oddjob-mkhomedir, psmisc, python3-jsonschema, qemu-guest-agent, redhat-release, redhat-release-eula, rsync, tar, tcpdump, yum, insights-client, subscription-manager-cockpit, open-vm-tools, openscap-scanner, scap-security-guide-0.1.69-2.el8_8, bash-completion: Problem: cannot install both scap-security-guide-0.1.72-2.el8_9.noarch from 2163ebd64d10f2f608a6c44fd0e4e568905e78297f01e7185f1ec67ce57a7657 and scap-security-guide-0.1.69-2.el8_8.noarch from 2163ebd64d10f2f608a6c44fd0e4e568905e78297f01e7185f1ec67ce57a7657 - conflicting requests If we note the depsolve error we see that it has added the "openscap-scanner" and "scap-security-guide" package twice to the list package the passed to depsolve. The last four package being the ones which we added to our blueprint and it also contains the version of rpm packages So to me it seems like because of the openscap customization , the composer itself added these two packages "openscap-scanner, scap-security-guide" to be included without specify version likely meaning the latest version of these packages. While also added the these two packages we specified with the version we specified "open-vm-tools, openscap-scanner, scap-security-guide-0.1.69-2.el8_8, bash-completion" Because of this since a package is requesting both latest version of scap-security-guide and scap-security-guide-0.1.69-2.el8_8 it fails with the conflict. So seems like that the package list parser which is built by composer only keeps appending new packages to the last rather than overriding the package version if it already existing in the list before. I can also reproduce this with chrony package, I can reproduce the similar issue with chrony package as well based on experimentation, where I add a chrony customization # composer-cli blueprints show test-blueprint-2 name = "test-blueprint-2" description = "This is test blueprint" version = "0.0.1" modules = [] groups = [] distro = "" [[packages]] name = "open-vm-tools" version = "*" [[packages]] name = "bash-completion" version = "*" [[packages]] name = "chrony" version = "3.5-2.el8" [customizations] [customizations.timezone] timezone = "US/Eastern" ntpservers = ["0.north-america.pool.ntp.org", "1.north-america.pool.ntp.org"] # composer-cli compose start test-blueprint-2 qcow2 ERROR: DepsolveError: DNF error occurred: DepsolveError: There was a problem depsolving dracut-config-generic, grub2-pc, dracut-config-generic, efibootmgr, grub2-efi-x64, shim-x64, kernel, xfsprogs, dosfstools, chrony, selinux-policy-targeted, @core, authselect-compat, chrony, cloud-init, cloud-utils-growpart, cockpit-system, cockpit-ws, dhcp-client, dnf, dnf-utils, dosfstools, dracut-norescue, net-tools, NetworkManager, nfs-utils, oddjob, oddjob-mkhomedir, psmisc, python3-jsonschema, qemu-guest-agent, redhat-release, redhat-release-eula, rsync, tar, tcpdump, yum, insights-client, subscription-manager-cockpit, open-vm-tools, bash-completion, chrony-3.5-2.el8: Problem: cannot install both chrony-4.2-1.el8.x86_64 from 40cbaed51c9aa89e288365166c54c3539413ab17f57ccecc96dac5330f8b49b7 and chrony-3.5-2.el8.x86_64 from 40cbaed51c9aa89e288365166c54c3539413ab17f57ccecc96dac5330f8b49b7 - conflicting requests This bug also affect RHEL 9.3 image builder. # composer-cli blueprints show test-blueprint name = "test-blueprint" description = "This is test blueprint" version = "0.0.1" modules = [] groups = [] distro = "" [[packages]] name = "open-vm-tools" version = "*" [[packages]] name = "openscap-scanner" version = "*" [[packages]] name = "scap-security-guide" version = "0.1.69-2.el9_2" [[packages]] name = "bash-completion" version = "*" [customizations] [customizations.openscap] datastream = "/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml" profile_id = "xccdf_org.ssgproject.content_profile_cis_server_l1" # composer-cli blueprints depsolve test-blueprint | grep scap -i 1:openscap-1.3.8-1.el9_2.x86_64 1:openscap-scanner-1.3.8-1.el9_2.x86_64 scap-security-guide-0.1.69-2.el9_2.noarch # composer-cli compose start test-blueprint qcow2 ERROR: DepsolveError: DNF error occurred: DepsolveError: There was a problem depsolving dracut-config-generic, grub2-pc, dracut-config-generic, efibootmgr, grub2-efi-x64, shim-x64, kernel, xfsprogs, dosfstools, selinux-policy-targeted, openscap-scanner, scap-security-guide, authselect-compat, chrony, cloud-init, cloud-utils-growpart, cockpit-system, cockpit-ws, dnf-utils, dosfstools, nfs-utils, oddjob, oddjob-mkhomedir, psmisc, python3-jsonschema, qemu-guest-agent, redhat-release, redhat-release-eula, rsync, tar, tcpdump, audit, basesystem, bash, coreutils, cronie, crypto-policies, crypto-policies-scripts, curl, dnf, yum, e2fsprogs, filesystem, glibc, grubby, hostname, iproute, iproute-tc, iputils, kbd, kexec-tools, less, logrotate, man-db, ncurses, openssh-clients, openssh-server, p11-kit, parted, passwd, policycoreutils, procps-ng, rootfiles, rpm, rpm-plugin-audit, rsyslog, selinux-policy-targeted, setup, shadow-utils, sssd-common, sssd-kcm, sudo, systemd, tuned, util-linux, vim-minimal, xfsprogs, authselect, prefixdevname, dnf-plugins-core, NetworkManager, NetworkManager-team, NetworkManager-tui, libsysfs, linux-firmware, lshw, lsscsi, kernel-tools, sg3_utils, sg3_utils-libs, python3-libselinux, subscription-manager, irqbalance, microcode_ctl, insights-client, subscription-manager-cockpit, open-vm-tools, openscap-scanner, scap-security-guide-0.1.69-2.el9_2, bash-completion: Problem: cannot install both scap-security-guide-0.1.72-1.el9_3.noarch from f03fe823506cdce0c813220bcff4687216cdf343f07f02e0b87db214a75962bf and scap-security-guide-0.1.69-2.el9_2.noarch from f03fe823506cdce0c813220bcff4687216cdf343f07f02e0b87db214a75962bf - conflicting requests Do I need to raise separate bug for RHEL 9.3 ? I added it to the affected version here for this bug but my apologies if that is not the correct workflow ? I am unsure how thing work here in Jira. Please provide the package NVR for which bug is seen: RHEL 8.9 rpm -qa | grep -e osbuild -e composer | sort cockpit-composer-47-1.el8.noarch osbuild-93-1.el8_9.1.noarch osbuild-composer-88-1.el8.x86_64 osbuild-composer-core-88-1.el8.x86_64 osbuild-composer-dnf-json-88-1.el8.x86_64 osbuild-composer-worker-88-1.el8.x86_64 osbuild-luks2-93-1.el8_9.1.noarch osbuild-lvm2-93-1.el8_9.1.noarch osbuild-ostree-93-1.el8_9.1.noarch osbuild-selinux-93-1.el8_9.1.noarch python3-osbuild-93-1.el8_9.1.noarch RHEL 9.3 rpm -qa |grep -i -e osbuild -e composer | sort cockpit-composer-47-1.el9.noarch osbuild-93-1.el9_3.1.noarch osbuild-composer-88.3-1.el9_3.x86_64 osbuild-composer-core-88.3-1.el9_3.x86_64 osbuild-composer-dnf-json-88.3-1.el9_3.x86_64 osbuild-composer-worker-88.3-1.el9_3.x86_64 osbuild-luks2-93-1.el9_3.1.noarch osbuild-lvm2-93-1.el9_3.1.noarch osbuild-ostree-93-1.el9_3.1.noarch osbuild-selinux-93-1.el9_3.1.noarch python3-osbuild-93-1.el9_3.1.noarch How reproducible: Every time Steps to reproduce create a below test compose which contains the customization related to oscap at the same time a non-latest version of "scap-security-guide" # composer-cli blueprints show test-blueprint name = "test-blueprint" description = "This is test blueprint" version = "0.0.8" modules = [] groups = [] distro = "" [[packages]] name = "open-vm-tools" version = "*" [[packages]] name = "openscap-scanner" version = "*" [[packages]] name = "scap-security-guide" version = "0.1.69-2.el8_8" [[packages]] name = "bash-completion" version = "*" [customizations] [customizations.openscap] datastream = "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml" profile_id = "xccdf_org.ssgproject.content_profile_cis_server_l1" We see that the depsolve succeeds in this case. # composer-cli blueprints depsolve test-blueprint | grep openscap openscap-1.3.8-1.el8_8.x86_64 openscap-scanner-1.3.8-1.el8_8.x86_64 We see that there depsolve fails when we actually start the compose. # composer-cli compose start test-blueprint qcow2 ERROR: DepsolveError: DNF error occurred: DepsolveError: There was a problem depsolving dracut-config-generic, grub2-pc, dracut-config-generic, efibootmgr, grub2-efi-x64, shim-x64, kernel, xfsprogs, dosfstools, selinux-policy-targeted, openscap-scanner, scap-security-guide, @core, authselect-compat, chrony, cloud-init, cloud-utils-growpart, cockpit-system, cockpit-ws, dhcp-client, dnf, dnf-utils, dosfstools, dracut-norescue, net-tools, NetworkManager, nfs-utils, oddjob, oddjob-mkhomedir, psmisc, python3-jsonschema, qemu-guest-agent, redhat-release, redhat-release-eula, rsync, tar, tcpdump, yum, insights-client, subscription-manager-cockpit, open-vm-tools, openscap-scanner, scap-security-guide-0.1.69-2.el8_8, bash-completion: Problem: cannot install both scap-security-guide-0.1.72-2.el8_9.noarch from 2163ebd64d10f2f608a6c44fd0e4e568905e78297f01e7185f1ec67ce57a7657 and scap-security-guide-0.1.69-2.el8_8.noarch from 2163ebd64d10f2f608a6c44fd0e4e568905e78297f01e7185f1ec67ce57a7657 - conflicting requests Expected results I expect imagebuilder to compose the build with customization we added and that customization not depend on the latest version of package but instead also work with the version we specify in the blueprint. Actual results Currently during image build we see depsolve error when the customization and the package which the customization requires is added with non-latest version.
Unresolved