[node-devel] Node Design ideas - And what you would like to see in or how you would like to see Node

Doron Fediuck dfediuck at redhat.com
Fri Apr 25 07:53:58 UTC 2014


Sharing with ovirt devel list to get additional awareness.

----- Original Message -----
From: "Fabian Deutsch" <fabiand at redhat.com>
To: "node-devel" <node-devel at ovirt.org>
Sent: Thursday, April 24, 2014 5:57:07 PM
Subject: [node-devel] Node Design ideas - And what you would like to see in or how you would like to see Node

Hey,

lately - well for some time now - I noticed how often I asked myself why
we had this or that bug, or why it was so hard to implement some
features.

For example. Getting iSCSI and EFI right in our installer is still
"fragile". Because it's hard to get right.
Or enabling and disabling services easily with standard tools at runtime
on our Fedora based images is not possible, because it's not easily
implementable with bind mounts (well, cumbersome).
Or enable "live plugins" - plugins which can be installed at runtime.
They are also difficult because of our use of bind mounts.

Because of this I thought about how we could - from the ground up -
change some designs to leverage more existing code (and have less code
to maintain) and make some feature development easier.

The two areas I looked at are already mentioned. It's the (a) installer
- which is complex because of all the storage enumeration [0], EFI,
iSCSI and it's age - and (b) how we work with the read-only rootfs - aka
the LiveCD based design.

For (a) I looked into Fedora's anaconda [1]. It has support for EFI,
iSCSI and so one. Even high-level features to configure networking or
add users (for which we also maintain some code).

And for (b) I thought about a design based around LVM and thin volumes
[2][3].

But changing parts of Node might result in Node having different
properties.
For example - Using the LVM based approach above would increase the size
of the runtime rootfs to ~1GB. OTOH it would allow an arbitrary number
of "layers" (for e.g. live plugins).

And thus - before I start to think (only to think) about bigger changes
in Node - I would like to know what properties of Node _you_ like, and
which you would like to keep.

Some ideas about what you could like or not:
- installation size (~250MB)?
- runtime size (~250MB)?
- way of installation (kargs)?
- TUI (simple instaler, setup)?
- "firmware-like" feeling (read-only rootfs)?
- ...

And also - what changes you would like to see which ain't there yet!

Greetings
fabian

--
[0]
http://gerrit.ovirt.org/gitweb?p=ovirt-node.git;a=blob;f=src/ovirtnode/storage.py
[1] https://github.com/fabiand/imgbased/
[2] https://git.fedorahosted.org/cgit/anaconda.git/
[3]
http://dummdida.tumblr.com/post/82392428141/imgbased-or-keeping-the-nature-of-node





More information about the node-devel mailing list