X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=README.rst;h=c6a5e754f3682bb4889701cf734a1b60a7fa624b;hb=43d3655165445fb43863836f68a076eb2c0c33d5;hp=6187ec0f10fe58d2eb0d8f1e9730d87e087bfb4a;hpb=d6dd6fe653a05dc4fb564e2f06f4fb19de46296c;p=mirror_ifupdown2.git diff --git a/README.rst b/README.rst index 6187ec0..c6a5e75 100644 --- a/README.rst +++ b/README.rst @@ -1,74 +1,162 @@ -python-ifupdown2 -================ - -This package is a replacement for the debian ifupdown package. -It is ifupdown 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/ifupdownaddons. -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/ifupdownaddons will override a script by the same name under -/etc/network/. - -It publishes an interface object which is passed to all loadble python -modules. For more details on adding a addon module, see the section on -adding python modules. - - -pluggable python modules: -========================= -Unlike original ifupdown, all interface configuration is moved to external -python modules. That includes inet, inet6 and dhcp configurations. - -A set of default modules are included in the package. - -python-ifupdown2 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 addon 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 dependency order. - - if the module supports -r option to ifquery, ie ability to construct the - ifaceobj from running state, it can optionally implement the - get_dependent_ifacenames_running() method, to return the list of - dependent interfaces derived from running state of the interface. - This is different from get_dependent_ifacenames() where the dependent - interfaces are derived from the interfaces config file (provided by the - user). - -Example: Address handling module /usr/share/ifupdownaddons/address.py - - -build -===== -- get source - -- install build dependencies: - apt-get install python-stdeb - apt-get install python-docutils - -- cd && ./build.sh - - (generates python-ifupdown2-.deb) - -install +========= +ifupdown2 +========= + +Linux Interface Network Manager + +* Free software: GNU General Public License v2 + +============ +Installation +============ + +As of today (early june 2018), the preferred method to install ifupdown2, is by +building the source code (as it will always install the most recent stable +release). See `Installing latest stable release from sources`_ chapter. + +Installing latest stable release from sources +--------------------------------------------- + +The sources for ifupdown2 can be downloaded from the `Github repo`_. + +You can either clone the public repository: + +.. code-block:: console + + $ git clone git://github.com/CumulusNetworks/ifupdown2 + +Or download the `tarball`_: + +.. code-block:: console + + $ curl -OL https://github.com/CumulusNetworks/ifupdown2/tarball/master + +Once you have a copy of the source, you should build a deb-package and install it + +.. code-block:: console + + $ cd ifupdown2 && git checkout master-next && make deb + +The generated deb should be in the root directory (``../ifupdown2_1.2.1_all.deb``) + +.. code-block:: console + + $ dpkg -i ../ifupdown2_1.2.1_all.deb + +We don't recommend using ``setup.py install`` directly, as it's still missing systemd/init.d scripts. +This capability should be added in the near future. + +You might need to manually download dependencies. Mandatory dependencies: + +.. code-block:: console + + $ apt-get install build-essential devscripts dh-systemd fakeroot python-all python-docutils iproute2 python-ipaddr python-argcomplete python-setuptools + +Suggested dependencies: + +.. code-block:: console + + $ apt-get install ethtool bridge-utils python-gvgen python-mako + +.. _Github repo: https://github.com/CumulusNetworks/ifupdown2 +.. _tarball: https://github.com/CumulusNetworks/ifupdown2/tarball/master + + +============ +Contributing +============ + +Contributions are welcome, and they are greatly appreciated! Every little bit +helps, and credit will always be given. + +You can contribute in many ways: + +Types of Contributions +---------------------- + +Report Bugs +~~~~~~~~~~~ + +Report bugs at https://github.com/CumulusNetworks/ifupdown2/issues. + +If you are reporting a bug, please include: + +* Your operating system name and version (``uname -a``). +* Any details about your setup that might be helpful in troubleshooting. +* Content of configuration files such as ``/etc/network/interfaces`` +* Detailed steps to reproduce the bug. +* Debug output of the ifupdown2 command (see ``--debug`` option) + +Write Documentation +~~~~~~~~~~~~~~~~~~~ + +ifupdown2 could always use more documentation, whether as part of the +official ifupdown2 docs, in docstrings, or even on the web in blog posts, +articles, and such. + +Submit Feedback +~~~~~~~~~~~~~~~ + +The best way to send feedback is to file an issue at https://github.com/CumulusNetworks/ifupdown2/issues. + +If you are proposing a feature: + +* Explain in detail how it would work. +* Keep the scope as narrow as possible, to make it easier to implement. + +======= +Credits +======= + +Development Lead +---------------- + +* Roopa Prabhu +* Julien Fortin + +Contributors +------------ + +* Nikhil Gajendrakumar +* Maximilian Wilhelm +* Sven Auhagen +* skorpy +* Sam Tannous +* Wilson Kok +* John Berezovik +* Daniel Walton +* Anuradha Karuppiah +* Balakrishnan Raman +* Scott Emery +* Dave Olson +* David Ahern +* Jonathan Toppins <> +* Nolan Leake +* Sergey Sudakovich +* Andy Gospodarek <> +* Satish Ashok +* Scott Laffer +* Vidya Sagar Ravipati +* Marek Grzybowski +* Gaudenz Steinlin +* Nigel Kukard +* Jeffrey +* kokel + +Why not you too? :) + + ======= +History +======= + +See changelog here: https://github.com/CumulusNetworks/ifupdown2/blob/master/debian/changelog + -- remove existing ifupdown package - dpkg -r ifupdown +Credits +------- -- install python-ifupdown2 using `dpkg -i` +This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template. -- or install from deb - dpkg -i python-ifupdown2-.deb +.. _Cookiecutter: https://github.com/audreyr/cookiecutter +.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage