aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/objects.py
diff options
context:
space:
mode:
authorDan Sneddon <dsneddon@redhat.com>2015-06-09 10:50:07 -0700
committerDan Prince <dprince@redhat.com>2015-06-09 14:17:41 -0400
commit9355a535e71407911332c228a382ee592452f5e7 (patch)
tree5a0d93bbd63b98c5c251c9e463eae2b3ec1a6967 /os_net_config/objects.py
parent7ce531d3c099e310c81f94328b9bfa20de58699b (diff)
Automate selection of active bond slave
This change selects an interface to be the active slave in a bond with active/passive characteristics. If one of the interfaces is marked as primary, it will be the active slave. If none of the interfaces are marked, the interface with the lowest alphanumeric value will be chosen. For instance em2 comes before em3. Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: Ic9b4e8c68b788b98a19ea33a76c9210a80deabeb
Diffstat (limited to 'os_net_config/objects.py')
-rw-r--r--os_net_config/objects.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/os_net_config/objects.py b/os_net_config/objects.py
index 65bdd3b..ea9c11c 100644
--- a/os_net_config/objects.py
+++ b/os_net_config/objects.py
@@ -338,6 +338,10 @@ class OvsBond(_BaseOpts):
self.primary_interface_name = member.primary_interface_name
else:
self.primary_interface_name = member.name
+ if not self.primary_interface_name:
+ bond_members = list(self.members)
+ bond_members.sort(key=lambda x: x.name)
+ self.primary_interface_name = bond_members[0].name
@staticmethod
def from_json(json):