Am 23.03.2023 um 13:17 schrieb mkolman(a)redhat.com:
On Wed, 2023-03-22 at 16:15 +0100, Peter Boy wrote:
>
>
>> Am 22.03.2023 um 12:59 schrieb mkolman(a)redhat.com:
>>
>> Hi!
>>
>> Recently we have been looking at this bug, currently reported on
>> Anaconda:
>>
>>
https://bugzilla.redhat.com/show_bug.cgi?id=2178508
>>
>> "missing packages:nvme-cli during the installation of Fedora 38 Server
>> Beta"
>>
>> In short, what happens is that starting with Blivet (the storage
>> library used by the Anaconda installer) 3.7.0 the nvme-cli tool will be
>> proposed for installation when NVME hardware is detected at
>> installation time.
>>
>> This effectively boils down to the nvme-cli package being added to the
>> installation RPM transaction.
>>
>> This works correctly on netinst images, as the nvme-cli package is
>> available from the Fedora online repositories. But it fails on the F38
>> Server DVD image, as nvme-cli is *not* present in the on-media
>> repositories.
>>
>> My question is - how are the DVD image repositories defined ? How can
>> the nvme-cli package be added to them ?
>
>
> As Stephen Smoogen already noted, the DVD as well as the net install pull in packages
as defined in the comps files as he noted.
>
> If the net install includes the file but the DVD not, then the cause is most likely a
dependency issue. DVD and NET installation handle dependencies differently. Net
installation includes all types of dependencies, but DVD installation does not. If I
remember correctly, weak dependencies are not taken into account. See
https://pagure.io/fedora-server/issue/32
In this case the dependency is dynamically generated at runtime - if Blivet find the
right NVME hardware on the target system, it will request the nvme-cli package to be
installed. For this to work, the nvme-cli package needs to be present on the DVD image
repos. So to fully solve this issue, I think we will have to somehow hardwire the package
to be included in the DVD repos, as regular "static" dependencies are not
directly in play here.
OK, that’s a different issue. Looking around to find a suitable location in the server
kickstart files, I found the following in comps: (pagure.io/fedora-comps - f38)
comps-f38.xml.in: Note: The anaconda-tools group lists packages that anaconda might
comps-f38.xml.in: anaconda environment. If a package is needed in anaconda's
runtime
comps-f38.xml.in: environment it should be listed as a dependency of the anaconda
comps-f38.xml.in: <id>anaconda-tools</id>
comps-f38.xml.in: <packagereq
type="mandatory">kdump-anaconda-addon</packagereq>
comps-f38.xml.in: <id>critical-path-anaconda</id>
comps-f38.xml.in: <_name>Critical Path (anaconda)</_name>
comps-f38.xml.in: <_description>A set of packages that provide the Critical Path
functionality for installing Fedora with anaconda</_description>
comps-f38.xml.in: <packagereq
type="mandatory">anaconda</packagereq>
comps-f38.xml.in: See
https://github.com/rhinstaller/anaconda/commit/a475dd0194df7abf0453786fc0...
Did you already add the nvme-cli package to the anaconda-tools? As I understand, that way
the package would become part of the Anaconda runtime and included in the installation
medium. That might be a better way as to include it into the files to be installed on
every Fedora Server to be created, regardless whether it is needed.
>
> It is best to ask Stephen Gallagher of Server WG. He also solved a similar problem
with Cockpit previously at the time in minutes, without causing collateral damage (as
others did, unfortunately). I'll put him into CC.
>
>
>
>
>
> --
> Peter Boy
>
https://fedoraproject.org/wiki/User:Pboy
> pboy(a)fedoraproject.org
>
> Timezone: CET (UTC+1) / CEST (UTC+2)
>
>
> Fedora Server Edition Working Group member
> Fedora docs team contributor
> Java developer and enthusiast
> _______________________________________________