aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/__init__.py
AgeCommit message (Collapse)AuthorFilesLines
2016-04-12Fix typosJames Slagle1-3/+3
Fixes a couple of small types in a docstring and exception message. Change-Id: Id6977ca50418f9fbdca2d1a26174637968b305a6
2016-04-06Bump hacking in test-requirements.txtDan Prince1-0/+1
Bumps the version of hacking to match that in global-requirements.txt. Change-Id: I7bb98dc773ce821b025d534f537f1a1704a50f9e Closes-bug: #1566463
2016-03-07Enable os_net_config to configure IVSxinwu1-0/+13
This change generates /etc/sysconf/network-scripts/ifcfg-* for ivs. It also generates /etc/sysconf/ivs configuration file for ivs. It supports only RedHat at this point. Indigo Virtual Switch (IVS, https://github.com/floodlight/ivs) is a virtual switch for Linux. It is compatible with the KVM hypervisor and leveraging the Open vSwitch kernel module for packet forwarding. There are three major differences between IVS and OVS: 1. Each node can have at most one ivs, name is not required. 2. Bond is not allowed to attach to an ivs. It is the SDN controller's job to dynamically form bonds on ivs. 3. IP address can only be statically assigned. Change-Id: I276d736794d123405de793c2a4eb2c1ee55a0fad
2015-10-12Add Linux Bridge capability to os-net-config ifcfgDan Sneddon1-0/+11
This patch adds support for Linux Bridges to os-net-config. This is done completely with ifcfg files, brctl is not used directly. Hierarchy is preserved, so a Linux Bridge may have a Linux Bond as a member, which in turn may have multiple interfaces as members. This changeset has been updated to include a more specific example for Linux bridge configuration (that doesn't combine bridging and bonding). This change depends on the change to add support for Linux Bonds. Change-Id: I1ddacd514b02af30139a868071d82cde19b1f946
2015-10-05Add support for Linux Bonding to os-net-config ifcfgDan Sneddon1-0/+11
This change adds support for Linux Bonding to the impl_ifcfg in os-net-config. This change adds support for configuring Linux Bonds using the Bonding module rather than Open vSwitch. Most of the options for Linux Bonds are the same as OVS, with the exception of bonding_options instead of ovs_options. Change-Id: If8c6de1554234277843de9fac58536dd5b0a941b
2015-08-14Correct class comment for NetConfigDan Prince1-1/+1
Change-Id: I3c2614028a8a009e24615dff7a8e2f0c570cbf70
2015-08-02Allow to specify the root directory of the filesystemFrederic Lepied1-2/+3
Change-Id: Ice1b8d17804cf7a0aafd308945a5e960fe927bbc
2015-06-09Set primary interface on OVS bondsDan Sneddon1-0/+4
This change sets one of the member interfaces of a bond as the primary interface, which results in that interface being the active slave. This change adds a step to the apply method in impl_ifcfg which runs 'ovs-appctl bond/set-active-slave <bond> <iface>' after bringing up the bond interfaces. This step ensures that the bonds work correctly without LACP switch support. If a member interface on the bond is set as primary, that interface will be used. Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: I795bb3b8ef977f9276bfec062b197c473393942e
2015-03-05Enable renaming of interfaces without rebootSteven Hardy1-0/+14
When using persist_mapping to rename nics, you can either use --no-activate then reboot, or with this patch, allow activation and we'll take the device links down and rename on the fly avoiding the need for a reboot. Change-Id: Ife9486c9f5447e9c7a55f90ba075e22b6344ad67
2015-02-24Refactor ifup/ifdown into base-classSteven Hardy1-0/+8
Refactor some common code so the base-class handles the ifup/down Change-Id: Id1fee1d2d5c9315717611b7bf18f058c49fe3622
2015-02-24Refactor noop to enable logging of disabled operationsSteven Hardy1-0/+32
Currently we only output the config file contents in noop mode, but it's very useful to see what would be done in terms of taking interfaces up and down, and especially what will be removed when --cleanup mode is specified So this refactors the operations skipped by noop into the base-class so we can conveniently log what they would do when --noop is selected. Change-Id: Ia9cfa9a05b2df02c165a2ff992765ab63e55ae6b
2015-02-24Move noop flag to provider base-classSteven Hardy1-2/+4
Moving this flag makes it easier to implement additional functions which work differently depending on noop mode being set, vs passing it into every function like apply() Change-Id: I796792aece3e40322523e910a3b87f7ab9a451dd
2014-09-04Move versioning into version.pyDan Prince1-6/+0
2014-08-14Docstring updates to NetConfig objects.Dan Prince1-0/+21
2014-08-14Add --cleanup, and impl for ifcfgDan Prince1-1/+4
Adds a new cleanup option which can be used to ifdown and remove interfaces that exists but aren't specified in the object model (or JSON).
2014-08-14Use underscores for provider function names.Dan Prince1-15/+15
2014-08-11Use --noop instead of --mock.Dan Prince1-1/+8
Updates the apply() function for each NetConfig object so that it now accepts noop instead. Also, the updated files are not returned (always instead of conditionally if mock was used).
2014-07-07Add copyrights to files.Dan Prince1-0/+2
2014-07-01Add os-net-config CLIDan Prince1-2/+18
Adds a new CLI which parses the JSON and calls the configured provider to apply the configuration.
2014-06-26Add OvsBond object and impl for ifcfg format.Dan Prince1-0/+6
Supports the configuration of OVS bond interfaces. Also adds the ability to configure extra OVS_OPTIONS for both bonds and bridges (useful for some modes of operation)
2014-06-11Add OvsBridge configuration supportDan Prince1-2/+2
Adds new object for OvsBridge. Also update the ifcfg network config class to support adding bridges. As part of the change both the bridge and interface classes extend a _BaseOpts base class.
2014-06-10Implement apply for ifcfg implementationDan Prince1-1/+4
Adds an apply function to the ifcfg implementation which: 1) Shuts down existing interfaces w/ ifdown 2) writes new interfaces config files (routes too) 3) Starts up new interfaces w/ ifup
2014-06-09Initial ifcfg implementation for interfaces/routesDan Prince1-0/+14
Ifcfg formatted persistence for interfaces and routes.
2014-06-09Add interface, address, and route objectsDan Prince1-1/+1
Add some initial objects for interfaces, routes and addresses.
2014-06-06Initial commitDan Prince1-0/+19
Initial commit of the project layout