Merge "[Multitenancy] Add logic to work with network providers" into stable/newton
This commit is contained in:
commit
8a17d5d303
|
@ -432,6 +432,7 @@ class FuelAgentDeploy(base.DeployInterface):
|
||||||
:returns: status of the deploy. One of ironic.common.states.
|
:returns: status of the deploy. One of ironic.common.states.
|
||||||
"""
|
"""
|
||||||
manager_utils.node_power_action(task, states.POWER_OFF)
|
manager_utils.node_power_action(task, states.POWER_OFF)
|
||||||
|
task.driver.network.unconfigure_tenant_networks(task)
|
||||||
return states.DELETED
|
return states.DELETED
|
||||||
|
|
||||||
def prepare(self, task):
|
def prepare(self, task):
|
||||||
|
@ -440,6 +441,15 @@ class FuelAgentDeploy(base.DeployInterface):
|
||||||
:param task: a TaskManager instance.
|
:param task: a TaskManager instance.
|
||||||
"""
|
"""
|
||||||
node = task.node
|
node = task.node
|
||||||
|
if node.provision_state == states.DEPLOYING:
|
||||||
|
# Adding the node to provisioning network so that the dhcp
|
||||||
|
# options get added for the provisioning port.
|
||||||
|
manager_utils.node_power_action(task, states.POWER_OFF)
|
||||||
|
# NOTE(vdrok): in case of rebuild, we have tenant network already
|
||||||
|
# configured, unbind tenant ports if present
|
||||||
|
task.driver.network.unconfigure_tenant_networks(task)
|
||||||
|
task.driver.network.add_provisioning_network(task)
|
||||||
|
|
||||||
_prepare_pxe_boot(task)
|
_prepare_pxe_boot(task)
|
||||||
|
|
||||||
node.instance_info = build_instance_info_for_deploy(task)
|
node.instance_info = build_instance_info_for_deploy(task)
|
||||||
|
@ -538,7 +548,11 @@ class FuelAgentVendor(base.VendorInterface):
|
||||||
LOG.info(_LI('Fuel Agent pass on node %s'), node.uuid)
|
LOG.info(_LI('Fuel Agent pass on node %s'), node.uuid)
|
||||||
manager_utils.node_set_boot_device(task, boot_devices.DISK,
|
manager_utils.node_set_boot_device(task, boot_devices.DISK,
|
||||||
persistent=True)
|
persistent=True)
|
||||||
manager_utils.node_power_action(task, states.REBOOT)
|
|
||||||
|
manager_utils.node_power_action(task, states.POWER_OFF)
|
||||||
|
task.driver.network.remove_provisioning_network(task)
|
||||||
|
task.driver.network.configure_tenant_networks(task)
|
||||||
|
manager_utils.node_power_action(task, states.POWER_ON)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
msg = (_('Deploy failed for node %(node)s. Error: %(error)s') %
|
msg = (_('Deploy failed for node %(node)s. Error: %(error)s') %
|
||||||
{'node': node.uuid, 'error': e})
|
{'node': node.uuid, 'error': e})
|
||||||
|
|
Loading…
Reference in New Issue