Remove BuildDataError from Logicalnames
- Removed raising a BuildDataError exception when applying logicalnames. Change-Id: I15dcab186954284f60fad440659a8558cd8be278
This commit is contained in:
parent
dec96b574d
commit
2b26d5204c
@ -21,7 +21,6 @@ import logging
|
||||
from oslo_versionedobjects import fields as ovo_fields
|
||||
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.error as errors
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.hostprofile
|
||||
import drydock_provisioner.objects.base as base
|
||||
@ -132,7 +131,8 @@ class BaremetalNode(drydock_provisioner.objects.hostprofile.HostProfile):
|
||||
"""
|
||||
nodes = xml_root.findall(".//node[businfo='" + bus_type + "@" + address + "'].logicalname")
|
||||
if len(nodes) >= 1 and nodes[0].text:
|
||||
# TODO (as1452): log.info() when more than one result after the logger refactor.
|
||||
if (len(nodes) > 1):
|
||||
self.logger.info("Multiple nodes found for businfo=%s@%s" % (bus_type, address))
|
||||
for logicalname in reversed(nodes[0].text.split("/")):
|
||||
self.logger.debug("Logicalname build dict: alias_name = %s, bus_type = %s, address = %s, "
|
||||
"to logicalname = %s" % (alias_name, bus_type, address, logicalname))
|
||||
@ -165,7 +165,7 @@ class BaremetalNode(drydock_provisioner.objects.hostprofile.HostProfile):
|
||||
device.address)
|
||||
logicalnames[device.alias] = logicalname
|
||||
else:
|
||||
raise errors.BuildDataError("No Build Data found for node_name %s" % (self.get_name()))
|
||||
self.logger.info("No Build Data found for node_name %s" % (self.get_name()))
|
||||
|
||||
self.logicalnames = logicalnames
|
||||
|
||||
|
@ -250,10 +250,7 @@ class Orchestrator(object):
|
||||
try:
|
||||
nodes = site_design.baremetal_nodes
|
||||
for n in nodes or []:
|
||||
try:
|
||||
n.compile_applied_model(site_design, state_manager=self.state_manager)
|
||||
except errors.BuildDataError:
|
||||
self.logger.info("No Build Data found for node %s." % n.name)
|
||||
n.compile_applied_model(site_design, state_manager=self.state_manager)
|
||||
except AttributeError:
|
||||
self.logger.debug(
|
||||
"Model inheritance skipped, no node definitions in site design."
|
||||
|
@ -12,17 +12,15 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import pytest
|
||||
from unittest.mock import Mock
|
||||
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
|
||||
class TestClass(object):
|
||||
def test_apply_logicalnames_exception(self, input_files, deckhand_orchestrator,
|
||||
drydock_state, mock_get_build_data):
|
||||
"""Test node apply_logicalnames to get an exception"""
|
||||
def test_apply_logicalnames_else(self, input_files, deckhand_orchestrator,
|
||||
drydock_state, mock_get_build_data):
|
||||
"""Test node apply_logicalnames hits the else block"""
|
||||
input_file = input_files.join("deckhand_fullsite.yaml")
|
||||
|
||||
design_ref = "file://%s" % str(input_file)
|
||||
@ -35,9 +33,9 @@ class TestClass(object):
|
||||
drydock_state.get_build_data = Mock(side_effect=side_effect)
|
||||
|
||||
nodes = design_data.baremetal_nodes
|
||||
with pytest.raises(errors.BuildDataError):
|
||||
for n in nodes or []:
|
||||
n.apply_logicalnames(design_data, state_manager=drydock_state)
|
||||
for n in nodes or []:
|
||||
n.apply_logicalnames(design_data, state_manager=drydock_state)
|
||||
assert n.logicalnames == {}
|
||||
|
||||
def test_apply_logicalnames_success(self, input_files, deckhand_orchestrator,
|
||||
drydock_state, mock_get_build_data):
|
||||
|
Loading…
x
Reference in New Issue
Block a user