Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: Ability to import Fedora netinst iso #3625

Open
opoplawski opened this issue Feb 25, 2024 · 3 comments
Open

RFE: Ability to import Fedora netinst iso #3625

opoplawski opened this issue Feb 25, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@opoplawski
Copy link
Contributor

Is your feature request related to a problem?

I'm not entirely sure what the best approach here is, but figured I would put it out here for discussion.

Currently importing a Fedora netinst iso fails with:

$ sudo cobbler import --arch x86_64 --breed redhat --os-version 39 --path=/mnt --name fedora-39
task started: 2024-02-24_171529_import
task started (id=Media import, time=Sat Feb 24 17:15:29 2024)
import_tree; ['/mnt', 'fedora-39', None, None, None]
importing from a network location, running rsync to fetch the files first
running: rsync -a  '/mnt/' /var/www/cobbler/distro_mirror/fedora-39-x86_64 --progress
received on stdout: sending incremental file list
No signature matched in /var/www/cobbler/distro_mirror/fedora-39-x86_64
Exception occurred: <class 'cobbler.cexceptions.CX'>
Exception value: 'No signature matched in /var/www/cobbler/distro_mirror/fedora-39-x86_64'
Exception Info:
!!! TASK FAILED !!!

It also leaves the copied files in /var/www/cobbler/distro_mirror/fedora-39-x86_64 - which is probably good for cases where we will update the signatures and re-import - but it probably should be stated explicitly.

Provide a detailed description of the proposed feature

I think it would be helpful to be able to specify:

 cobbler import --arch x86_64 --breed redhat --os-version 39 --path=/mnt --name fedora-39 --ksmeta=tree=http://download.fedoraproject.org/pub/fedora/linux/releases/39/Everything/x86_64/os/

and end up with from cobbler distro report:

Name                           : fedora-39-x86_64
Architecture                   : x86_64
Automatic Installation Template Metadata : {'tree': 'http://download.fedoraproject.org/pub/fedora/linux/releases/39/Everything/x86_64/os/'}
TFTP Boot Files                : {}
Boot loaders                   : <<inherit>>
Breed                          : redhat
Comment                        :
Fetchable Files                : {}
Initrd                         : /var/www/cobbler/distro_mirror/fedora-39-x86_64/images/pxeboot/initrd.img
Kernel                         : /var/www/cobbler/distro_mirror/fedora-39-x86_64/images/pxeboot/vmlinuz
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Management Classes             : []
OS Version                     : fedora39
Owners                         : <<inherit>>
Redhat Management Key          : <<inherit>>
Remote Boot Initrd             :
Remote Boot Kernel             :
Template Files 

Alternatives you've considered

The current way we define netinst distros is with:

EL7 currently only recognizes up to fedora30

# EL7 currently only recognizes up to fedora30
cobbler distro add --name ${distro}-${rel}-${arch}  --arch=${arch} --breed=redhat --os-version=fedora30 --comment=${distro}${rel} --initrd=/data/repos/${distro}/${releases}/${rel}/${prod}/${arch}/os/images/pxeboot/initrd.img --kernel=/data/repos/${distro}/releases/${rel}/${prod}/${arch}/os/images/pxeboot/vmlinuz --ksmeta=tree=https://${distro}.{{ repos_domain }}/releases/${rel}/${prod}/${arch}/os

This requires you to have either downloaded the kernel and initrd files.

@opoplawski opoplawski added the enhancement New feature or request label Feb 25, 2024
@SchoolGuy
Copy link
Member

@opoplawski Would you agree that this is a duplicate of #2623? If not I would be interested in what differentiates this request from the other one.

@opoplawski
Copy link
Contributor Author

So #2623 if you include #2623 (comment) would be a superset of this request. However, I'm not sure how useful a really large "recognize everything" issue is. Different ISOs may require different handling and different approaches. Personally I would suggest having separate issues for each type with it's own use case and justification.

While looking to see if it would be possible to recognize the Fedora netinst ISO for what it is, I did find this:

/EFI/BOOT/grub.cfg:

menuentry 'Install Fedora 39' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Fedora-E-dvd-x86_64-39 quiet
        initrdefi /images/pxeboot/initrd.img
}

So we would need to parse that file.

@SchoolGuy
Copy link
Member

Okay that file seems reasonable but that file doesn't indicate that this is a netinstall ISO. We just see that this image is a fedora 39 image which should be recognized already if the correspondig signature file is updated and it is a full DVD image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants