Improve readability of vif handler on_present skip reason
Change-Id: Ic55b90eec7ba4050a2c75ef5f2d5a750bcc628db
This commit is contained in:
parent
ff7b449529
commit
ce5551bacf
|
@ -79,7 +79,8 @@ class VIFHandler(k8s_base.ResourceEventHandler):
|
|||
drivers.ServiceSecurityGroupsDriver.get_instance())
|
||||
|
||||
def on_present(self, pod):
|
||||
if driver_utils.is_host_network(pod) or not self._is_pending_node(pod):
|
||||
if (driver_utils.is_host_network(pod) or
|
||||
not self._is_pod_scheduled(pod)):
|
||||
# REVISIT(ivc): consider an additional configurable check that
|
||||
# would allow skipping pods to enable heterogeneous environments
|
||||
# where certain pods/namespaces/nodes can be managed by other
|
||||
|
@ -193,8 +194,8 @@ class VIFHandler(k8s_base.ResourceEventHandler):
|
|||
return True
|
||||
|
||||
@staticmethod
|
||||
def _is_pending_node(pod):
|
||||
"""Checks if Pod is in PENDGING status and has node assigned."""
|
||||
def _is_pod_scheduled(pod):
|
||||
"""Checks if Pod is in PENDING status and has node assigned."""
|
||||
try:
|
||||
return (pod['spec']['nodeName'] and
|
||||
pod['status']['phase'] == constants.K8S_POD_STATUS_PENDING)
|
||||
|
|
|
@ -69,13 +69,13 @@ class TestVIFHandler(test_base.TestCase):
|
|||
self._release_vif = self._handler._drv_vif_pool.release_vif
|
||||
self._activate_vif = self._handler._drv_vif_pool.activate_vif
|
||||
self._set_pod_state = self._handler._set_pod_state
|
||||
self._is_pending_node = self._handler._is_pending_node
|
||||
self._is_pod_scheduled = self._handler._is_pod_scheduled
|
||||
self._request_additional_vifs = \
|
||||
self._multi_vif_drv.request_additional_vifs
|
||||
|
||||
self._request_vif.return_value = self._vif
|
||||
self._request_additional_vifs.return_value = self._additioan_vifs
|
||||
self._is_pending_node.return_value = True
|
||||
self._is_pod_scheduled.return_value = True
|
||||
self._get_project.return_value = self._project_id
|
||||
self._get_subnets.return_value = self._subnets
|
||||
self._get_security_groups.return_value = self._security_groups
|
||||
|
@ -124,20 +124,20 @@ class TestVIFHandler(test_base.TestCase):
|
|||
self.assertEqual(lbaas_driver, handler._drv_lbaas)
|
||||
self.assertEqual(svc_sg_driver, handler._drv_svc_sg)
|
||||
|
||||
def test_is_pending_node(self):
|
||||
self.assertTrue(h_vif.VIFHandler._is_pending_node(self._pod))
|
||||
def test_is_pod_scheduled(self):
|
||||
self.assertTrue(h_vif.VIFHandler._is_pod_scheduled(self._pod))
|
||||
|
||||
def test_is_not_pending(self):
|
||||
self._pod['status']['phase'] = 'Unknown'
|
||||
self.assertFalse(h_vif.VIFHandler._is_pending_node(self._pod))
|
||||
self.assertFalse(h_vif.VIFHandler._is_pod_scheduled(self._pod))
|
||||
|
||||
def test_is_pending_no_node(self):
|
||||
self._pod['spec']['nodeName'] = None
|
||||
self.assertFalse(h_vif.VIFHandler._is_pending_node(self._pod))
|
||||
self.assertFalse(h_vif.VIFHandler._is_pod_scheduled(self._pod))
|
||||
|
||||
def test_unset_pending(self):
|
||||
self.assertFalse(h_vif.VIFHandler._is_pending_node({'spec': {},
|
||||
'status': {}}))
|
||||
self.assertFalse(h_vif.VIFHandler._is_pod_scheduled({'spec': {},
|
||||
'status': {}}))
|
||||
|
||||
@mock.patch('kuryr_kubernetes.controller.drivers.utils.'
|
||||
'update_port_pci_info')
|
||||
|
@ -175,7 +175,7 @@ class TestVIFHandler(test_base.TestCase):
|
|||
def test_on_present_not_pending(self, m_get_pod_state, m_host_network):
|
||||
m_get_pod_state.return_value = self._state
|
||||
m_host_network.return_value = False
|
||||
self._is_pending_node.return_value = False
|
||||
self._is_pod_scheduled.return_value = False
|
||||
|
||||
h_vif.VIFHandler.on_present(self._handler, self._pod)
|
||||
|
||||
|
|
Loading…
Reference in New Issue