OpenNebula / one

The open source Cloud & Edge Computing Platform bringing real freedom to your Enterprise Cloud 🚀
http://opennebula.io
Apache License 2.0
1.22k stars 478 forks source link

Generate a CD-ROM with the packages inside for every release #5976

Open jmelis opened 7 years ago

FlorianHeigl commented 6 years ago

Hi @vholer I would sponsor at least part of this development. If that helps.

vholer commented 6 years ago

Hi Florian, please can you more describe your use case? Release just ISO containing all the packages of particular release shouldn't be much problem, but still the packages have dependencies on the distribution packages, and I don't see much chance in mirroring them into the ISO so that the distribution of the packages is self-contained, installable without the network connection. Thanks.

FlorianHeigl commented 6 years ago

Hi Vlastimil,

the use case summarized: any imported image, any base OS install from a CD does not have working networking unless one uses a MAC-based network. But for prod use people will normally want to have 'normal' IP-based networks. OpenNebula reserves the IP, and attaches a context ISO. The context ISO is not usable without the packages, and so users have to go through a extremely bad experience, and possibly they have to do so multiple times as their rescue attempts fail. The goal is to cut this short by including the most critical piece on the ISO. Only if we do this they can shovel their way out only using a VM console. Otherwise they have to "ah DAMN" start trying to make/attach ISOs themselves, or manually set up the networking. It's enough to make them run.

I think we should first just try to have the packages on the ISO, document that and see if it helps already. Based on the result, one can work on the additional options later.

Some fine print:

yeah it would be problematic to leave the package manager in an incomplete state. besides that though, keep in mind that the default state (no networking) is worse than any possible outcome of attempting to get networking.

if we look at other solutions (ignoring those solved by cloud-init) like vmware or xenserver:

it would be needed to investigate which distribution-packages are not in a "base" install of the respective distro. (minimal, handcrafted installs don't really matter since they get generated by someone who can just add the context packages and dependencies)

a user-friendly solution would also include the virtio drivers for windows, so they can be imported in rescue modes and during install, allowing people to properly use virtio disks. IIRC xen works even without PV disk drivers, just slow, which can increase the install/repair times, but the main thing here is: if we just need to drop a file on the iso and it solves stuff for people, it should be considered.

an alternative to the dependency issue would be to have a extracted checkout of the repo, and document the command to do things.

say, a command that then mimicks the cdrom udev rule, and then runs all of /mnt/cdrom/etc/one-context.d/* failing commands would fail but visibly, and networking would likely be ok. people can then install the context package from sources. but this is not a nice thing...

personally, i'd say we could put the packages there and a script which

I think the windows context can be just included and will work. Having 20kb of drivers in place would probably make it more useful though. And I'm quite sure a sysadmin running Windows would expect it.

vholer commented 6 years ago

Hi Florian,

thank you for such detailed description. Let's start the easy way, for the next context release we'll try to release the ISO just with the context packages and get some more feedback. As the Linux and Windows packages have their own release process, let's have one ISO for each platform for this time.

But, if you are still willing to sponsor this development and have more work done following your ideas, please contact Tino cvazquez@opennebula.systems to discuss this as a part of the Fund a Feature program.

Thank you, Vlastimil

OpenNebulaSupport commented 1 year ago

Also, it would be interesting to be able to update critical virtualization related drivers like virtio drivers.

atodorov-storpool commented 1 year ago

addon-storpool tm/context already supports adding the contextualization packages to the context iso... https://github.com/OpenNebula/addon-storpool/blob/master/tm/storpool/context#L120

rsmontero commented 1 year ago

That's a good idea indeed! and probably easier to maintain/distribute...