[node-devel] Looking at allowing different network topologies in Node

Fabian Deutsch fabiand at redhat.com
Thu May 23 14:20:59 UTC 2013


Hey,

during a discussion on the arch list (and a request by the Engine team)
the need for a node without it's "default bridge" was raised.
Typically Node is creating a bridge for the to be configured NIC (which
results in a bridge named "br$SLAVE_IFNAME", where SLAVE_IFNAME is the
name of the actual NIC).

It's a central assumption in Node that such a bridge exists, and this is
reflected in the number of places where this bridge plays a role.

- networking -
* Obviously is the code for creating the bridge just handling this
topology.
* The function get_system_nics() does a lot of information merging to
build a coherent model (so to merge the SLAVE NIC and bridge
informations into one model)
* The cleaning of the current network setup expects the bridge
* This module is used in the installer and setup

- init/stateless -
* The stateless code has it's own logic to setup networking (using the
bridge topology).
* The iscsi code is also reusing infos related to the bridge

- tui -
* The tui code - which is also a start to consolidate and refactor the
existing code base - has similar problems as the networking module
above.

So, the code related to "the bridge" is large areas of Node's code base.
And central points like all auto-installation paths and the whole TUI ,
especially the network configuration.

Surely it's possible to change the code to have the current behavior as
default (to have backwards compatibility) and to switch to the
no-bridge-but-single-NIC topology using some flag. But this change is
rather invasive and testing the changes is another big challenge.

In general I don't have any objections in allowing the simplified
topology.


Greetings
fabian




More information about the node-devel mailing list