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