aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config
AgeCommit message (Collapse)AuthorFilesLines
2014-09-18Update child_members to use a SetDan Prince2-6/+8
Updates the impl_ifcfg.child_members method so that it uses a set instead of an array (this avoids dups). Also fixes an issue with this method which would cause tests to fail intermittently due to ordering differences. Adding each member object regardless solves this (not sure why I had commented out the children.append before) Also fixes an issue in test_cli which causes tests to fail on Debian which doesn't yet support the add_bond method on its ENI provider. This fix was to explicitly set --provider=ifcfg on the failing tests. We should be able to remove these once ENI supports bonding properly. Closes-bug: #1370615 Change-Id: Id9cfa2b2eaab27c93113956f5956facfa2a2aeee
2014-09-04Move versioning into version.pyDan Prince3-8/+21
2014-08-25ifcfg: restart child interfaces on updatesDan Prince2-19/+84
If a top level bridge or bond is modified we also want to restart the child interfaces.
2014-08-22Fix a few pep8 issues...Dan Prince2-4/+2
2014-08-22Don't log errors if files don't exists.Dan Prince1-1/+5
Update the utils.get_file_data method so that it doesn't log errors if a file doesn't exist.
2014-08-22Add support for ovs_extra.Dan Prince5-9/+75
Adds support for ovs_extra to the OVS Bridge and OVS bond objects.
2014-08-21A vlan on an OVS bridge doesn't require a deviceDan Prince3-4/+7
Updates the object model so that a VLAN on top of a bridge (an OVS int port) doesn't require a physical device to be set in the object model.
2014-08-21Correct the noop format for the eni providerDan Prince1-1/+1
Corrects the eni provider so that it returns the correct format in noop mode.
2014-08-20Add support for parsing YAMLDan Prince2-3/+73
Adds new YAML examples. Also adds some new CLI test cases which compare --noop stdout (from the CLI) for the json and yaml examples to verify they generate the same things.
2014-08-20Add nic1, nic2 naming abstractionDan Prince5-6/+206
Implements a new active NIC abstraction and naming convention that allows nic1, nic2, etc. to be translated to actual (active) network device names like em1, em2 (or eth0, eth1). This includes some logic to map ordered active nics to the nic1, nic2 naming scheme. Embedded nics are always listed first (in sort order) followed by any other active Nics on the system. With the new code: {"type": "interface", "name": "nic1" } is automatically translated (internally) to: {"type": "interface", "name": "em1" } This works for all top level "interface" devices, vlans, bonds, and bridges alike. For vlans the 'device' name is translated instead of the device name per vlan object conventions.
2014-08-15ifcfg: Exclude ifcfg-lo from cleanupDan Prince2-6/+20
This interface should always exist... we don't want to clean it up.
2014-08-14Correct add_object call.Dan Prince1-1/+1
Missed this in 9e515950c7eb4a73e02a4f4883c223dd24ba93ff
2014-08-14Docstring updates to NetConfig objects.Dan Prince3-0/+49
2014-08-14Add --cleanup, and impl for ifcfgDan Prince5-12/+61
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 Prince5-79/+79
2014-08-12Set the MAC to the primary interfaceDan Prince7-13/+121
Adds support for a new 'primary' interface option exposed via the object model and JSON parsers which can be used to force the MAC address on a bridge. Only one interface on a given bridge (or bond) may be set as the primary interface. Also, update the ifcfg and eni providers so that they use OVS_EXTRA (or ovs_extra) to pin the mac accordingly.
2014-08-11Use --noop instead of --mock.Dan Prince4-22/+40
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-08-11Adds mock ability to the ENI and Ifcfg providersmarios3-8/+28
Specifying mock=True for 'apply' will return a string representing the changes required, or commands to be used in order to implement the requested/specified configuration. This is also exposed to the cli, with -m (--mock), e.g. os-net-config --mock -c ./etc/example_os_net_config_1.json -p eni
2014-07-10Uncomment the provider.apply callDan Prince1-1/+1
This fixes issues where running os-net-config did nothing.
2014-07-09Don't write 'None' to ifcfg route files.Dan Prince2-4/+8
Corrects an issue where 'None' got written into the ifcfg format route files instead of ''.
2014-07-09Add logging to utils.Dan Prince1-1/+11
2014-07-09Add -d and -v options for logging level controlDan Prince1-14/+32
Adds -d (--debug) and -v (--verbose) options to control the log levels.
2014-07-08Add logging to the eni provider.Dan Prince2-5/+28
2014-07-08Add logging to the ifcfg provider.Dan Prince1-0/+22
2014-07-07Add copyrights to files.Dan Prince12-15/+22
2014-07-03ENI: bring up bridges first on DebianDan Prince2-5/+9
We should bring up the interfaces on boot in the same order with which we bring them up in this tool.
2014-07-02ENI: enable 'auto' on bridges by defaultDan Prince2-1/+3
2014-07-02Update impl_eni to set the MTU.Dan Prince1-0/+2
2014-07-02ifcfg: don't call set Interface for vlans...Dan Prince2-5/+0
Drop the 'set Interface $DEVICE external-ids:iface-id=...' config from ifcfg ovs vlans.
2014-07-02Add vlan support for the ENI implementation.Dan Prince2-7/+60
2014-07-02Update impl_eni so it ifup's the interfacesDan Prince1-2/+6
We were shutting the interfaces down but not bringing them up again. This fixes that...
2014-07-02ENI fixes for v4/v6 ips. DHCP test fixes.Dan Prince2-46/+67
Updates the ENI format so it creates multiple config sections for a single os-net-config interface object if both v4 and v6 IP addresses are defined. Also, fixes several of the test so that DHCP is not enabled on OvsPorts. If an OVS port is part of a bridge that is itself using DHCP we don't also need to run DHCP on the OvsPort interface.
2014-07-01Add os-net-config CLIDan Prince3-2/+140
Adds a new CLI which parses the JSON and calls the configured provider to apply the configuration.
2014-07-01Implement object json parsing functions.Dan Prince2-6/+259
Adds a from_json static method to all objects. Also adds a top level object_from_json function that can be used for all the interface and bridge types. (everything except addresses and routes). This should be useful for wiring processing JSON from the CLI.
2014-07-01Remove some extra print statements.Dan Prince1-2/+0
2014-06-26Add OvsBond object and impl for ifcfg format.Dan Prince4-15/+83
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-26Consolidate OVS_EXTRA for the vlan test.Dan Prince1-3/+4
Consolidates the test data into a single string block for the ovs vlan port test string.
2014-06-25Vlan object and support for ifcfg.Dan Prince5-36/+113
Add ifcfg configuration support for Vlans and Vlan OVS ports.
2014-06-24Initial commit for basic ENI Debian/Ubuntu network configmarios2-0/+294
This uses /etc/network/interfaces single file format. Includes basic tests
2014-06-11Add OvsBridge configuration supportDan Prince4-34/+162
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 Prince5-40/+133
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-09Import processutils from oslo-incubator.Dan Prince10-0/+2263
2014-06-09Initial ifcfg implementation for interfaces/routesDan Prince5-4/+238
Ifcfg formatted persistence for interfaces and routes.
2014-06-09Add interface, address, and route objectsDan Prince5-4/+77
Add some initial objects for interfaces, routes and addresses.
2014-06-06Initial commitDan Prince4-0/+113
Initial commit of the project layout