Cloud product kernel requirements
Matthew Miller
mattdm at fedoraproject.org
Wed Oct 30 15:04:25 UTC 2013
On Wed, Oct 30, 2013 at 10:07:46AM -0400, Josh Boyer wrote:
> The kernel team has heard in the past that the Cloud group would like
> to see something of a more minimal kernel for usage in cloud images.
> We'd like to hear the requirements for what this smaller image would
> need to cover.
I think the main four cases are:
1. Running inside a container
2. Running as a typical guest in a private or public cloud
3. Running as a special guest in the same
4. Running on bare metal (as compute node or possibly host node)
Case 1 is easy -- no kernel, no problem.
Case 2 is everything needed to boot and get network, console output, and
normal storage under KVM, Xen (especially as used in EC2), VirtualBox, and
VMware. (With priority to the first two.) This *could* be split further,
making a distinction between cloud providers, but there's diminishing
returns for effort.
Case 3 covers things like PCI passthrough or running a remote desktop where
you want virtual sound card support. For this, I think it's perfectly fine
to say "add the extra drivers pack".
Case 4 could use a bit more discussion. *Mostly*, I think we can either say
that this is the same as case 3 or that we will just use whatever Fedora
Server does in this case (if different). However, I know oVirt Node (and
probably also OpenStack node) is concerned with image size on bare metal.
This would be a good time for anyone interested in that as a focus to chime
in.
More responses below....
[...]
> various things) is about 11MB. Drivers can be trimmed to a degree,
> but please keep in mind that the kernel is already relatively small
> for the functionality it provides. For example, it is not much bigger
> than glibc-common (119MB).
Most of that in glibc-common is translations, so that's one of the other
things we're working on tackling.
> 1) We're mostly talking about packaging here, not building a separate
> cloud kernel package or vmlinux. The kernel team really wants to have
> a single vmlinux across the 3 products if at all possible. We can't
> scale to much else.
Yeah. That also has ripple-effect benefits beyond just the core kernel team
(QA, documentation...).
> 2) What usecases is the cloud image going to cover? E.g. is it just
> virtio stuff, or will it also fit PCI passthru (which then requires
> drivers for those PCI devices)?
We'll need to develop this in more detail beyond the four general cases
above. Possibly one of our first trac tickets. :)
> 3) What are the common provisioning requirements that are driving the
> size reduction? (See comment about glibc-common.
Main drivers are network traffic, provisioning speed, and density. With
probably a smidgen of marketing thrown in.
> I would think
> change is needed in multiple packages, not just the kernel.)
Yes -- kernel, docs, i18n, python, and then various small changes which add
up. Not necessarily in that order -- docs and i18n are actually bigger, and
because they apply in the container case, more important.
> 4) Other "cloudy" stuff that I'm entirely unaware of that might be
> relevant. Explain it to me like I'm a child.
I hope the above is a good start, and I hope others can chime in what what
I've missed.
--
Matthew Miller ☁☁☁ Fedora Cloud Architect ☁☁☁ <mattdm at fedoraproject.org>
More information about the cloud
mailing list