AgeCommit message (Collapse)AuthorFilesLines
2017-10-19Avoid overwriting VPP startup scriptstable/euphratesFeng Pan1-7/+14
Currently we overwrite the entire VPP startup script if the content changes, this can cause content from other sources to be lost. This patch appends startup CLIs lines to startup script. Change-Id: Ifa3b18aa6370c79ad6ad3ce983f1648ff0d1d79d Signed-off-by: Feng Pan <fpan@redhat.com> (cherry picked from commit 91096196953f9619ab8435713a39f795a473f876)
2017-10-10Fix licensesTim Rozet2-1/+2
Change-Id: I5239bd2d2e9a30ea0cb5637c3fdf7fd57065a14e Signed-off-by: Tim Rozet <trozet@redhat.com> (cherry picked from commit 48c0283e725f990f990ec380a76d91e39c24dd78)
2017-10-06Add retry and timeout to VPP interface checkFeng Pan1-24/+31
Change-Id: Idaf03d78d2ce657ac484c1285a795d98760d0112 Signed-off-by: Feng Pan <fpan@redhat.com> (cherry picked from commit 35c2979a8254508d61f754f3ec276e537c2b03e8)
2017-09-29Add timeout to VPP service restartFeng Pan1-0/+2
VPP needs a few seconds to stablize when service is restarted for all the interfaces to initialize and show up. Change-Id: Ie6aee86eaccad5fc98820a28f10adc7475cc5e33 Signed-off-by: Feng Pan <fpan@redhat.com> (cherry picked from commit 17ab27148353b8d53b8db01244e1368468e9e70f)
2017-07-24Merge Newton private changesFeng Pan12-10/+523
- Add interface mapping data to hiera - Add support for VPP interfaces - Continue bringing up interfaces even if one fails - Change hiera to json format List of commits: https://github.com/openstack/os-net-config/compare/stable/newton...trozet:stable/danube Change-Id: If7a2c6119bf613f1fc8846237b077cd8f0e26015 Signed-off-by: Feng Pan <fpan@redhat.com>
2017-05-12Pointing apex fork to opnfv's gerritDan Radez1-3/+2
Change-Id: I5281a57640f388e984b061702362f9c82d08da78 Signed-off-by: Dan Radez <dradez@redhat.com>
2017-04-25os_net_config should map nics that are down if nic is in mapping fileBob Fournier4-40/+103
Currently os-net_config will map nics from a user-supplied mapping file only if the nic is active (operstate = up). This can cause problems if a nic is in a bond and one of the bond's nics has no carrier. This fix will map the nic from the mapping file if the nic is defined on the system, regardless of the operstate status. The fix implements a new function to return a list of available nics (no check of operstate) for use if a mapping file is supplied. The list of active nics must still be used in the default case when numbering nics (no mapping file supplied). There is also some cleanup to check if a user-supplied mac is in the mapping file before attempting to convert the mac to a nic. Change-Id: Ia5d8c8b49b7ac0b51ee42a754f06e5e53587a5f6 Closes-Bug: 1679787 (cherry picked from commit b905e0d803e55deee9620a24de4b87c3429b43ab)
2017-04-25Merge "Update .gitreview for stable/ocata" into stable/ocataJenkins1-0/+1
2017-03-22Merge "Network service is failing with DPDK" into stable/ocataJenkins2-0/+18
2017-03-13Allow setting NM_CONTROLLED=yes in os-net-config ifcfg filesDan Sneddon4-59/+142
This change adds a flag to the base interface type, nm_controlled. If this flag is true, the ifcfg file will contain NM_CONTROLLED=yes. Since this flag is applied at the base it applies to any interface type. Note that not all interface types are supported by NetworkManager at this time, so this option should be used with caution. A demonstration of the usage is included in the linux_bond_networkmanager.yaml file in the sample directory. Change-Id: I2df6ce5b4bdb04651f27fc5daa64aa752e47f3b1 Closes-Bug: 1671888 (cherry picked from commit 5f0145b88571b945b633f999c0d767ccefdce86b)
2017-03-08Network service is failing with DPDKJaganathan Palanisamy2-0/+18
Network service is failing and not started when interface is binded with dpdk driver and interface config file is available. In such case, removing config file for the interface which is binded with dpdk driver. Change-Id: Id445fbfe7abdd54c2ea522960224c7f0e412dd30 Closes-Bug: #1657661 (cherry picked from commit d1db332350a894e48a74a3b6b658d3d3c8d13c4a)
2017-03-01Restart Openvswitch after adding DPDK portskarthik s2-0/+46
OvS needs to be restarted after adding a DPDK port. This change shall be removed on migration to OvS 2.7 where DPDK Hotplug support is available. Co-Authored-By: Saravanan KR <skramaja@redhat.com> Closes-Bug: #1668375 Signed-off-by: karthik s <ksundara@redhat.com> Change-Id: I250bb8e9a8e50874a82bf7f159e5a9d5677ef5ac (cherry picked from commit ab0e0d433fb363f6a01b7c8305771f2bde47930e)
2017-01-27Update .gitreview for stable/ocataOpenStack Release Bot1-0/+1
Change-Id: I48c1e97806a1e30bb5aa2b98108912a1cb1928a2
2017-01-23Merge "Exclude SR-IOV VFs in the nic numbering"Jenkins2-1/+34
2017-01-18Remove child members activation for OVS-DPDK bondSanjay Upadhyay1-4/+7
While creating DPDK bond, if-up of the bond interface itself will activate the member interfaces. Individual members should not be called for ifup. Additionally, removing the option to select the primary active-slave member for the bond, because of #1654975. Once it is fixed, primary selection from the network config will be added. Change-Id: I83527ada4a3618927d55b7aa06d436686b12d5b8 Closes-Bug: #1643026.
2017-01-05Make os-net-config pass tox py3 testsFrank A. Zdarsky4-16/+16
This patch improves Python 3 compatibility by replacing .iteritems() with .items() for iterating over dicts and fixing two tests to use portable string comparison. Change-Id: I8e1acafe372f1696823561d6aa8aae5437d34025 Closes-Bug: #1654187
2017-01-04Exclude SR-IOV VFs in the nic numberingSaravanan KR2-1/+34
SR-IOV Virtual Functions will be present as an interface in the directory '/sys/class/net'. As these are virtual interface created during the deployment process, it has to be ignored in the nic numbering logic. Closes-Bug: #1653097 Change-Id: I118a7314d496b531c52be45521d393123cdfe915
2017-01-03Merge "Add support for enabling hotplug on interfaces"Jenkins10-10/+78
2016-11-25Show team and repo badges on READMEFlavio Percoco1-0/+9
This patch adds the team's and repository's badges to the README file. The motivation behind this is to communicate the project status and features at first glance. For more information about this effort, please read this email thread: http://lists.openstack.org/pipermail/openstack-dev/2016-October/105562.html To see an example of how this would look like check: b'https://gist.github.com/6e1f554da51706211030df28d00626fb\n' Change-Id: Ibe8f007638ae8530cfe4f4a9f8356104fc7e3e48
2016-11-21Merge "Add sample files for fail_mode and ovs_extra template"Jenkins4-0/+55
2016-11-18Add support for enabling hotplug on interfacesBrent Eagles10-10/+78
This patch adds support for enabling hotplugging on interfaces (disabled by default). This is useful for configuring SR-IOV root devices so that they "return" to the system when no longer used by a VM. Note: also updates an invalid value in the interface and ib_interface sample files. Partial-Bug: #1639901 Change-Id: Idfc17d6f20bb306271838895bc53f4b109dd664d
2016-11-16Merge "Stop dhclient in os-net-config if interface not set for DHCP"Jenkins2-0/+65
2016-11-15Stop dhclient in os-net-config if interface not set for DHCPBob Fournier2-0/+65
As described in https://bugs.launchpad.net/tripleo/+bug/1640598, there are situations in which the dhclient instance started by dhcp-all-interfaces runs even after the interface is no longer configured for DHCP. This change will terminate the instance using the '-r' argument if 'BOOTPROTO' is not set to 'dhcp' in the ifcfg file for the interface. The dhclient will only be stopped if a dhclient pid file exists, the pid file will be removed after stopping dhclient. Co-Authored-By: Dan Sneddon <dsneddon@redhat.com> Change-Id: I8a52ef5fb8052f185c01dcc27a1ecd70f5d630c8 Closes-Bug: 1640598
2016-11-15Add sample files for fail_mode and ovs_extra templateBrent Eagles4-0/+55
This patch adds sample json and yaml for: - setting the OVS bridge fail mode using the new ovs_fail_mode option - using the {name} replacement feature for ovs_extra data for inserting the bridge name in configuration data Change-Id: I2af32edbba0b635207888ad0502b2296f502c274
2016-11-15Add ovs_fail_mode option for OVS bridgesBrent Eagles4-9/+80
This patch adds an option "ovs_fail_mode" with a default value of 'standalone'. This is written to the interface configuration data as part of the ovs_extra options. Closes-Bug: #1640812 Change-Id: I2f30e56ff9fbda7beac21d95d15dbde0b01ba451
2016-11-15Add support for name replacement in OVS_EXTRABrent Eagles4-13/+102
While primarily to work around a heat issue that prevents intrinsic functions from being used for parameters being passed to NetworkConfig resources, this could be generally useful in other ways. Partial-Bug: #1640812 Change-Id: Ie9001f1d41f514666a44c8d9295b78a13e2108dc
2016-11-15Merge "Raise NotImplementedError instead of NotImplemented"Jenkins2-17/+17
2016-11-11Add support for ethtool_opts optionPierre Blanc6-5/+33
This patch add an optional option to specify the ETHTOOL_OPTS for each interface. ETHTOOL_OPTS option will be written to the ifcfg file. Change-Id: I6b594e89ba6b4c17e8df79def997f6c9ea427a3a
2016-10-19Add route_options parameterMatthew Flusche8-36/+87
route_options will append additional options to route definitions. Change-Id: I2b70efdd9c6df7ea252576e245fbc0e9c46ea4bd
2016-10-05Merge "Open os-net-config for Ocata"Jenkins0-0/+0
2016-10-05Open os-net-config for OcataJohn Trowbridge0-0/+0
To avoid pushing an artificial alpha tag, following PBR semver keyword bumps major version. See http://docs.openstack.org/developer/pbr/#version Change-Id: I8b5e54b312fd530eea1d01e21227c71b8e18620d Sem-Ver: api-break
2016-09-27Add options attribute to NFVSwitchSarath Kumar6-29/+22
Adding options to NFVSwitch type bridge will give flexibility and avoid specific attributes like 'cpus' in the yaml file (which will now be moved into the options) Change-Id: I4d715b641c54de969b9195b1a4b16195b2d7e595
2016-09-21Merge "Add mac address to the DPDK mapping file"Jenkins2-18/+60
2016-09-21Merge "Fixed nic numbering issue of DPDK nics after the nic has bound"Jenkins2-18/+244
2016-09-20Add mac address to the DPDK mapping fileSaravanan KR2-18/+60
When using mapping file with mac address, mapping logic will try to fetch the mac address of the interface, which will fail. Storing the mac address also in the DPDK mapping file so that we can satisfy mapping logic. Closes-Bug: #1619330 Change-Id: I92ba7f589c8d848feb083f07c3f937b50aca388e
2016-09-20Fixed nic numbering issue of DPDK nics after the nic has boundSaravanan KR2-18/+244
* os-net-config is called multiple times during the deploy. Once the interface is bound to a driver, it will not be listed for ethtool to get the pci address, which will through exception. Handled this exception. * Stored the DPDK bound nic configs at '/var/lib/os-net-config/ dpdk_mappings.yaml' file to emulate the same nic numbering after the nic has been bound to the DPDK driver. Partial-Bug: #1619330 Change-Id: I6b1e45003f851f1fcf5b8730890c75331e8d0f8f
2016-09-02Raise NotImplementedError instead of NotImplementedJi-Wei2-17/+17
NotImplementedError is the name of the exception (https://docs.python.org/2/library/exceptions.html). NotImplemented is the name of a constant (https://docs.python.org/2/library/constants.html). >>> raise NotImplemented() Traceback (most recent call last): File "<pyshell#31>", line 1, in <module> raise NotImplemented() TypeError: 'NotImplementedType' object is not callable >>> raise NotImplementedError() Traceback (most recent call last): File "<pyshell#32>", line 1, in <module> raise NotImplementedError() NotImplementedError This patch fix it. Change-Id: I8b8b47de26b9bf688d9d27a4daa6d9910994ac4a Closes-Bug: #1339855
2016-08-29Cleanups and new unit test for IVSSarath Kumar3-31/+37
- refactor test_object unit-test for IVS to follow other object class tests - add new CLI unit test for IVS - cleanup comments from https://review.openstack.org/#/c/345599 Change-Id: I0c337b019ae90ee7b2f207ff9b5060ed67bf182f
2016-08-26Supporting numbered nics for DPDK Port and DPDK BondSaravanan KR7-19/+45
Modified the sample code to use numbered nics instead of physical device name and added test code for testing the numbered nic usecases. Implements: blueprint tripleo-ovs-dpdk Depends-On: If1c91402d2d393140dc1b4a678e68a1bcdbe81e4 Change-Id: Ifadb495be57fcef56a97250de0c52fd03f2dd817
2016-08-26Add support for OVS DPDK BondSaravanan KR8-1/+280
Add functionality to os-net-config to allow DPDK bonding of interfaces, and implement support for parameters to be passed by TripleO Heat Templates. Implements: blueprint tripleo-ovs-dpdk Depends-On: Id4a23ced28b92a642c180a35c55080e5f4e2e05d Change-Id: If1c91402d2d393140dc1b4a678e68a1bcdbe81e4
2016-08-26Merge "Add support for OVS DPDK Bridge and Port"Jenkins8-1/+325
2016-08-25Merge "Remove discover from test-requirements"Jenkins1-1/+0
2016-08-25Add support for OVS DPDK Bridge and PortSaravanan KR8-1/+325
Add support in os-net-config for DPDK ports and OVS user bridges, and implement parameters which will be set by the TripleO Heat Templates when using TripleO. Implements: blueprint tripleo-ovs-dpdk Change-Id: Id4a23ced28b92a642c180a35c55080e5f4e2e05d
2016-08-16Enhance and fix NIC mapping featureAlan Bishop5-65/+96
The original implementation supported a strictly numeric mapping scheme (e.g. nic1, nic2) that could misbehave if an active NIC was not listed in the user's mapping file. This change fixes the misbehavior, and enhances the feature by not requiring NIC aliases follow the numeric mapping scheme. This allows the user to choose meaningful names for the NIC aliases. NIC mapping now happens in two steps: 1) Process any user supplied mappings - NIC alias does not need to follow the numeric "nicN" scheme - Existing validation rules apply: mappings for inactive NICs are ignored (but logged), and duplicate mappings are rejected 2) Generate default mappings as needed - Only applies to active NICs that aren't already mapped - Follows the numeric scheme (nic1, nic2) using the NIC number based on the list of active NICs - No default mapping is assigned if another NIC is already using that numeric alias Change-Id: I6943623a51702349f6a7dcf2de8a8429078a3ab0 Closes-Bug: 1612723
2016-08-11Merge "Enable os-net-config to support and configure NFVSwitch"Jenkins8-0/+424
2016-08-09Fix Linux bond/slave ifup orderingDan Sneddon1-3/+3
The latest version of os-net-config is not reliably enabling bonding when there are no existing bonds on the system. This is due to an order-of-operations problem where it tries to bring up the bond before the slave interfaces. This can result in an error because the bonding module is not present. This change activates the bond only after the interfaces have been activated. This should ensure that the bonding module is loaded. Change-Id: I62e4b10a88168948ed59170285223fb4f8d8de88 Fixes-bug: 1611471
2016-08-02Enable os-net-config to support and configure NFVSwitchSarath Kumar8-0/+424
These changes are to generate /etc/sysconf/network-scripts/ifcfg-* and /etc/sysconfig/nfvswitch configuration files for nfvswitch and its interfaces. NFVSwitch is a virtual switch implementation based on DPDK for datacenter workloads with very high throughput needs. Change-Id: If02edb9c4c54c014f67290fe0c34e2fc73cb95bd
2016-07-25Add adapter teaming support using teamd for ifcfg-systemsDan Sneddon7-1/+223
This change adds support for Linux adapter teams using teamd to manage the bonds instead of the kernel bonding module. Adapter teams using teamd can act like bonds, but also support additional features and possibly more robust fault tolerance. This implementation is fairly straightforward, in order to maintain backward compatibility with templates made for Linux bonds. The only difference in the syntax between the two is type: team instead of type: linux_bond, and the bonding_options format is different. The configuration files for teams should contain the team options as a JSON string. The options that can be used are documented in the teamd.conf(5) man page. If an interface is marked as primary, the priority will be changed from default 0 to 100, making this interface the preferred one. In addition, the MAC address of the Team and all member interfaces will be set to that of the primary interface. At this time, there is no way to set the priority of link members individually, only the interface marked primary will have a non-default priority. This change has been tested on bare metal and worked for a team with two bonded interfaces using LACP. The team was part of an OVS bridge, and there was a VLAN interface on the team. Everything worked as expected. Unit tests are included and passing. Change-Id: If1d516ce8f9ada76375c3a52c5557d3f7348981a Implements: blueprint os-net-config-teaming
2016-07-25Merge "Add support for Infiniband interfaces"Jenkins7-0/+263
2016-07-22Remove discover from test-requirementsSwapnil Kulkarni (coolsvap)1-1/+0
It's only needed for python < 2.7 which is not supported Change-Id: Ic14fdc7c95ef5c270b13e73bbd57007eb1d258e8