summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Move and fix reno config for releasenotes jobstable/wallabyJay Faulkner2023-01-272-4/+5
| | | | | | | | | | | | | In its current place, reno config changes will not cause build-openstack-releasenotes job to run, which means changes can land to that config without being tested. Yikes! Also fixes error in regexp which was preventing this from actually fixing the build-openstack-releasenotes job. Co-Authored-By: Adam McArthur <adam@mcaq.me> Change-Id: I4d46ba06ada1afb5fd1c63db5850a1983e502a6c (cherry picked from commit fbe22b23bc3f1c89822e17417747378c9449ebeb)
* Prevent pxe retry when agent token existsJulia Kreger2022-12-193-0/+25
| | | | | | | | | | | | | | | | A race condition can be observed in CI under heavy load where the conductor triggers are boot of the agent before it is fully online based upon state, but not considering the existence of an agent token. As a result, agent is never able to check in with Ironic and the overall operation fails. We now consider agent token's existence before retrying PXE as it is the very earliest indicator of a starting agent. Change-Id: Ice764866a08647031d16570860ec384204269501 Story: 2010107 Task: 45674 (cherry picked from commit d75424b5e5685a9cf04b30a5b0555efd1313e9c3)
* Fixes for tox 4.0Jay Faulkner2022-12-151-2/+7
| | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
* Add support auth protocols for iRMCShukun Song2022-11-296-12/+40
| | | | | | | | | | | | | | | This patch adds new SNMPv3 auth protocols to iRMC which are supported from iRMC S6. Conflicts: ironic/conf/irmc.py ironic/drivers/modules/irmc/common.py Change-Id: Id2fca59bebb0745e6b16caaaa7838d1f1a2717e1 Story: 2010309 Task: 46353 (cherry picked from commit 233c6408389be5f3e271b46154943bc744e0290e) (cherry picked from commit be0e687538c60b5273bc5a24829c137ad36b1661)
* Merge "Remove un-needed tabs from script" into stable/wallabyZuul2022-11-220-0/+0
|\
| * Remove un-needed tabs from scriptJulia Kreger2022-11-211-4/+4
| | | | | | | | Change-Id: I11e076ec25fa05a83d66e0db56bacdd3bbf8a75d
* | Add SNMPv3 authentication functionalityShukun Song2022-11-1510-60/+541
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when using SNMPv3, iRMC driver does not use SNMPv3 authentication parameters so the SNMPv3 authentication will always fail. And iRMC cannot recognize FIPS mode, so when FIPS mode is enabled, iRMC driver could still use non-FIPS-compliant algorithms. This commit changes iRMC driver to require and use SNMPv3 authentication parameters when 'irmc_snmp_version' is set to v3 and also makes iRMC driver to force 'irmc_snmp_version' to v3, 'irmc_snmp_auth_proto' to SHA and 'irmc_snmp_priv_proto' to AES when FIPS mode is enabled, because currently among the algorithms supported by iRMC, only SHA and AES are FIPS compliant. Conflicts: doc/source/admin/drivers/irmc.rst ironic/common/utils.py ironic/drivers/modules/irmc/common.py Change-Id: Id6f8996e4d103f849325f54fe0619b4acb43453a Story: 2010085 Task: 45590 (cherry picked from commit 79f82c0262c84f1e317991052d065259b3a4683d) (cherry picked from commit c274231bf5bb9260d2b13865ab20f39131d30b4b)
* | Merge "Stable only: Factor out addition of packaging lib" into stable/wallabywallaby-em17.1.0Zuul2022-10-123-3/+633
|\ \
| * | Stable only: Factor out addition of packaging libJay Faulkner2022-10-123-3/+633
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding a new library to a stable branch is against stable policy, but we landed the patch anyway. In order to faciliate making a release without violating policy against stable versions not introducing new requirements, we've imported the relevant needed methods from the packaging library locally. Change-Id: Idca63219ee0491404bcecdc3ff74160e220d6511
* | | [Wallaby only] - Fix bashate E002/E003Harald Jensås2022-10-111-4/+4
|/ / | | | | | | | | | | | | | | | | On the stable/wallaby branch pep8 fails when bashate===2.1.1 is used. This change replace use of tabs with regular spaces to fix this issue. Related: RHBZ#2133781 Change-Id: I4c45c67f4727c2598e64408c231b92890e710099
* | Merge "Fix iRMC driver to use certification file in HTTPS" into stable/wallabyZuul2022-09-2810-50/+491
|\ \
| * | Fix iRMC driver to use certification file in HTTPSVanou Ishii2022-09-1810-50/+491
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies iRMC driver to use certification file when it connects to iRMC via HTTPS Conflicts: doc/source/admin/drivers/irmc.rst driver-requirements.txt ironic/drivers/modules/irmc/common.py ironic/drivers/modules/irmc/raid.py ironic/tests/unit/drivers/modules/irmc/test_common.py ironic/tests/unit/drivers/modules/irmc/test_power.py releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml Change-Id: If69ce1cf2789d9d60fb8e544596cf7d29eab514d Co-authored-by: Kobayashi Daisuke <kobayashi.da-06@fujitsu.com> Co-authored-by: Song Shukun <song.shukun@jp.fujitsu.com> Story: 2009801 Task: 44345 (cherry picked from commit 64d7a7f3077bc000a18c4a0c56f122941b262483) (cherry picked from commit 6c0152afa141d05ee28cba81178622021574ae17) (cherry picked from commit 931f13d3c547928d57052eeae1d8d2fb8c6bd194)
* | Do not reboot into nowhere after BIOS settings with fast-trackDmitry Tantsur2022-09-264-26/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the prepare_ramdisk implementation of the redfish-virtual-media boot interface skips configuring an ISO in fast-track mode. When rebooting after BIOS/RAID settings changes, we need to enforce the correct ISO configuration. Conflicts: ironic/drivers/modules/deploy_utils.py ironic/drivers/modules/redfish/bios.py Change-Id: Ibdfe0775065f3b27478305dd18929a291df3ee3c (cherry picked from commit 89f421b166915a22626dcb919382ce13f4588973) (cherry picked from commit d85d7f8ac52f289b7b01096c65757b68791f4bd4) (cherry picked from commit 66373aadc04974de0838abc43c5f9cf113781f1f)
* | Update raid_type handling for Redfish raid_configAija Jauntēva2022-08-102-1/+28
|/ | | | | | | | | | | | | | Fix indentation for case when raid_type is missing. Generally, it is not expected that raid_type will be missing, this is done as a precaution as raid_type was introduced in Redfish 1.3.1. Now log warning that raid_type is missing, thus cannot update raid_config correctly. Followup to I753c4b00c0a64bcdc89c9bc0afd46f1211f7847b Change-Id: Id66b87309dd26a2a165b35ac1d81580e4605d629 (cherry picked from commit 3a621e3983eb2eb1d013d687acc3f5981cdfbc64)
* Modify test code to avoid CONF modification affectionVanou Ishii2022-08-097-112/+113
| | | | | | | | | | | | | | | | | | Few unit tests change attribute of CONF variable via Python assignment. This changes attribute of CONF, which is instance of XxxOpt class defined in oslo_config, to Python literal value. This affects result of another unit test. To avoid this, we should change attribute of CONF variable with set_override method. Change-Id: I4bd8b1b4ea974834f1149fcaa79de85d24f5f7d1 Story: 2010214 Task: 45956 (cherry picked from commit 3b28d0984d5eb82320c632dd5840cebf6d0762ad) (cherry picked from commit 593a547a8dbbbeee2225520812f8b235c39656b0) (cherry picked from commit 3f624e5caa83acf9b98443cf32cb0cd69143c6e2)
* Change molds option to appropriate classVanou Ishii2022-08-091-2/+2
| | | | | | | | | | | | At current, retry_attempt & retry_interval in ironic.conf [molds] is instance of StrOpt. However it should be IntOpt class. If it remains to StrOpt class, tenacity.retry wrapper in common/molds.py will fail with TypeError. Change-Id: Iafedf2ec0326009585c1cac251ecae65c9e666ac Story: 2010215 Task: 45957 (cherry picked from commit 35bc014ed94ee0c78ee8d44113fcea721f0c1af0)
* Fix Redfish RAID to update raid_configAija Jauntēva2022-07-285-5/+165
| | | | | | | | | | | | Story: 2003514 Task: 41940 Conflicts: ironic/drivers/modules/redfish/raid.py ironic/tests/unit/drivers/modules/redfish/test_raid.py Change-Id: I753c4b00c0a64bcdc89c9bc0afd46f1211f7847b (cherry picked from commit 29364b7fb40327dc277c535e5b829133274ad420)
* Fix Redfish RAID for non-immediate controllersAija Jauntēva2022-07-284-144/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes ``redfish`` RAID interface workflow to not create more than 1 logical disks per controller at the same time when controller does not support 'Immediate' application time and system needs rebooting. With this fix virtual disks are grouped by controller and executed in batches when reboot is required. This enables ``redfish`` RAID interface to be used with iDRAC systems directly as although there are many controllers that support 'Immediate' application time, they do it only when system has completed loading. System intermittently completes loading after IPA starts executing clean or deploy steps rendering controllers not supporting 'Immediate' apply time and requiring reboot. This fix handles such scenario instead of failing to create more than 1 virtual disk. Story: 2009863 Task: 44529 Conflicts: ironic/drivers/modules/redfish/raid.py Change-Id: Ia2ce34f09695731b0f48798f662006c4904e2223 (cherry picked from commit d7d8f8754b36af4b686ce540e699fc5cb945c10c)
* Merge "Fix redfish RAID failed tasks" into stable/wallabyZuul2022-07-275-39/+126
|\
| * Fix redfish RAID failed tasksAija Jauntēva2022-07-045-39/+126
| | | | | | | | | | | | | | | | | | | | | | Redfish Tasks do not report failures via HTTP status codes. Instead have to check TaskState and TaskStatus. Story: 2009767 Task: 44244 Change-Id: I8f9a89d18d22d18a2e695fde894bcd27f18f8954 (cherry picked from commit 196d8f7fc055667af501ea0569ba5c501a2c6e8d)
* | Merge "Improve dependency resolution in driver-requirements.txt" into ↵Zuul2022-07-182-1/+7
|\ \ | | | | | | | | | stable/wallaby
| * | Improve dependency resolution in driver-requirements.txtMark Goddard2022-07-132-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building the Kolla ironic-conductor image for Ubuntu using Python 3.8 in Wallaby, I noticed the build taking a very long time (25 minutes in Zuul vs ~2 minutes for Xena). There is a lot of backtracking in the pip dependency resolver. I tried limiting each of the deps in driver-requirements.txt to a minor version, and the one that really made the difference was ansible. Note that this does not appear to affect later branches, which happily install Ansible 6.0.0. It also does not affect CentOS Stream 8, which has Python 3.6 and is therefore limited to Ansible 4.x. Change-Id: If29a86501dcc4faa60ead056aa339031cea41cab
* | | Merge "Fix prepare ramdisk for 'wait' states" into stable/wallabyZuul2022-07-154-31/+25
|\ \ \
| * | | Fix prepare ramdisk for 'wait' statesAija Jauntēva2022-07-014-31/+25
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Node can be in CLEANWAIT or DEPLOYWAIT during async step handling when it needs another reboot. Without this change node fails to boot back to IPA. This unifies all occurrences and create utility method for reuse. All occurrences are aligned to have the same set of states in case they are needed in future. Conflicts: ironic/drivers/utils.py Change-Id: I685c5827a70df4abb358635d89b86894671ac493 (cherry picked from commit dd1cb46f2b0146524f0cb4d3579ac5c5b9a6fa45)
* | | Fix redfish-virtual-media for newer iDRACsAija Jauntēva2022-07-017-20/+76
|/ / | | | | | | | | | | | | | | | | | | | | | | The issue with standard Redfish virtual media boot has been fixed now. Update to restrict use of redfish-virtual-media based on iDRAC firmware version. Conflicts: ironic/drivers/modules/redfish/boot.py Change-Id: I8ead1d24a9bd502b64fe7dd058e77550fcee141c (cherry picked from commit 73040c88d99f066644277f32e86d196305fc8596)
* | CI: Add iweb to the use tinyipa on listJulia Kreger2022-06-271-3/+6
| | | | | | | | | | Change-Id: Ib1d415928a6555298d42e8d525f04eb1028a4bb8 (cherry picked from commit e0c758bb95f92081e54f3c8ed9fa95dcbe7d917e)
* | CI: Removing ironic job queueJulia Kreger2022-05-261-1/+0
| | | | | | | | | | | | Change-Id: Idf7991d8f8a8cebcdc0413f26ad31542f8ffa8a8 See: https://zuul-ci.org/docs/zuul/latest/releasenotes.html#relnotes-4-1-0-deprecation-notes (cherry picked from commit 63e53797adca625edd2fdacd16a025bedccf8731)
* | Fix ironic-lib from source and branch detection in IPA buildsDmitry Tantsur2022-05-021-1/+7
|/ | | | | | | Prevents the ironic-lib CI from testing ironic-lib changes in IPA. Change-Id: I936f6c1506c585826501ff3ac0bad0c755b4d360 (cherry picked from commit b94e52f55a0c4f9d6f3a771179da4ec5ccbddbd7)
* Fix rebuilds using anaconda deploy interfaceRuby Loo2022-03-153-33/+64
| | | | | | | | | | | | | | | | | | | | | The anaconda deploy interface was saving internal information in the node's instance_info, in the user-facing 'stage2' and 'ks_template' fields. This broke rebuilds using a different image with different stage2 or template specified in the image properties. This has been fixed by saving the information in the node's driver_internal_info instead. Addresses comments/nits from https://review.opendev.org/c/openstack/ironic/+/827924. Conflict: ironic/common/pxe_utils.py & ironic/drivers/modules/pxe.py because Node.[set|del]_driver_internal_info() are only avail in master; changed to copy the dict, make the changes, and then set the node's driver_internal_info to the updated dict. Change-Id: Id9428518d21290fb38a0f7471a2cb69a6cb3ffb2 (cherry picked from commit ab68c9d88b76e4ff83f9dffddcc204676fdb50d5) (cherry picked from commit 42ec7df183591acf0078982e3385893585b86fbb)
* Merge "Build the new cirros image even when netboot is the default" into ↵Zuul2022-03-141-4/+6
|\ | | | | | | stable/wallaby
| * Build the new cirros image even when netboot is the defaultDmitry Tantsur2022-02-221-4/+6
| | | | | | | | | | | | | | | | The standalone job changes boot_option in runtime, so local boot can be used even when the default boot option is netboot. Change-Id: Ia538907f3662e8cd84d988ea5d862c7f488558e1 (cherry picked from commit 7ac480412626c38fa3493088dbf49e29303491b6)
* | Merge "More fixes for anaconda deploy interface" into stable/wallabyZuul2022-03-115-45/+93
|\ \
| * | More fixes for anaconda deploy interfaceRuby Loo2022-03-045-45/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The anaconda deploy interface has a few issues that are addressed here: - fixes logic in get_instance_image_info() for anaconda. If the ironic node's instance_info doesn't have both 'stage2' and 'ks_template' specified, we weren't using any values from the instance_info. This has been fixed to use values from instance_info if specified. Otherwise, they are set as follows: The 'stage2' value is taken from the image properties. We use the value for 'ks_template' if it is specified in the image properties. If not (since it is optional), we use the config option's '[anaconda]default_ks_template' value. setting. - For anaconda's stage2 directory, we were incorrectly creating a directory using the full path of the stage2 file. It now correctly creates the right directory. - The anaconda deploy interface expects the node's instance_info to be populated with the 'image_url'; added code to do that in PXEAnacondaDeploy's prepare() method. - When the deploy is finished and the bm node is being rebooted, we incorrectly set the node's provision state to 'active' instead of doing it via the provisioning state machine mechanism. - The code that was doing the validation of the kickstart file was incorrect and resulted in errors; this has been addressed. - The '%traceback' section in the packaged 'ks.cfg.template' file is deprecated and fails validation, so it has been removed. Conflict: ironic/common/pxe_utils.py, cache_ramdisk_kernel(), due to code changes in master that aren't in xena. Manually fixed. Change-Id: I953e948bcfa108d4c8e7b145da2f52b652e52a10 (cherry picked from commit 06cc5d47dcdc49193e5e4e748471eb0b9ae97bbb)
* | | Merge "Set correct initrd_filename for iPXE when using Swift" into ↵Zuul2022-03-073-5/+20
|\ \ \ | |/ / |/| | | | | stable/wallaby
| * | Set correct initrd_filename for iPXE when using SwiftDmitry Tantsur2022-02-153-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iPXE derives its "file names" from the last component of the URL path. In case of the conductor's local server it's {mode}_{component} where mode = deploy/rescue and component = kernel/ramdisk. However, in case of Swift/Ceph, the last component will be different. This patch accounts for it. Change-Id: I7ba5545032069509a9c302abe1c21537ccb5ec8a (cherry picked from commit c975eaa8c67d917feac75c9053cddcfb708e08a3)
* | | Merge "CI: force config drive on the multinode job's subnode" into ↵Zuul2022-02-231-0/+1
|\ \ \ | |_|/ |/| | | | | stable/wallaby
| * | CI: force config drive on the multinode job's subnodeDmitry Tantsur2022-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We need configdrives to pass information reliably, and the new cirros image does not work without them. Change-Id: I6cafa050d5c1c8289483f968d26c50485fd4528a (cherry picked from commit 2f09b7b1026551cb5818436a3714260fee9fcac4)
* | | Ensure tox.ini is ASCIISteve Baker2022-02-181-1/+1
|/ / | | | | | | | | | | | | | | The left/right single quotation marks cause an ascii decode error in some python3.6 environments. Change-Id: I80d1b3e7f9e2e23ddaca640714a342b63ae3a5fa (cherry picked from commit b8ef35a98462c0605aa6efa47932f03e34cf994a)
* | CI: use a custom cirros partition image instead of the defaultDmitry Tantsur2022-02-176-3/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cirros partition images are not compatible with local boot since they don't ship grub (nor a normal root partition). This change adds a script that builds a partition image with UEFI artifacts present. It still cannot be booted in legacy mode, but it's a progress. Set the tempest plugin's partition_netboot option. We need it to inform the tempest plugin about the ability to do local boot. This option already exists but is never set. Also set the new default_boot_option parameter, which will be introduced and used in Iaba563a2ecbca029889bc6894b2a7f0754d27b88. Remove netboot from most of the UEFI jobs. Conflicts: devstack/files/bindep.txt zuul.d/ironic-jobs.yaml Change-Id: I15189e7f5928126c6b336b1416ce6408a4950062 (cherry picked from commit bbceca562e0b552cd2fc33b2833931ab3cbbfce5)
* | Merge "Avoid non-Stream CentOS" into stable/wallabyZuul2022-02-161-1/+1
|\ \ | |/ |/|
| * Avoid non-Stream CentOSDmitry Tantsur2022-02-011-1/+1
| | | | | | | | | | | | | | | | This is a partial cherry-pick of 720b42d538c406d852651758375e02ef29d82cc5, we don't need to disable the standalone job since it's not broken here. Change-Id: I8bd051ea709d328cb5efa2c2cbd5a226bdb4cfd3 (cherry picked from commit 720b42d538c406d852651758375e02ef29d82cc5)
* | Add additional ramdisk testsJulia Kreger2022-01-263-1/+138
|/ | | | | | | | | | Noticed we're missing some test coverage in regards to booting from ramdisks when I was investigating an issue which was reported against wallaby. Adds tests which *should* catch the issue I'm chasing in wallaby. Change-Id: I4965d0cc3966c50fa0485b5e194248dd2072f7a8
* Merge "Remove redfish cache entry upon errors" into stable/wallabyZuul2022-01-214-1/+113
|\
| * Remove redfish cache entry upon errorsJulia Kreger2021-12-074-1/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some transient errors can ultimately cause the client to need to be completely restarted due to cached connection data. Ironic now explicitly removes the cache entry when a sushy AccessError or python AttributeError is detected originating from the library. This will now result in the prior cached connection object to be discarded, and upon the next attempt to interact with the same node, a new connection will be launched. This will result in new sessions being created, but in all likelihood the prior session had already timed out or had been administratively removed. Sushy's code, as of https://review.opendev.org/c/openstack/sushy/+/820076 will raise SessionService lookup access errors as AccessErrors. Prior to that change, they should have been raised as AttributeError as the previous call sould have returned None to be used as an object. *Also* Includes follow-up change Ia59f774c9340e3a6fa63418afedf12098c709052 squashed into this change, and necessary backport friendly mock of AccessError which had changed since this release of ironic. Change-Id: Icc6e5dd74d9f15e679a7e764fe49238ed6b8dc1e Story: 2009719 Task: 44107 (cherry picked from commit 1439af27ba2bd31fb85369754c648a45ee9ca14b) (cherry picked from commit 01997c8418b9e6ade47437b09dd9412310b90eac) (cherry picked from commit e3e7deaf48a5315fe10350e8a87b2fcc4e189406) (cherry picked from commit ab5495eecb409b37ad853a679032d6cdb4fefc72)
* | Merge "Set resource_url when getting all ports or portgroups" into ↵Zuul2022-01-204-2/+14
|\ \ | | | | | | | | | stable/wallaby
| * | Set resource_url when getting all ports or portgroupsArne Wiebalck2022-01-184-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | Since the default value resource_url is None, make sure the parameter is set to 'ports' when getting all ports. Change-Id: Id603ae5a4a802dfc8f866b15c8d327d95eba9310 (cherry picked from commit 2ac740e09d44bb91d0ec4180a1b5e500bc844f7c)
* | | Set resource_url when getting all nodesArne Wiebalck2022-01-183-0/+15
|/ / | | | | | | | | | | | | | | Since the default value resource_url is None, make sure the parameter is set to 'nodes' when getting all nodes. Change-Id: I6cc52eb56c7888a433d24aa79154143d6f35cf83 (cherry picked from commit 69227c66c25d49beab3210bdf08f53cbde78d87f)
* | Trivial: log current state when continuing cleaningDmitry Tantsur2022-01-142-5/+9
| | | | | | | | | | | | Change-Id: I02a8ed6802fffee071e94be3c0cab2382b7e60ca (cherry picked from commit 3e225d2cd65a7ebb2b469b576b1920cd1f115c42) (cherry picked from commit 2166672cab884f4aa7152f9ef0ac940f3c9ac317)
* | Merge "Ensure 'port' is up2date after binding:host_id" into stable/wallabyZuul2022-01-133-1/+13
|\ \
| * | Ensure 'port' is up2date after binding:host_idHarald Jensås2022-01-123-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On neutron routed provider networks IP allocation is deferred until 'binding:host_id' is set. When ironic creates neutron ports it first creates the port, then updates the port setting binding information. When using IPv6 networking ironic adds additional address allocations to ensure network chain-booting will succeed. When address allocation is deferred on port create ironic cannot detect that IPv6 is used and does not add the required additional addresses. This change ensures the 'port' object is updated after the port update setting the port binding required for neutron to allocate the address. This allows ironic to correctly detect IPv6 is used, and it will add the required IP address allocations. Story: 2009773 Task: 44254 Change-Id: I863dd4ab9615a9ce3b3dcb8798af674ac9966bf2 (cherry picked from commit 3404dc913e0a0a595c3696454b878b716833d612)