Go to file
Roopa Prabhu 522bf8e68b Fix bash completion for sudo users (mostly cosmetic) + man page and
example fixes

Ticket: CM-2911
Reviewed By: CCR-1637
Testing Done: tested ifupdown2 sanity and bash completion

The python argcomplete module that i use for ifupdown2 has a limitation
that it does not work with sudo when used in the global mode. But there is
a workaround for it online (long story short...instead of enabling the global
argparse complete ...the author recommends registering argparse complete bash
completion individually for your script). This patch does just that.

This patch also moves the udev overrides to their respective packages.
Two of them are owned by ifupdown2.

Conflicts:
	rootconf/default/home/cumulus/sysroot-complete
2014-06-10 19:31:50 -07:00
completion Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
config make a few things configurable (check output err/success string + 2014-05-09 09:10:49 -07:00
debian Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
docs/examples Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
init.d Use closefds=True and shell=True when executing usercmds 2014-06-01 11:12:06 -07:00
man.rst Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
pkg Fix query-check object for interfaces with multiple iface sections 2014-05-31 21:52:16 -07:00
sbin Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
scripts Fix build failure 2014-02-14 11:13:09 -08:00
tests state manager test 2014-03-27 16:53:32 -07:00
KNOWN_ISSUES more fixes + cleanup + support for --exclude argument 2013-11-13 16:07:15 -08:00
README A whole lot of fixes and some new code (needs some cleanup which will be 2014-01-30 19:53:25 -08:00
setup.py Fix bash completion for sudo users (mostly cosmetic) + man page and 2014-06-10 19:31:50 -07:00
stdeb.cfg python-ifupdown initial checkin 2013-11-04 06:06:11 -08:00
TODO Fixes to some corner cases + support for some missing 'options and 2014-04-18 14:09:20 -07:00

python-ifupdown2
================

This package is a replacement for the debian ifupdown package.
It is completely re-written in python. It maintains the original ifupdown
pluggable architecture and extends it further.

The python-ifupdown2 package provides the infrastructure for
parsing /etc/network/interfaces file, loading, scheduling and state
management of interfaces.

It dynamically loads python modules from /usr/share/ifupdownmodules (provided
 by the python-ifupdown2-addons package). To remain compatible with other
packages that depend on ifupdown, it also executes scripts under /etc/network/.
To make the transition smoother, a python module under
/usr/share/ifupdownmodules will override a script by the same name under
/etc/network/.

It publishes an interface object which is passed to all loadble python
modules (more details about the interface object is available in the
python docs).


pluggable python modules:
=========================
Unlike original ifupdown, all interface configuration is moved to external
python modules. That includes inet, inet6 and dhcp configurations.

It expects a few things from the pluggable modules:
- the module should implement a class by the same name
- the interface object (class iface) and the operation to be performed is
  passed to the modules
- the python class should provide a few methods:
	- run() : method to configure the interface.
	- get_ops() : must return a list of operations it supports.
		eg: 'pre-up', 'post-down'
	- get_dependent_ifacenames() : must return a list of interfaces the
	  interface is dependent on. This is used to build the dependency list
	  for sorting and executing interfaces in parallel.

install instructions
====================
- remove existing ifupdown package
    dpkg -r ifupdown

- download python-ifupdown2*.deb's and install

- or apt-get from testing repo
    apt-get install python-ifupdown2
    apt-get install python-ifupdown2-addons

- or install from deb
    dpkg -i python-ifupdown2-<ver>.deb
    dpkg -i python-ifupdown2-addons-<ver>.deb


extra packages to use addional packages:
======================================

To use templates install python-mako (from wheezy):
    apt-get install python-mako

To generate dot files install python-gvgen (from wheezy):
    apt-get install python-gvgen