| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
Formatting changes in config file required for tox 4.0.
Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I11e076ec25fa05a83d66e0db56bacdd3bbf8a75d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \
| | |
| | |
| | | |
stable/wallaby
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
Change-Id: Ib1d415928a6555298d42e8d525f04eb1028a4bb8
(cherry picked from commit e0c758bb95f92081e54f3c8ed9fa95dcbe7d917e)
|
| |
| |
| |
| |
| |
| | |
Change-Id: Idf7991d8f8a8cebcdc0413f26ad31542f8ffa8a8
See: https://zuul-ci.org/docs/zuul/latest/releasenotes.html#relnotes-4-1-0-deprecation-notes
(cherry picked from commit 63e53797adca625edd2fdacd16a025bedccf8731)
|
|/
|
|
|
|
|
| |
Prevents the ironic-lib CI from testing ironic-lib changes in IPA.
Change-Id: I936f6c1506c585826501ff3ac0bad0c755b4d360
(cherry picked from commit b94e52f55a0c4f9d6f3a771179da4ec5ccbddbd7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|\
| |
| |
| | |
stable/wallaby
|
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|\ \ \
| |/ /
|/| |
| | | |
stable/wallaby
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|\ \ \
| |_|/
|/| |
| | | |
stable/wallaby
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The left/right single quotation marks cause an ascii decode error in
some python3.6 environments.
Change-Id: I80d1b3e7f9e2e23ddaca640714a342b63ae3a5fa
(cherry picked from commit b8ef35a98462c0605aa6efa47932f03e34cf994a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|/
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \
| | |
| | |
| | | |
stable/wallaby
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| | |
Change-Id: I02a8ed6802fffee071e94be3c0cab2382b7e60ca
(cherry picked from commit 3e225d2cd65a7ebb2b469b576b1920cd1f115c42)
(cherry picked from commit 2166672cab884f4aa7152f9ef0ac940f3c9ac317)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|