initscripts

Dan Williams dcbw at redhat.com
Tue Jan 27 20:10:33 UTC 2015


On Tue, 2015-01-27 at 14:50 -0500, Nico Kadel-Garcia wrote:
> On Sun, Jan 25, 2015 at 12:40 PM, Adam Williamson
> <adamwill at fedoraproject.org> wrote:
> > On Sun, 2015-01-25 at 08:49 -0500, Nico Kadel-Garcia wrote:
> >
> >> * KVM bridge configuration
> >
> > Works fine in F21+, I'm using NM on both my main desktop/test box and
> > my server VM host.
> 
> Testing now on a VM, with the Fedora 21 Workstation. Getting the gui's
> to work after installation with the "Server" installation ISO than I
> could spend, even after I brought in enough debris to get a GUI
> screen.
> 
> I'll also point out that with either installation, it's unusably slow,
> it's unusably slow as a VM on a 2 GHz server with a pretty good ATI
> video card and 2 Gig of RAM allocated, so that makes testing awkward
> for me. I can switch window managers to something remotely sane, but
> then I lose the complex integration that makes the NetworkManager
> configuration utilities available.
> 
> The modern anaconda tools and NetworkManager do indeed have access to
> installation time configuration of tagged VLAN's and pair bonding,
> although the interface is quite poor. Please refer to Eric Raymond's
> old essay on "The Luxury of Ignorance" for guidelines on why it is so
> poor, the lack of display of "what am I going to change from the
> current status" is merely one of its many issues, and the lack of a
> usable 'Help' key is pretty serious.

I'll assume you're talking about either anaconda or nm-connection-editor
here?  eg, the GUI tools?

> Bridges for KVM are not supported. What is apparent is that
> NetworkManager supports 'DCB', data center bridging. That's a
> different technology. And that puts us right into one of the
> guidelines Eric added to his essay as a postscript:

Not sure what you mean about bridges for KVM not being supported.  NM
can create bridges/bonds/vlans/teams/etc and assign slaves to any of
them, and also set up a NAT-ed configuration much like libvirt does for
a bridge.  Obviously there needs to be a way for the kvm/qemu instance
to figure out what interface to use for connecting the guest, but that's
somewhat out of scope for NetworkManager.  

>          Are there settings you can do from the command line or
> hand-editing config files that cannot be done from the GUI? Are they
> documented anywhere? Does using the GUI erase these settings?

Yes, there are things the GUI cannot do that nmcli and text files can
do.  The GUIs present in GNOME Shell and nm-connection-editor are not
intended to expose the full configuration possibilities of
NetworkManager, much like you don't expect a GUI to expose all the
options in apache or freeradius configuration.  For that, you can use
your favorite text editor along with 'man', or the built-in nmcli help.
We don't plan to significantly duplicate all the functionality of nmcli
or config files in nm-connection-editor, since that's not the target
audience of the tool.

Yes, there could be GUI online help for nm-connection-editor that
explains everything that it cannot do, but that misses the most of the
point of a general purpose GUI.  A more server-oriented GUI (like
Cockpit) could certainly expose more of the server-oriented
configuration options.

Note that nm-connection-editor has tooltips that give more information
about what most of the options are.  You may find these useful.

> I have to admit that I remain pretty unhappy with NetworkManager. It's
> a complex GUI on top of the underlying actual iinit scrupts, it
> doesn't do a good job of exposing the available options and there's no
> usable 'help' interface. Altogether, I'm afraid I have to classify it
> as a "bad tool" and recommend strongly against it for producton use.
> It's also partly why I try to put 'NM_CONTROLLED=no' in every
> /etc/sysconfig/network for servers that I work with.

nmcli (the command-line tool) has what I would consider very good
built-in help when modifying configuration.  eg, "nmcli con edit <name |
UUID>" and then "desc dcb.app-fcoe-flags" will give you a description of
what that is and what values are allowed.  Obviously it can always be
better.

There are also detailed manpages for nmcli, that refer you to
nmcli-examples(5), nm-settings(5), and others.

We're happy to take concrete suggestions on how to improve the
documentation, both in the manpages, GUI tooltips, nmcli interactive
help, etc.

Dan



More information about the devel mailing list