Node is moving.

Blueprint{width=”500” height=”333”}

We visited project atomic and the btrfs idea of the systemd cabal. The first does not really fit and has issues in our usecase, the latter is very bleeding edge. We visited them to evaluate them for the next-gen Node.

But before we come to approaches, let’s take a brief look at some issues. Node is everything. An image, an installer, a configuration UI, a way of how a system can run. And that makes it hard to develop, maintain, test and cumbersome to use. But I should note that it is doing it’s job well, beeing stable at runtime.

We believe that Node can be improved if we delegate responsibilities to individual (existing) components. A drawback of this will be that removing the high integration and going over to a more modular approach will likely increase the size of the currently very small (~250MB) image.

In the next generation of Node, we are looking at the components to be used in parts of Node

  • anaconda to replace our own installer,
  • puppet to do the system configuration (locally and central) instead of using our own classes,
  • livemedia-creator (oz/imagefactory) to build the appliance (and iso), and
  • imgbased to take care of persistence and multiple-images.

It is not yet set in stone. But the investigations we do are looking promising. And not everything will change: Likely we’ll keep our ovirt-node-setup TUI (but we are also having an eye on anaconda’s initial-setup).

The outcome we expect is

  • less installer problems and maintenance burden as we rely on anaconda
  • less configuraiton bugs as we reuse the well maintained puppet classes, and can also contribute to them
  • less build problems because livemdia-creator is running the builds in isolated VMs
  • better runtime experience for users, because the filesystem will be writable
  • easier to integrate 3rd parties, because we aim to make the persistence transparent
  • better testability by delegating responsibilities
  • more distro agnostic

The biggest drawback will be the increased size. We don’t know yet where we will land, but lets throw 1 GB into the air. We will also - obviously

  • be much more dependent on other components - but we don’t fear that.

Much to come, and we are just starting. If you want to join, reach out to us on irc://irc.oftc.net/#ovirt or irc://irc.freenode.net/#ovirt-node.

::: {#footer} [ September 11th, 2014 10:44am ]{#timestamp} [ovirt]{.tag} [node]{.tag} [anaconda]{.tag} [lorax]{.tag} [puppet]{.tag} [fedora]{.tag} :::