ginger-dev-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ginger-dev-list] Regarding network management tool for ginger host


From: Chandra Shehkhar Reddy Potula
Subject: Re: [Ginger-dev-list] Regarding network management tool for ginger host network functionalities
Date: Thu, 3 Sep 2015 14:20:32 +0530
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0



On 09/03/2015 02:22 AM, Daniel Henrique Barboza wrote:


On 09/02/2015 04:27 PM, Abhiram Kulkarni wrote:

Hi Team,

I was going through ginger backlogs, saw that network bonding management was one among them. So i started investigation on this topic.

With respect to host network management currently i can think of below ways to manage via
1)ip commands(iproute)

This is reliable, but will require some work binding them in python using wok's run_command
or even subprocess.Popen()

2)via ifcfg(manually modify the network scripts)
3)network manager by executing nmcli commands

This is somewhat similar, implementation wise, to (1) but using nmcli command line instead of
iproute2.

4)python network manager via dbus https://pypi.python.org/pypi/python-networkmanager this needs investigation(any inputs ?? )
5)any other way??


I've investigated doing the dbus calls to network manager using dbus-python. The reason
is that the python-networkmanager module you've mentioned in (4) is no longer supported
or maintained. It will require some work understanding the DBUS API from network manager,
but I believe this can be a solid approach.

This same analysis goes for the networkmanager using nmcli, although using nmcli looks easier
than via DBUS ...


-->iproute is not persistent that is once the system reboot the configuration made is no more. This can be used along with manual modification of network scripts to make it persistent.


I think none of these approaches are persistent. And this raises a question: does it need to be
persistent all the time? Perhaps we can allow some network operations be 'soft state' and  then
provide an option to write the current IPs into the config files?

I investigated little bit about a tool which makes the configurations persistent.  There is a tool called system-config-network, which helps in persisting the configuration.
https://fedoraproject.org/wiki/SystemConfig/network
https://git.fedorahosted.org/cgit/system-config-network.git/commit/?id=ad679976f4071811899c77fbb0748b8c16366213

Again I have not looked deeper on whether this tool is supported.

.
-->Network manager is the best available option as most of the latest distros available are supporting the same. we can exploit nmcli commands to get our network functionalities done.
If any feature is not supported  by network manager then we go ahead with manual way for those specific cases.

-->If the network manager is not supported in any specific version of distro we can go ahead with manual way of configuration using ifcfg...


I would prefer to go for a single approach that works in all the distros we want to support.
I fully agree with your proposal, Considering NetworkManager/wicd on fedora/redhat/ubuntu/debain, YAST on OpenSuSE and many more other tools.


Can someone  please point me the different distros with version that ginger officially is planning to support or supporting?
My suggestion is use network manager or any other default tools that comes with OS as much as possible rather than reimplementing everything fresh.


Perhaps this is something work mentioning in the wiki. Our idea is to make a best effort
to support any distro, but we'll take our design/dependencies decisions thinking about
supporting Fedora 20+ and Ubuntu 14+ (and whatever Debian version is equivalent to
Ubuntu 14). If a given package belongs to the official Fedora 20+ and Ubuntu 14+ repo,
we can definitely use it in Ginger.

Only thing I would look further and understand better is do we really have to go to lower level ip/ifcfg/iproute etc for network configuration (since these tools are common across the distros) or leverage the existing tools in achieving the same, whichever is the best.


Let me know your thoughts.

Thanks
Abhiram




reply via email to

[Prev in Thread] Current Thread [Next in Thread]