Handle no baremetal_nodes in process_node_filter
- Added a try when getting baremetal_nodes from site_design. If baremetal_nodes isn't there it will return an empty set. Change-Id: I413892274d938ffd23102c73a569b83a59025206
This commit is contained in:
parent
8af92eaf29
commit
8274d56c71
@ -382,7 +382,15 @@ class Orchestrator(object):
|
||||
ba.target_nodes = [x.get_id() for x in target_nodes]
|
||||
|
||||
def process_node_filter(self, node_filter, site_design):
|
||||
target_nodes = site_design.baremetal_nodes
|
||||
try:
|
||||
target_nodes = site_design.baremetal_nodes
|
||||
if target_nodes is None:
|
||||
raise AttributeError()
|
||||
except AttributeError:
|
||||
self.logger.debug(
|
||||
"Invalid site design, no baremetal nodes in site_design."
|
||||
)
|
||||
return []
|
||||
|
||||
if node_filter is None:
|
||||
return target_nodes
|
||||
|
@ -62,3 +62,17 @@ class TestClass(object):
|
||||
node_list = deckhand_orchestrator.process_node_filter(nfs, design_data)
|
||||
|
||||
assert len(node_list) == 1
|
||||
|
||||
def test_no_baremetal_nodes(self, input_files, setup, deckhand_orchestrator,
|
||||
deckhand_ingester):
|
||||
input_file = input_files.join("deckhand_fullsite_no_nodes.yaml")
|
||||
|
||||
design_state = DrydockState()
|
||||
design_ref = "file://%s" % str(input_file)
|
||||
|
||||
design_status, design_data = deckhand_ingester.ingest_data(
|
||||
design_state=design_state, design_ref=design_ref)
|
||||
|
||||
node_list = deckhand_orchestrator.process_node_filter(None, design_data)
|
||||
|
||||
assert node_list == []
|
||||
|
Loading…
x
Reference in New Issue
Block a user