c2c72eef975eda9afbb1fe2ee06740a5d577c187
Commit Graph

2690 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Riccardo Pittau
b8d01d31a2 Add ipa-tox-examples job to gate
The ipa-tox-examples job is voting but it's missing from gate
Change-Id: Ie47066084172d8e06eb1f6f097b0354b3b800612
2022年05月31日 09:41:41 +02:00
Zuul
9dca97736f Merge "Add a metalsmith job with legacy boot" 2022年05月30日 13:05:45 +00:00
Julia Kreger
16a38600a8 Update oslo.log requirement to 4.6.1
Previously IPA was set to enforce a minimum version of 3.36.0 which
was a Python2 version build which does did not support more recent
versions of python. Given that relationship is realistically impossible
moving the minimum to something released a bit more recently, in this
case 4.6.1.
Change-Id: Ibfbcc1196eb9f583ba9d79bae7988d64de514f6d
2022年05月24日 08:17:02 -07:00
Julia Kreger
be5d1463bb CI: Removing ironic job queue
Please see:
https://zuul-ci.org/docs/zuul/latest/releasenotes.html#relnotes-4-1-0-deprecation-notes
Change-Id: I341b8a2220a49c5a7c3f78fed3a1baa0f0638cde
2022年05月19日 11:20:23 -07:00
Julia Kreger
014d37743a Multipath Hardware path handling
Removes multipath base devices from consideration by
default, and instead allows the device-mapper device
managed by multipath to be picked up and utilized
instead.
In effect, allowing us to ignore standby paths *and*
leverage multiple concurrent IO paths if so offered
via ALUA.
In reality, anyone who has previously built IPA with
multipath tooling might not have encountered issues
previously because they used Active/Active SAN storage
environments. They would have worked because the IO lock
would have been exchanged between controllers and paths.
However, Active/Passive environments will block passive
paths from access, ultimately preventing new locks from
being established without proper negotiation. Ultimately
requiring multipathing *and* the agent to be smart enough
to know to disqualify underlying paths to backend storage
volumes.
An additional benefit of this is active/active MPIO devices
will, as long as ``multipath`` is present inside the ramdisk,
no longer possibly result in duplicate IO wipes occuring
accross numerous devices.
Story: #2010003
Task: #45108
Resolves: rhbz#2076622
Resolves: rhbz#2070519
Change-Id: I0fd6356f036d5ff17510fb838eaf418164cdfc92
2022年05月18日 20:26:39 -03:00
Zuul
2c22e60b45 Merge "Remove support for distributions with Python 3.6" 2022年05月17日 12:01:51 +00:00
Dmitry Tantsur
21b075cd3f Add a metalsmith job with legacy boot
With netboot removal, this will be the only job that tests local legacy
boot with partition images.
Depends-On: https://review.opendev.org/c/openstack/metalsmith/+/841911
Change-Id: Id3f165286cfc47dcf45c042115a63804a0c671e8
2022年05月17日 12:51:43 +02:00
Zuul
7beb35445b Merge "Drop lower-constraints.txt and its testing" 2022年05月16日 19:34:55 +00:00
Zuul
ec01ed109f Merge "Revert "The Python 3.6 and Python 3.7Support has been dropped since yaga"" 2022年05月16日 11:48:58 +00:00
Dmitry Tantsur
2294db5126 Revert "The Python 3.6 and Python 3.7Support has been dropped since yaga"
This reverts commit c4d2851a13.
Reason for revert: 3.6 is not broken yet, except that this change
breaks it. Let us revert until we fully switch to Stream 9.
Change-Id: Ia2870135a90128f744afb9c45524ab003878843f
2022年05月16日 11:24:39 +00:00
Dmitry Tantsur
5916e7af21 Remove support for distributions with Python 3.6
IPA can no longer be installed on them, other projects will follow.
Change-Id: I945520d912564be610cee3990bad827549747904
Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/841562 
2022年05月12日 11:55:28 +02:00
Zuul
c2bbcd7dc3 Merge "The Python 3.6 and Python 3.7Support has been dropped since yaga" 2022年05月11日 16:12:37 +00:00
Riccardo Pittau
f1d45a60e7 Drop lower-constraints.txt and its testing
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.
[1] https://etherpad.opendev.org/p/tc-zed-ptg#L326
[2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal
Change-Id: I16ea0a61c018d03d6c23e0b0736295a36b6dd367
2022年05月10日 09:46:19 +02:00
Zuul
6b8f387498 Merge "Collect a full lsblk output in the ramdisk logs" 2022年05月09日 14:21:43 +00:00
likui
c4d2851a13 The Python 3.6 and Python 3.7Support has been dropped since yaga
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: Ifeec26e57dd2b2908da4f161032b37edf99cb8b8
2022年05月09日 15:29:33 +08:00
Zuul
979eea621e Merge "Do not try to guess EFI partition path by its number" 8.6.0 2022年05月05日 15:17:35 +00:00
Dmitry Tantsur
f09f6c9f1a Do not try to guess EFI partition path by its number
The logic of adding a partition number to the device path does not work
for devicemapper devices (e.g. a multipath storage device).
Change-Id: I9a445e847d282c50adfa4bad5e7136776861005d
2022年05月04日 15:06:02 +02:00
Dmitry Tantsur
65c4de903a Use a pre-defined partition UUID to detect configdrive on GPT
Using partition numbers is currently broken for devicemapper devices.
Fortunately, GPT has partition UUIDs, so we can just generate one and
use it for lookup.
Change-Id: I41ffe4f8e4c6e43182090b5aa2a2b4b34f32efd5
2022年04月29日 16:56:53 +02:00
Dmitry Tantsur
424e649bed Collect a full lsblk output in the ramdisk logs
The existing lsblk call is very handy for an overview, but there a lot
more useful pairs to collect. Collect them in a machine-readable format
to be able to use in debugging and further development.
Change-Id: Ib27843524421944ee93de975d275e93276a5597a
2022年04月29日 14:24:19 +02:00
Riccardo Pittau
8111475eb0 Use Werkzeug modern version
Request class from Werkzeug now includes json capability by default.
See [1] and [2] for more info.
[1] 2cd4fa9484
[2] 7b52ecd8f3
Change-Id: I3c74b26ef4aff07c371364203a5b39c658b552a7
2022年04月14日 10:47:06 +00:00
f9a7871ea0 Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I25719dcd3035816d934b806ae129051df322bf9c
2022年03月23日 14:34:08 +00:00
cbdb4dd8f3 Update master for stable/yoga
Add file to the reno documentation build to show release notes for
stable/yoga.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.
Sem-Ver: feature
Change-Id: Ib1aa5d02cc5dc32bc4eebf6982d3f00d44e703f3
2022年03月23日 14:34:06 +00:00
Zuul
a247fbcc8c Merge "Refactor efi_utils for easier maintaining and debugging" 8.5.0 2022年03月18日 20:55:57 +00:00
Zuul
f08f70134d Merge "Improve efficiency of storage cleaning in mixed media envs" 2022年03月15日 18:05:29 +00:00
Jacob Anders
c5f7f18bcb Improve efficiency of storage cleaning in mixed media envs
https://storyboard.openstack.org/#!/story/2008290 added support
for NVMe-native storage cleaning, greatly improving storage clean
times on NVMe-based nodes as well as reducing device wear.
This is a follow up change which aims to make further improvements
to cleaning efficiency in mixed NVMe-HDD environments. This is
achieved by combining NVMe-native cleaning methods on NVMe devices
with traditional metadata clean on non-NVMe devices.
Story: 2009264
Task: 43498
Change-Id: I445d8f4aaa6cd191d2e540032aed3148fdbff341
2022年03月15日 19:00:25 +10:00
Zuul
db981d07a4 Merge "CI: be explicit that the jobs are using the DIB ramdisk" 2022年03月12日 04:12:04 +00:00
Zuul
6ddcf4895d Merge "Add non-voting dib CentOS Stream 9 job" 2022年03月11日 20:11:33 +00:00
Zuul
de28b7bfdc Merge "Create fstab entry with appropriate label" 2022年03月11日 00:40:01 +00:00
Julia Kreger
99ca1086db Create fstab entry with appropriate label
Depending on the how the stars align with partition images
being written to a remote system, we *may* end up with
*either* a Partition UUID value, or a Partition's UUID value.
Which are distinctly different.
This is becasue the value, when collected as a result of writing
an image to disk *falls* back and passes the value to enable
partition discovery and matching.
Later on, when we realized we ought to create an fstab entry,
we blindly re-used the value thinking it was, indeed, always
a Partition's UUID and not the Partition UUID. Obviously,
the label type is quite explicit, either UUID or PARTUUID
respectively, when initial ramdisk utilities such as dracut
are searching and mounting filesystems.
Adds capability to identify the correct label to utilize
based upon the current state of the block devices on disk.
Granted, we are likely only exposed to this because of IO
race conditions under high concurrecy load operations.
Normally this would only be seen on test VMs, but
systems being backed by a Storage Area Network *can*
exibit the same IO race conditions as virtual machines.
Change-Id: I953c936cbf8fad889108cbf4e50b1a15f511b38c
Resolves: rhbz#2058717
Story: #2009881
Task: 44623
2022年03月10日 07:04:01 -08:00
Riccardo Pittau
96673b1829 Add non-voting dib CentOS Stream 9 job
We recently enabled voting CS9 jobs in ipa-builder, let's also add the
same check job here.
Change-Id: Iaf2e56e0a1f6ca35272bcaedf3cb73273080b7ef
2022年03月10日 09:09:32 +01:00
Zuul
59c02f48cc Merge "Run partx in verbose mode to simplify debugging" 2022年03月08日 12:35:29 +00:00
Zuul
63171c7f38 Merge "Add mount and parted -l to the collected commands" 2022年03月08日 12:16:19 +00:00
Zuul
bcd5d11d9a Merge "Rescan device after filesystem creation" 2022年03月07日 18:37:50 +00:00
Zuul
cf46443120 Merge "Use utf-16-le if BOM not present" 2022年03月02日 16:55:43 +00:00
Riccardo Pittau
697fa6f3b6 Use utf-16-le if BOM not present
In case no BOM is present in the CSV file the utf-16 codec won't work.
We fail over to utf-16-le as Little Endian is commonly used.
Change-Id: I3e25ce4997f5dd3df87caba753daced65838f85a
2022年02月22日 15:53:54 +01:00
Dmitry Tantsur
48f30ab528 Stop defaulting the standalone job to netboot; use the correct boot mode
Its configuration must match one in Ironic, and netboot does not work
with whole disk images under UEFI.
Fix the boot mode of the BIOS job: it was running in UEFI.
Change-Id: Ia207e80bbfc30f8d2891e11bbeda7b2ab0d617c0
2022年02月21日 18:55:41 +01:00
Dmitry Tantsur
f1ee454a0e Add mount and parted -l to the collected commands
Change-Id: I1c759552220291890704d0002a62ea3f51701691
2022年02月14日 13:01:32 +01:00
Dmitry Tantsur
3d3df17e5a Refactor efi_utils for easier maintaining and debugging
* Move irrelevant code from inside the giant try..except block
* Do not bother removing the (empty) temporary mountpoint
* Fix log messages according to the actual code
* Fix some code duplication
* Add missing unit tests for failure case
Change-Id: Id7b557419d513375816d73901e2ab6f139d765ad
2022年02月14日 12:46:25 +01:00
Dmitry Tantsur
4d16ea413f Run partx in verbose mode to simplify debugging
Otherwise the actual failure cause is not recorded.
Change-Id: If66ee97016ddf0e5c3f40ad9400ff3bc6fdebedc
2022年02月14日 12:02:22 +01:00
Arne Wiebalck
a83f38479e Move prepare_boot_partitions_for_softraid to raid_utils
prepare_boot_partitions_for_softraid() is used in BIOS and UEFI
modes to prepare the partitions for the bootloader. Move it from
the image extensions to raid_utils to reflect this and avoid the
import of an extension to efi_utils.
Follow-up to 62c5674a60.
Change-Id: I9f5974fbbfea5e8cdfbb7e49bea375e5cbfdd145
2022年02月14日 11:21:36 +01:00
Vanou Ishii
fa70a1909b Rescan device after filesystem creation
In work_on_disk function, IPA runs mkfs commands without
following device rescan operation. This leads to incorrect
content of uuids_to_return to be returned.
These mkfs commands modify partition label but IPA fails
to catch such changes because of no following device
rescan operation.
This commit adds call of device rescan function before
uuids_to_return construction.
Change-Id: I4e8b30deb5e2247f51ce8f10bd3271f64a264089
2022年02月11日 11:02:52 +09:00
Dmitry Tantsur
56c20a7e57 CI: be explicit that the jobs are using the DIB ramdisk
Currently it requires tracing the jobs up to the ironic's devstack
plugin. Be explicit.
Change-Id: I19d0e680b0025bda22709c5a4fff9eacb5b4b1d0
2022年02月03日 18:40:56 +01:00
Dmitry Tantsur
b8b1991bea Clean up release notes
Change-Id: I568d7edfe81e928e6d7f09bd4a7933ca72b8813a
8.4.0
2022年02月03日 14:49:36 +01:00
Dmitry Tantsur
b921b76167 Make the standalone job voting again
We forgot to revert it. This job covers software RAID and manual
cleaning, so it's very important to avoid regressions, even if it costs
us some rechecks from time to time.
Change-Id: I2446afeaca866ffc3131b5e9f266526f35fc5ed7
2022年02月01日 10:14:48 +01:00
Dmitry Tantsur
6ebf041704 Use canonical device name for RAID device for ESP
It seems like tinyIPA silently replaces /dev/md/esp with /dev/md127.
Find the next free /dev/md device and use it instead.
Also rescan the resulting device before copying files.
Change-Id: Ie04f530be434c4b1561e75f387b9da679e4607e0
Depends-On: https://review.opendev.org/c/openstack/ironic/+/827129/ 
2022年02月01日 10:06:31 +01:00
Arne Wiebalck
62c5674a60 SoftwareRAID: Use efibootmgr (and drop grub2-install)
Move the software RAID code path from grub2-install to
efibootmgr:
- remove the UEFI efibootmgr exception for software RAID
- create and populate the ESPs on the holder disks
- update the NVRAM with all ESPs (the component devices
 of the ESP mirror, use unique labels to avoid unintentional
 deduplication of entries in the NVRAM)
Story: #2009794
Change-Id: I7ed34e595215194a589c2f1cd0b39ff0336da8f1
2022年01月26日 14:43:40 +01:00
Zuul
e06dd22e78 Merge "Burn-in: Dynamic network pairing" 2022年01月20日 21:17:38 +00:00
Arne Wiebalck
7f15455d8d Burn-in: Dynamic network pairing
Pair nodes dynamically via a distributed coordination backend for
network burn-in. The algorithm uses a group to pair nodes: after
acquiring a lock, a first node joins the group, releases the lock,
waits for a second node, then they both leave, and release the lock
for the next pair.
Story: #2007523
Task: #42796
Change-Id: I572093b144bc90a49cd76929c7e8685ed45d9f6e
2022年01月10日 11:31:33 +01:00
Arne Wiebalck
0b69890c11 [trivial] Fix typo in __init__.py
Change-Id: I67810abbfb975c0d0ad0faf9807318c462580528
2021年12月16日 22:03:51 +01:00
Ghanshyam Mann
bdf735c662 Re-add python 3.6/3.7 in classifier
We have updated the yoga testing runtime to keep the
py36 testing.
- https://review.opendev.org/c/openstack/governance/+/820195
Unit tests job template is also updated to keep python
3.6 as a voting job. So with the py3.6 and py3.9 testing as voting
job template, we are keeping python 3.6, 3.7, 3.8, and 3.8 as
tested versions in the Yoga cycle.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286
This commit re-add the python 3.6/3.7 versions in setup.cfg classifier.
Change-Id: I0f03a7f5bb2aa07c2ec2aab1a8ebfddc0c70ca87
2021年12月13日 19:42:33 -06:00