On Wed, 2012-02-22 at 17:33 +0200, Doron Fediuck wrote: > On 22/02/12 16:57, Mike Burns wrote: > > There has been a lot of interest in being able to run stateless Nodes > > with ovirt-engine. ovirt-node has designed a way [1] to achieve this on > > the node side, but we need input from the engine and vdsm teams to see > > if we're missing some requirement or if there needs to be changes on the > > engine/vdsm side to achieve this. > > > > As it currently stands, every time you reboot an ovirt-node that is > > stateless, it would require manually removing the host in engine, then > > re-registering/approving it again in engine. > > > > Any thoughts, concerns, input on how to solve this? > > > > Thanks > > > > Mike > > > > [1] http://ovirt.org/wiki/Node_Stateless > > > > Some points need to be considered; > > - Installation issues > > * Just stating the obvious, which is users need > to remove-add the host on every reboot. This will > not make this feature a lovable one from user's point of view.
Yes, this is something that will cause this to be a non-starter. We'd need to change something in the engine/vdsm to make it smoother. Perhaps, a flag in engine on the host saying that it's stateless. Then if a host comes up with the same information, but no certs, etc, it would validate some other embedded key (TPM, key embedded in the node itself), and auto-approve it to be the same state as the previous boot > > * During initial boot, vdsm-reg configures the networking > and creates a management network bridge. This is a very > delicate process which may fail due to networking issues > such as resolution, routing, etc. So re-doing this on > every boot increases the chances of loosing a node due > to network problems. vdsm-reg runs on *every* boot anyway and renames the bridge. This is something that was debated previously, but it was decided to re-run it every boot. > > * CA pollution; generating a certificate on each reboot > for each node will create a huge number of certificates > in the engine side, which eventually may damage the CA. > (Unsure if there's a limitation to certificates number, > but having hundreds of junk cert's can't be good). We could have vdsm/engine store the certs on the engine side, and on boot, after validating the host (however that is done), it will load the certs onto the node machine. > > * Today there's a supported flow that for nodes with > password, the user is allowed to use the "add host" > scenario. For stateless, it means re-configuring a password > on every boot... Stateless is really targeted for a PXE environment. There is a supported kernel param that can be set that will set this password. Also, if we follow the design mentioned ^^, then it's not an issue since the host will auto-approve itself when it connects > > - Other issues > > * Local storage; so far we were able to define a local > storage in ovirt node. Stateless will block this ability. Yes, this would be unavailable if you're running stateless. I think that's a fine tradeoff since people want the host to be diskless. > > * Node upgrade; currently it's possible to upgrade a node > from the engine. In stateless it will error, since no where > to d/l the iso file to. Upgrade is handled easily by rebooting the host after updating the pxe server > > * Collecting information; core dumps and logging may not > be available due to lack of space? Or will it cause kernel > panic if all space is consumed? A valid concern, but a stateless environment would likely have collectd/rsyslog/netconsole servers running elsewhere that will collect the logs. kdumps can be configured to dump remotely as well. > Another concern raised is swap and overcommit. First version would likely disable swap completely. This would disable overcommit as well. Future versions could enable a local disk to be used completely for swap, but that is another tradeoff that people would need to evaluate when choosing between stateless and stateful installs. Mike _______________________________________________ node-devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/node-devel
