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 <email address hidden>
Reviewed: https:/ /review. opendev. org/743493 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=6be5a27b361 ebaa36975459a2a 32bf4330ce2660
Committed: https:/
Submitter: Zuul
Branch: stable/queens
commit 6be5a27b361ebaa 36975459a2a32bf 4330ce2660
Author: Jim Rollenhagen <email address hidden>
Date: Mon Apr 23 13:53:00 2018 -0400
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 <email address hidden>
Conflicts:
nova/tests/ unit/compute/ test_compute_ mgr.py
NOTE(melwitt): The conflict is because change 9d754326cd9c81b 6880581641f73e8 is not in Queens.
I755b6fdddc
Closes-Bug: #1766301 c519650f307f25d 087c88bbdb1 a45367bfe7dd853 769c80d816)
Change-Id: I87f085589bb663
(cherry picked from commit e45c5ec819cfba3