Merge "Retry netlbfo team creation"
This commit is contained in:
@@ -41,6 +41,7 @@ class NetLBFOTest(unittest.TestCase):
|
|||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self._module_patcher.stop()
|
self._module_patcher.stop()
|
||||||
|
|
||||||
|
@mock.patch('time.sleep')
|
||||||
@mock.patch(MODPATH + '.NetLBFOTeamManager._get_primary_adapter_name')
|
@mock.patch(MODPATH + '.NetLBFOTeamManager._get_primary_adapter_name')
|
||||||
@mock.patch(MODPATH + '.NetLBFOTeamManager._create_team')
|
@mock.patch(MODPATH + '.NetLBFOTeamManager._create_team')
|
||||||
@mock.patch(MODPATH + '.NetLBFOTeamManager._add_team_member')
|
@mock.patch(MODPATH + '.NetLBFOTeamManager._add_team_member')
|
||||||
@@ -49,10 +50,11 @@ class NetLBFOTest(unittest.TestCase):
|
|||||||
@mock.patch(MODPATH + '.NetLBFOTeamManager.delete_team')
|
@mock.patch(MODPATH + '.NetLBFOTeamManager.delete_team')
|
||||||
def _test_create_team(self, mock_delete_team, mock_wait_for_nic,
|
def _test_create_team(self, mock_delete_team, mock_wait_for_nic,
|
||||||
mock_set_primary_nic_vlan_id, mock_add_team_member,
|
mock_set_primary_nic_vlan_id, mock_add_team_member,
|
||||||
mock_create_team, mock_get_primary_adapter_name,
|
mock_create_team, mock_primary_adapter_name,
|
||||||
mode_not_found=False, lb_algo_not_found=False,
|
mock_time_sleep, mode_not_found=False,
|
||||||
|
lb_algo_not_found=False,
|
||||||
add_team_member_fail=False):
|
add_team_member_fail=False):
|
||||||
mock_get_primary_adapter_name.return_value = mock.sentinel.pri_nic_name
|
mock_primary_adapter_name.return_value = mock.sentinel.pri_nic_name
|
||||||
mock_create_team.return_value = None
|
mock_create_team.return_value = None
|
||||||
|
|
||||||
lacp_timer = network_model.BOND_LACP_RATE_FAST
|
lacp_timer = network_model.BOND_LACP_RATE_FAST
|
||||||
@@ -100,9 +102,6 @@ class NetLBFOTest(unittest.TestCase):
|
|||||||
mock.sentinel.mac, mock.sentinel.pri_nic_name,
|
mock.sentinel.mac, mock.sentinel.pri_nic_name,
|
||||||
mock.sentinel.vlan_id, lacp_timer)
|
mock.sentinel.vlan_id, lacp_timer)
|
||||||
|
|
||||||
mock_add_team_member.assert_called_once_with(
|
|
||||||
conn, mock.sentinel.team_name, mock.sentinel.other_member)
|
|
||||||
|
|
||||||
if not add_team_member_fail:
|
if not add_team_member_fail:
|
||||||
mock_set_primary_nic_vlan_id.assert_called_once_with(
|
mock_set_primary_nic_vlan_id.assert_called_once_with(
|
||||||
conn, mock.sentinel.team_name, mock.sentinel.vlan_id)
|
conn, mock.sentinel.team_name, mock.sentinel.vlan_id)
|
||||||
@@ -111,8 +110,14 @@ class NetLBFOTest(unittest.TestCase):
|
|||||||
2, 3, mock.sentinel.pri_nic_name, 1)
|
2, 3, mock.sentinel.pri_nic_name, 1)
|
||||||
mock_wait_for_nic.assert_called_once_with(
|
mock_wait_for_nic.assert_called_once_with(
|
||||||
mock_team_nic.Name)
|
mock_team_nic.Name)
|
||||||
|
mock_add_team_member.assert_called_once_with(
|
||||||
|
conn, mock.sentinel.team_name, mock.sentinel.other_member)
|
||||||
else:
|
else:
|
||||||
mock_delete_team.assert_called_once_with(mock.sentinel.team_name)
|
mock_add_team_member.assert_called_with(
|
||||||
|
conn, mock.sentinel.team_name, mock.sentinel.other_member)
|
||||||
|
mock_delete_team.assert_called_with(mock.sentinel.team_name)
|
||||||
|
self.assertEqual(mock_add_team_member.call_count, 6)
|
||||||
|
self.assertEqual(mock_delete_team.call_count, 6)
|
||||||
|
|
||||||
def test_create_team(self):
|
def test_create_team(self):
|
||||||
self._test_create_team()
|
self._test_create_team()
|
||||||
|
@@ -132,6 +132,7 @@ class NetLBFOTeamManager(network_team.BaseNetworkTeamManager):
|
|||||||
operation_options = {u'custom_options': custom_options}
|
operation_options = {u'custom_options': custom_options}
|
||||||
team.put(operation_options=operation_options)
|
team.put(operation_options=operation_options)
|
||||||
|
|
||||||
|
@retry_decorator.retry_decorator(max_retry_count=5)
|
||||||
def create_team(self, team_name, mode, load_balancing_algorithm,
|
def create_team(self, team_name, mode, load_balancing_algorithm,
|
||||||
members, mac_address, primary_nic_name=None,
|
members, mac_address, primary_nic_name=None,
|
||||||
primary_nic_vlan_id=None, lacp_timer=None):
|
primary_nic_vlan_id=None, lacp_timer=None):
|
||||||
@@ -178,7 +179,8 @@ class NetLBFOTeamManager(network_team.BaseNetworkTeamManager):
|
|||||||
raise ex
|
raise ex
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@retry_decorator.retry_decorator(max_retry_count=10)
|
@retry_decorator.retry_decorator(max_retry_count=10,
|
||||||
|
max_sleep_time=10)
|
||||||
def _wait_for_nic(nic_name):
|
def _wait_for_nic(nic_name):
|
||||||
conn = wmi.WMI(moniker='//./root/cimv2')
|
conn = wmi.WMI(moniker='//./root/cimv2')
|
||||||
if not conn.Win32_NetworkAdapter(NetConnectionID=nic_name):
|
if not conn.Win32_NetworkAdapter(NetConnectionID=nic_name):
|
||||||
|
Reference in New Issue
Block a user