nova/nova/virt/ironic
Jim Rollenhagen 6be5a27b36 ironic: add instance_uuid before any other spawn activity
In the baremetal use case, it is necessary to allow a remote
source of truth assert information about a physical node,
as opposed to a client asserting desired configuration.

As such, the prepare_networks_before_block_device_mapping virt
driver method was added, however in doing so network VIF attaching
was moved before actual hardware reservation. As ironic only
supports users to have a number of VIFs limited by the number
of network interfaces in the physical node, VIF attach actions
cannot be performed without first asserting control over the node.

Adding an "instance_uuid" upfront allows other ironic API consumers
to be aware that a node is now in use. Alternatively it also allows
nova to become aware prior to adding network information on the node
that the node may already be in use by an external user.

Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>

Conflicts:
    nova/tests/unit/compute/test_compute_mgr.py

NOTE(melwitt): The conflict is because change
I755b6fdddc9d754326cd9c81b6880581641f73e8 is not in Queens.

Closes-Bug: #1766301
Change-Id: I87f085589bb663c519650f307f25d087c88bbdb1
(cherry picked from commit e45c5ec819)
2020-07-28 10:40:05 +01:00
..
__init__.py Import Ironic Driver & supporting files - part 1 2014-09-05 19:00:12 -04:00
client_wrapper.py Fix {min|max}_version in ironic Adapter setup 2019-04-30 21:19:39 +00:00
driver.py ironic: add instance_uuid before any other spawn activity 2020-07-28 10:40:05 +01:00
ironic_states.py Ironic: Call unprovison for nodes in DEPLOYING state 2015-09-09 10:38:22 +01:00
patcher.py Don't JSON encode instance_info.traits for ironic 2018-02-15 17:06:16 +00:00