Skip to content

Commit

Permalink
Merge pull request #457 from openshift-cherrypick-robot/cherry-pick-4…
Browse files Browse the repository at this point in the history
…54-to-release-4.7

[release-4.7] Bug 1929168: OpenShift: Add configured subnets to the detected
  • Loading branch information
openshift-merge-robot committed Feb 25, 2021
2 parents 223c9a0 + 0e430af commit a31d885
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
9 changes: 7 additions & 2 deletions kuryr_kubernetes/controller/drivers/node_subnets.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,17 @@ def _get_subnet_from_machine(self, machine):

def get_nodes_subnets(self, raise_on_empty=False):
with lockutils.lock('kuryr-machine-add'):
if not self.subnets and raise_on_empty:
# We add any hardcoded ones from config anyway.
result = self.subnets
if CONF.pod_vif_nested.worker_nodes_subnets:
result = result.union(
set(CONF.pod_vif_nested.worker_nodes_subnets))
if not result and raise_on_empty:
raise exceptions.ResourceNotReady(
'OpenShift Machines does not exist or are not yet '
'handled. Cannot determine worker nodes subnets.')

return list(self.subnets)
return list(result)

def add_node(self, machine):
subnet_id = self._get_subnet_from_machine(machine)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ def setUp(self):
},
"status": {}
}
cfg.CONF.set_override('worker_nodes_subnets', [],
group='pod_vif_nested')

def test_get_nodes_subnets(self):
subnets = ['subnet1', 'subnet2']
Expand All @@ -108,6 +110,16 @@ def test_get_nodes_subnets(self):
driver.subnets.add(subnet)
self.assertCountEqual(subnets, driver.get_nodes_subnets())

def test_get_nodes_subnets_with_config(self):
subnets = ['subnet1', 'subnet2']
cfg.CONF.set_override('worker_nodes_subnets', ['subnet3', 'subnet2'],
group='pod_vif_nested')
driver = node_subnets.OpenShiftNodesSubnets()
for subnet in subnets:
driver.subnets.add(subnet)
self.assertCountEqual(['subnet1', 'subnet2', 'subnet3'],
driver.get_nodes_subnets())

def test_get_nodes_subnets_not_raise(self):
driver = node_subnets.OpenShiftNodesSubnets()
self.assertEqual([], driver.get_nodes_subnets())
Expand Down

0 comments on commit a31d885

Please sign in to comment.