Metadata-Version: 2.1
Name: os-net-config
Version: 5.2.5.dev1
Summary: OpenStack network configuration
Home-page: http://git.openstack.org/cgit/openstack/os-net-config
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Requires-Dist: pbr (!=0.7,<1.0,>=0.6)
Requires-Dist: anyjson (>=0.3.3)
Requires-Dist: Babel (>=0.9.6)
Requires-Dist: six (>=1.6.0)
Requires-Dist: eventlet (>=0.13.0)
Requires-Dist: iso8601 (>=0.1.9)
Requires-Dist: netaddr (>=0.7.6)
Requires-Dist: oslo.concurrency (>=1.4.1)
Requires-Dist: oslo.utils (>=1.2.0)
Requires-Dist: PyYAML (>=3.1.0)

===============================
os-net-config
===============================

host network configuration tool

An implementation of the 'network configuration' spec @
https://review.openstack.org/#/c/97859/.
The intention is for this code to be moved under the tripleo project in due course.

* Free software: Apache license
* Documentation: http://docs.openstack.org/developer/os-net-config
* Source: http://git.openstack.org/cgit/openstack/os-net-config
* Bugs: http://bugs.launchpad.net/os-net-config

Features
--------

The core aim of this project is to allow fine grained (but extendable)
configuration of the networking parameters for a network host. The
project consists of:

 * A CLI (os-net-config) which provides configuration via a YAML or JSON
   file formats.  By default os-net-config uses a YAML config file located
   at /etc/os-net-config/config.yaml. This can be customized via the
   --config-file CLI option.

 * A python library which provides configuration via an object model.

YAML Config Examples
--------------------
 * Configure an OVS bridge with a single attached interface (port)

.. code-block:: yaml

  network_config:
    - 
      type: ovs_bridge
      name: br-ctlplane
      use_dhcp: true
      ovs_extra:
        - br-set-external-id br-ctlplane bridge-id br-ctlplane
      members:
        - 
          type: interface
          name: em1

..


 * Configure an OVS bridge on top of an OVS bond

.. code-block:: yaml

  network_config:
    - 
       type: ovs_bridge
       name: br-ctlplane
       use_dhcp: true
       members:
         - 
           type: ovs_bond
           name: bond1
           members:
             - 
               type: interface
               name: em1
             - 
               type: interface
               name: em2

..

 * Configure a tagged VLAN interface on top of an OVS bridge

.. code-block:: yaml

  network_config:
    - 
      type: ovs_bridge
      name: br-ctlplane
      use_dhcp: true
      members:
        - 
          type: interface
          name: em1
        - 
          type: vlan
          vlan_id: 16
          addresses:
            - 
              ip_netmask: 192.0.2.1/24

..

Provider Configuration
----------------------
Providers are use to apply (implement) the desired configuration on the
host system. By default 3 providers are implemented:

 * Ifcfg: persistent network config format stored in
   /etc/sysconfig/network-scripts

 * ENI: persistent network config format stored in /etc/network/interfaces

 * iproute2: non-persistent provider which implements the config using
   iproute2, vconfig, etc... (implementation in progress)

When using bin/os-net-config the provider is automatically selected based on
the host systems perferred persistent network type (ifcfg or ENI). This can
be customized via the --provider CLI option.



