| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ramdisk deploys don't use IPA, no need to provide it. Cleaning may need
the agent, so only skip verification if cleaning is disabled.
Other boot interfaces may need fixing as well, I haven't checked them.
Change-Id: Ia2739311f065e19ba539fe3df7268075d6075787
(cherry picked from commit 65583e64172a0188d125117d1f2288e105832395)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
Change-Id: I8ead1d24a9bd502b64fe7dd058e77550fcee141c
(cherry picked from commit 73040c88d99f066644277f32e86d196305fc8596)
|
|\ \ \
| |/ /
|/| |
| | | |
bugfix/19.0
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The bugfix/19.0 branch is compatible to stable/yoga
Pinning neutron too after we did it for swift to keep compatibility and
fix CI also in ironic-python-agent bugfix/8.3
Change-Id: I255dbac75a47395991be69ff36e32bb3af311e42
|
|/
|
|
|
|
|
| |
Other image services cannot have them, not use making a network call.
Change-Id: I691ae5b67358ced5f0aa860b9ca6ccec58c897ad
(cherry picked from commit 374d5e5a3037a6b985933e734e902b2e05d805bb)
|
|
|
|
|
|
|
| |
Since bugfix/19.0 is based on stable/yoga pinning swift to that branch to
make it compatible again.
Change-Id: I151c1e90b946a41924a5d43d39ab7b3bbc5c60b7
|
|
|
|
|
|
|
|
|
| |
Also updates tox.ini and tempaltes jobs to use yoga
Prevents the ironic-lib CI from testing ironic-lib changes in IPA.
Change-Id: I936f6c1506c585826501ff3ac0bad0c755b4d360
(cherry picked from commit b94e52f55a0c4f9d6f3a771179da4ec5ccbddbd7)
(cherry picked from commit 5a2d2df4725e696242945996996c949a8c2e5f76)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
Change-Id: Id9428518d21290fb38a0f7471a2cb69a6cb3ffb2
(cherry picked from commit ab68c9d88b76e4ff83f9dffddcc204676fdb50d5)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The anaconda deploy interface wasn't handling configdrive
correctly. This fixes:
- the code was incorrectly treating the config drive as a dict,
whereas it could also be in iso6600 format,
gzipped and base64-encoded. It is handled properly now.
- kickstart commands that deal with the config drive were added
to the end of the kickstart file. Which means that they are
executed after an ironic API request is sent to ironic to
indicate that the node has been provisioned and is ready
to be rebooted. Which means that there is a possible race
condition wrt these commands being completed before the node
is powered off. This has been fixed by putting the API request
at the end of the kickstart file. Also, a sync was added to
ensure that all modifications are written to disk.
- extra newlines ('\n') were incorrectly added to the user data content.
This broke the content-type decoding and cloud-init was unable to
proces them. The extra newlines have been removed.
Conflict: ironic/common/pxe_utils.py prepare_instance_kickstart_config()
due to utils.write_to_file() change in master that isn't avail here.
Manually fixed.
Change-Id: If00342a1bfa3e87b2094061b0e2b0b69de3a8a4f
(cherry picked from commit 09d8a94d5a9b3cabdf7fddc483821fd0df69e5ee)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
Change-Id: I953e948bcfa108d4c8e7b145da2f52b652e52a10
(cherry picked from commit 06cc5d47dcdc49193e5e4e748471eb0b9ae97bbb)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The keystoneauth's error message on connection problems is very
confusing:
Version requested but version discovery document was not found and
allow_version_hack was False
While I'm trying to improve the situation in [1], it still won't be
perfect. This patch adds some context to DiscoveryFailure.
We should probably do the same for other services, but inspector is
particularly affected since it can be used standalone.
[1] https://review.opendev.org/c/openstack/keystoneauth/+/825540
Change-Id: Ibd41580d1389c7584639bf000e330fec5ee1b73d
(cherry picked from commit 503e3658243bf8d793063734151c4f94e3af1fe4)
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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 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)
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
Change-Id: I15189e7f5928126c6b336b1416ce6408a4950062
(cherry picked from commit bbceca562e0b552cd2fc33b2833931ab3cbbfce5)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Node history was particularly affected: limit was not converted from
string to integer, so "next" link was never added.
Add some safeguards to the generic API code.
Change-Id: I1328e2f07621bf7e39b96eb4a7ddb66c9a2b65bb
(cherry picked from commit 55144d3bd262be35c7a034fea083c3ed73fd63d8)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
(cherry picked from commit e851d63464597f8825d4c14c0e632d39b82dbc4d)
|
|/
|
|
|
|
|
|
| |
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)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Story: 2009772
Task: 44249
Change-Id: I8e559b3c7e833c361e12d01d744510ac5c8d8cf6
(cherry picked from commit b824ea7fa8874e63cfe11bc82ce0dc049680344f)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Some adapters may have addresses that are not MAC. See for example:
https://github.com/metal3-io/ironic-image/issues/314
Change-Id: I0023e0750e372185747ca28cddd2a8dda110dd7f
(cherry picked from commit 9308c0a0b689fec5ca72ecb008a824ea23667a07)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Change-Id: I423b387a9fe9b4d0a13ecf31a89f04c32cb26950
(cherry picked from commit 6fed0964a5cd913264165ca8c218a9e26b913ab2)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently duplicate DHCP options are added when a port have
multiple address in the same address familiy. The duplicate
entries cause an internal server error in neutron.
This fixes the issue by only adding DHCP options for each
IP-version.
Story: 2009774
Task: 44255
Change-Id: I8bef819dc3101f88f4e04ea986e1039e34d917ed
(cherry picked from commit c4721da2d899e1c51e716577e776c6ee14e2e35e)
|
|
|
|
|
|
|
| |
Add branch mapping so that devstack jobs work. Use master for Bifrost
(which is not strictly correct but is good enough).
Change-Id: I4606a278a55d00fbfd2b0c60c51b0f13cae8a06e
|
|
|
|
|
|
|
|
|
| |
`TaskMonitor.task_monitor` is deprecated and was removed from sushy
at Ie48fab19199c0c2f3455d2212d50460a29685eed. Somehow missed to
update it for `redfish` firmware upgrade steps previously.
Change-Id: Iced8e921335995e1e084d6e632c6e81d3fc9249f
(cherry picked from commit 9076f185ca40e7629523b926ddf817da1ca6b4a8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We validate the boot interface during adoption because of:
a) potential rebuilding,
b) non-local boot.
Rebuild proved a rarely used feature, and local boot is the default
nowadays, so it makes less sense to unconditionally validate the boot
interface during adoption. We will run the validation anyway the next
time we need to do something with booting.
Similarly, do not record is_whole_disk_image None if it cannot be
reliably determined.
Change-Id: I95252aea808c48ea2d94569449c871f0d483caaa
(cherry picked from commit d342b07dd6f8c5478f37a31b14e77bba6bef55e2)
|
|
|
|
| |
Change-Id: Ib01b711eeacbe16b1fb6afd5a862e36d60cef9ad
|
|
|
|
|
|
| |
We're seeing OOM events in CI, hopefully this helps.
Change-Id: Id8c0e4830011ca2fa526df461ed5b9b01f769cf9
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change replaces the 10 second sleep with a retry that has a
timeout of 20 seconds to discover the name of the tap device.
There are gate failures when there is still not a tap device after the
10 second sleep, so this approach should be faster in the common case,
and the higher timeout should provide more reliability.
Change-Id: I5e59ade9f830182b483b9655aaaf6c93b0bfac44
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using the new combined executable in a single-conductor scenario,
it may make sense to completely disable the remote RPC. The new
``rpc_transport`` value ``none`` achieves that.
Change-Id: I6a83358c65b3ed213c8a991d42660ca51fc3a8ec
Story: #2009676
Task: #44104
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a new executable /usr/bin/ironic (cool that we no longer have
a CLI with this name) that starts API and conductor together in the same
process. When an RPC host name matches the current one, the call is not
routed through the remote RPC, a local function call is done instead.
Story: #2009676
Task: #43953
Change-Id: I51bf7226aea145dc7c8fd93d61caa233ca16c9c9
|
| | |
| | |
| | |
| | |
| | |
| | | |
Not having it breaks the inspector grenade job.
Change-Id: I7ee28a85cb2005dd69e6711b301cd029b8ca40cc
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Making updates to driver_internal_info can result in hard to read code
due the requirement to assign the whole driver_internal_info back to
the node to trigger the expected update operation. This change
replaces driver_internal_info update operations with a new
methods:
- set_driver_internal_info
- del_driver_internal_info
- timestamp_driver_internal_info
This change defines the functions and moves core conductor logic to
use them. Subsequent changes in this series will move drivers to use
the new functions.
Change-Id: Ib8917c3c674e77cd3aba6a1e73c65162e3ee1141
|