diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-06-27 02:25:14 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-06-27 02:25:14 +0000 |
commit | 03d3a5dea1b70c62d585dd6de5e3f9c04345e58b (patch) | |
tree | 7e22874692c56825d4d8a85534e4740b34495562 /os_net_config/tests | |
parent | 187c1e66d4341e6c1fad308ca4d17d4d5026f61a (diff) | |
parent | 5c840c4941d8401ee3c2d15c9a6cfb4f6a074deb (diff) |
Merge "Continue bringing up interfaces even if one fails"
Diffstat (limited to 'os_net_config/tests')
-rw-r--r-- | os_net_config/tests/test_impl_eni.py | 31 | ||||
-rw-r--r-- | os_net_config/tests/test_impl_ifcfg.py | 31 |
2 files changed, 62 insertions, 0 deletions
diff --git a/os_net_config/tests/test_impl_eni.py b/os_net_config/tests/test_impl_eni.py index 4911cb9..51354f8 100644 --- a/os_net_config/tests/test_impl_eni.py +++ b/os_net_config/tests/test_impl_eni.py @@ -18,6 +18,7 @@ import tempfile from oslo_concurrency import processutils +import os_net_config from os_net_config import impl_eni from os_net_config import objects from os_net_config.tests import base @@ -360,3 +361,33 @@ class TestENINetConfigApply(base.TestCase): self.assertEqual((_OVS_BRIDGE_DHCP + _OVS_PORT_IFACE), iface_data) self.assertIn('eth0', self.ifup_interface_names) self.assertIn('br0', self.ifup_interface_names) + + def _failed_execute(*args, **kwargs): + if kwargs.get('check_exit_code', True): + raise processutils.ProcessExecutionError('Test stderr', + 'Test stdout', + str(kwargs)) + + def test_interface_failure(self): + self.stubs.Set(processutils, 'execute', self._failed_execute) + v4_addr = objects.Address('192.168.1.2/24') + interface = objects.Interface('em1', addresses=[v4_addr]) + self.provider.add_interface(interface) + + self.assertRaises(os_net_config.ConfigurationError, + self.provider.apply) + self.assertEqual(1, len(self.provider.errors)) + + def test_interface_failure_multiple(self): + self.stubs.Set(processutils, 'execute', self._failed_execute) + v4_addr = objects.Address('192.168.1.2/24') + interface = objects.Interface('em1', addresses=[v4_addr]) + v4_addr2 = objects.Address('192.168.2.2/24') + interface2 = objects.Interface('em2', addresses=[v4_addr2]) + self.provider.add_interface(interface) + self.provider.add_interface(interface2) + + self.assertRaises(os_net_config.ConfigurationError, + self.provider.apply) + # Even though the first one failed, we should have attempted both + self.assertEqual(2, len(self.provider.errors)) diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index 80f83f1..3a56f4d 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -19,6 +19,7 @@ import tempfile from oslo_concurrency import processutils +import os_net_config from os_net_config import impl_ifcfg from os_net_config import NetConfig from os_net_config import objects @@ -1389,3 +1390,33 @@ class TestIfcfgNetConfigApply(base.TestCase): self.provider.add_interface(interface) self.provider.apply() self.assertNotIn('Restart openvswitch', execute_strings) + + def _failed_execute(*args, **kwargs): + if kwargs.get('check_exit_code', True): + raise processutils.ProcessExecutionError('Test stderr', + 'Test stdout', + str(kwargs)) + + def test_interface_failure(self): + self.stubs.Set(processutils, 'execute', self._failed_execute) + v4_addr = objects.Address('192.168.1.2/24') + interface = objects.Interface('em1', addresses=[v4_addr]) + self.provider.add_interface(interface) + + self.assertRaises(os_net_config.ConfigurationError, + self.provider.apply) + self.assertEqual(1, len(self.provider.errors)) + + def test_interface_failure_multiple(self): + self.stubs.Set(processutils, 'execute', self._failed_execute) + v4_addr = objects.Address('192.168.1.2/24') + interface = objects.Interface('em1', addresses=[v4_addr]) + v4_addr2 = objects.Address('192.168.2.2/24') + interface2 = objects.Interface('em2', addresses=[v4_addr2]) + self.provider.add_interface(interface) + self.provider.add_interface(interface2) + + self.assertRaises(os_net_config.ConfigurationError, + self.provider.apply) + # Even though the first one failed, we should have attempted both + self.assertEqual(2, len(self.provider.errors)) |