1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

few minor documentation cleanups

This commit is contained in:
Roopa Prabhu
2014-07-22 11:50:13 -07:00
parent 2c8c4ce74d
commit 5c7ef82a67
6 changed files with 67 additions and 57 deletions

View File

@@ -6,8 +6,8 @@ for ifupdown2 addon modules to interact directly with tools
like iproute2, brctl etc. like iproute2, brctl etc.
bridgeutils.py bridgeutils
============== ===========
Helper module to work with bridgeutil commands Helper module to work with bridgeutil commands
@@ -15,8 +15,8 @@ Helper module to work with bridgeutil commands
.. autoclass:: brctl .. autoclass:: brctl
ifenslaveutil.py ifenslaveutil
================ =============
Helper module to interact with linux api to create bonds. Helper module to interact with linux api to create bonds.
Currently this is via sysfs. Currently this is via sysfs.
@@ -25,8 +25,8 @@ Currently this is via sysfs.
.. autoclass:: ifenslaveutil .. autoclass:: ifenslaveutil
dhclient.py dhclient
=========== ========
Helper module to interact with dhclient tools. Helper module to interact with dhclient tools.
@@ -34,8 +34,8 @@ Helper module to interact with dhclient tools.
.. autoclass:: dhclient .. autoclass:: dhclient
iproute2.py iproute2
=========== ========
Helper module to interact with iproute2 tools. Helper module to interact with iproute2 tools.

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# ifupdown2 documentation build configuration file, created by # ifupdown2-addons documentation build configuration file, created by
# sphinx-quickstart on Sun Jul 6 23:49:20 2014. # sphinx-quickstart on Mon Jul 21 11:17:17 2014.
# #
# This file is execfile()d with the current directory set to its containing dir. # This file is execfile()d with the current directory set to its containing dir.
# #
@@ -16,15 +16,13 @@ import sys, os
# If extensions (or modules to document with autodoc) are in another directory, # If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the # add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('../../addons')) sys.path.insert(0, os.path.abspath('../../addons'))
sys.path.append(os.path.abspath('../../')) sys.path.append(os.path.abspath('../../'))
sys.path.append(os.path.abspath('../../ifupdownaddons')) sys.path.append(os.path.abspath('../../ifupdownaddons'))
sys.path.append(os.path.abspath('../../../ifupdown2')) sys.path.append(os.path.abspath('../../../ifupdown2'))
#sys.path.insert(0, os.path.abspath('/work/monster-03/roopa/cumulus-2.1-multimac/packages/ifupdown2-addons/pkg'))
#sys.path.append(os.path.abspath('/work/monster-03/roopa/cumulus-2.1-multimac/packages/ifupdown2/pkg'))
#sys.path.append(os.path.abspath('/work/monster-03/roopa/cumulus-2.1-multimac/packages/ifupdown2/'))
# -- General configuration ----------------------------------------------------- # -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here. # If your documentation needs a minimal Sphinx version, state it here.
@@ -32,7 +30,7 @@ sys.path.append(os.path.abspath('../../../ifupdown2'))
# Add any Sphinx extension module names here, as strings. They can be extensions # Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.todo'] extensions = ['sphinx.ext.autodoc']
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ['_templates']
@@ -171,7 +169,7 @@ html_static_path = ['_static']
#html_file_suffix = None #html_file_suffix = None
# Output file base name for HTML help builder. # Output file base name for HTML help builder.
htmlhelp_basename = 'ifupdown2doc' htmlhelp_basename = 'ifupdown2-addonsdoc'
# -- Options for LaTeX output -------------------------------------------------- # -- Options for LaTeX output --------------------------------------------------
@@ -190,7 +188,7 @@ latex_elements = {
# Grouping the document tree into LaTeX files. List of tuples # Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]). # (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [ latex_documents = [
('index', 'ifupdown2.tex', u'ifupdown2 Documentation', ('index', 'ifupdown2-addons.tex', u'ifupdown2-addons Documentation',
u'Roopa Prabhu', 'manual'), u'Roopa Prabhu', 'manual'),
] ]
@@ -220,7 +218,7 @@ latex_documents = [
# One entry per manual page. List of tuples # One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section). # (source start file, name, description, authors, manual section).
man_pages = [ man_pages = [
('index', 'ifupdown2', u'ifupdown2 Documentation', ('index', 'ifupdown2-addons', u'ifupdown2-addons Documentation',
[u'Roopa Prabhu'], 1) [u'Roopa Prabhu'], 1)
] ]
@@ -234,8 +232,8 @@ man_pages = [
# (source start file, target name, title, author, # (source start file, target name, title, author,
# dir menu entry, description, category) # dir menu entry, description, category)
texinfo_documents = [ texinfo_documents = [
('index', 'ifupdown2', u'ifupdown2 Documentation', ('index', 'ifupdown2-addons', u'ifupdown2-addons Documentation',
u'Roopa Prabhu', 'ifupdown2', 'One line description of project.', u'Roopa Prabhu', 'ifupdown2-addons', 'One line description of project.',
'Miscellaneous'), 'Miscellaneous'),
] ]
@@ -247,7 +245,3 @@ texinfo_documents = [
# How to display URL addresses: 'footnote', 'no', or 'inline'. # How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote' #texinfo_show_urls = 'footnote'
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'http://docs.python.org/': None}

View File

@@ -3,31 +3,36 @@ Development Corner
Writing a ifupdown2 addon module Writing a ifupdown2 addon module
-------------------------------- --------------------------------
ifupdown2 addon modules are part of the python-ifupdown2 package. ifupdown2 addon modules are part of the python-ifupdown2-addons package.
They are installed under /usr/share/ifupdownaddons directory on the target box. They are installed under /usr/share/ifupdownaddons directory on the target
system.
The center of the universe for an addon module is the 'class iface' object The center of the universe for an addon module is the 'class iface' object
exported by the python-ifupdown2 package. exported by the python-ifupdown2 package.
The iface object contains all config the user wanted. For more details see The iface object is modeled after an iface entry in the user provided network
the api refernce for the iface class. configuration file (eg. /etc/network/interfaces). For more details see
the api reference for the iface class.
ifupdown2 invokes the addon module by invoking a few methods. And hence ifupdown2 dynamically loads a python addon module. It expects the addon module
it expects a few interfaces from the addon modules. to implement a few methods.
* all modules must inherit from moduleBase class * all addon modules must inherit from moduleBase class
* the module should implement a class by the same name * the module must implement a class by the same name
* the interface object (class iface) and the operation to be performed is * the network interface object (class iface) and the operation to be performed
passed to the modules. In cases when the operation is query-check, where is passed to the modules. Operation can be any of 'pre-up', 'up', 'post-up',
the module has to compare between the given and running state, the module 'pre-down', 'down', 'post-down', 'query-check', 'query-running'.
also takes an addional queryobjcur iface object The module can choose to support a subset or all operations.
* the python addon class should provide a few methods: In cases when the operation is query-check, the module must compare between
the given and running state and return the checked state of the object in
queryobjcur passed as argument to the run menthod.
* the python addon class must provide a few methods:
* run() : method to configure the interface. * run() : method to configure the interface.
* get_ops() : must return a list of operations it supports. * get_ops() : must return a list of operations it supports.
eg: 'pre-up', 'post-down' eg: 'pre-up', 'post-down'
* get_dependent_ifacenames() : must return a list of interfaces the * get_dependent_ifacenames() : must return a list of interfaces the
interface is dependent on. This is used to build the dependency list supported interface is dependent on. This is used to build the
for sorting and executing interfaces in dependency order. dependency list for sorting and executing interfaces in dependency order.
* if the module supports -r option to ifquery, ie ability to construct the * if the module supports -r option to ifquery, ie ability to construct the
ifaceobj from running state, it can optionally implement the ifaceobj from running state, it can optionally implement the
get_dependent_ifacenames_running() method, to return the list of get_dependent_ifacenames_running() method, to return the list of
@@ -38,13 +43,14 @@ it expects a few interfaces from the addon modules.
* provide a dictionary of all supported attributes in the _modinfo * provide a dictionary of all supported attributes in the _modinfo
attribute. This is useful for syntax help and man page generation. attribute. This is useful for syntax help and man page generation.
python-ifupdown2 package also installs a ifupdownaddons python package that python-ifupdown2-addons package also installs ifupdownaddons python package
contains helper modules for all addon modules. that contains helper modules for all addon modules. Its optional for the addon
module to use this package.
see example address handling module /usr/share/ifupdownaddons/address.py see example address handling module /usr/share/ifupdownaddons/address.py
apiref API reference
------ -------------
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2

View File

@@ -3,21 +3,26 @@ Getting Started
Prerequisites Prerequisites
------------- -------------
* python-ifupdown2 is current only tested on a debian release wheezy or greater * python-ifupdown2-addons is currently only tested on debian wheezy
* python-ifupdown2 needs python version 2.6 or greater * python-ifupdown2-addons needs python version 2.6 or greater
* build depends on: python-stdeb (for deb builds), python-docutils (for rst2man) * build depends on: python-stdeb (for deb builds), python-docutils (for rst2man)
* depends on python-gvgen package for printing interface graphs (this will be made optional soon) * depends on python-gvgen package for printing interface graphs (this will be made optional in the future)
* optional dependency for template engine: python-mako * optional dependency for template engine: python-mako
* python-ifupdown2-addons has an install dependency on python-ifupdown2
Building Building
-------- --------
git clone <ifupdown2 git url> $git clone <ifupdown2 git url> ifupdown2
cd ifupdown2-addons
./build.sh $cd ifupdown2/ifupdown2-addons
$./build.sh
Installing Installing
---------- ----------
install generated python-ifupdown2-addons-<ver>.deb install generated python-ifupdown2-addons-<ver>.deb using dpkg
$dpkg -i <python-ifupdown2-addons-<ver>.deb

View File

@@ -3,8 +3,8 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to ifupdown2's documentation! Welcome to ifupdown2-addons documentation!
===================================== ==========================================
Contents: Contents:
========= =========

View File

@@ -3,20 +3,25 @@ Getting Started
Prerequisites Prerequisites
------------- -------------
* python-ifupdown2 is current only tested on a debian release wheezy or greater * python-ifupdown2 is currently only tested on debian wheezy
* python-ifupdown2 needs python version 2.6 or greater * python-ifupdown2 needs python version 2.6 or greater
* build depends on: python-stdeb (for deb builds), python-docutils (for rst2man) * build depends on: python-stdeb (for deb builds), python-docutils (for rst2man)
* depends on python-gvgen package for printing interface graphs (this will be made optional soon) * depends on python-gvgen package for printing interface graphs (this will be made optional in the future)
* optional dependency for template engine: python-mako * optional dependency for template engine: python-mako
* python-ifupdown2 needs python-ifupdown2-addons to function correctly
Building Building
-------- --------
git clone <ifupdown2 git url> $git clone <ifupdown2 git url> ifupdown2
cd ifupdown2
./build.sh
$cd ifupdown2/ifupdown2
$./build.sh
Installing Installing
---------- ----------
install generated python-ifupdown2-<ver>.deb install generated python-ifupdown2-<ver>.deb
$dpkg -i <python-ifupdown2-addons-<ver>.deb