12f5f30e630b98c8b69d4aa201f5c23b2ca85824
Commit Graph

2281 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Derek Higgins
12f5f30e63 Instruct qemu-img to write image zeros to disk.
Doing this will cause it not to zero out the entire
block device which can be very costly on a slow HDD.
Story: 2009227
Task: 43315
Change-Id: I62ba2afc037d9844387e6b0984fe5008779d95d2
2021年12月08日 15:56:05 +00:00
Riccardo Pittau
a35c77e62e [trivial] Fix Xena release notes versions
Change-Id: Iaf511e6aeae59409ac6d1ba4543d297c5bb2ec01
2021年12月06日 11:09:03 +01:00
Riccardo Pittau
87a42cc887 Test python 3.6 for distributions compatibility
As discussed during the ironic meeting on 29/11/2021, the community has
decided to continue testing the code against Python 3.6 to keep
compatibility with distributions that have native support for it, such
as CentOS Stream 8, Ubuntu Bionic, Debian 10, and openSuse Leap, at
least until it's possible and reasonable considering the support granted
from other dependencies and libraries, and not beyond the Yoga cycle.
Change-Id: I97ad7c4acdb278e2849a598c5a02a71fc67cc81a
2021年11月30日 10:52:59 +01:00
Zuul
45ff41704a Merge "Updating yoga tested python versions in classifier" 2021年11月26日 12:37:18 +00:00
Iury Gregory Melo Ferreira
4042e7b08c Get rid of lambda in RealFilePartitioningTestCase
This commit changes the lambda usage in the RealFilePartitioningTestCase
to autospec to avoid problems with unexpected args.
Change-Id: I21356a7783f105dde9ff0d3777e2a06f3f28a786
2021年11月25日 11:21:32 +01:00
Ghanshyam Mann
dda53b42cb Updating yoga tested python versions in classifier
Yoga testing runtime has been updated with py38 and py39
as voting and removed the py36 testing. Unit tests update are
handled by the job template change in openstack-zuul-job and you
can see the updated jobs running in gate.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/818609
this commit updates the tested py versions in setup.cfg classifier.
[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html
Change-Id: I47cd32e5690b55b983827c650efba4fd99e7be55
2021年11月24日 20:07:26 -06:00
Zuul
bcf2846553 Merge "Trivial: split away efibootmgr helpers" 2021年11月23日 12:26:17 +00:00
Zuul
4954fe3702 Merge "Call execute from ironic-lib in hardware.py" 2021年11月22日 20:04:40 +00:00
Dmitry Tantsur
5cf61e797a Trivial: split away efibootmgr helpers
These are very useful for downstream deploy steps, make them public.
Change-Id: I26106a07049f751d3e3cc646431e2176001f4645
2021年11月19日 17:27:27 +01:00
Dmitry Tantsur
abe38a6a5f Fix compatibility with disk_utils.find_efi_partition
This function returns the complete block device record, not just number.
Fixes regression in 89bc73aa01.
Also fix the incorrect job in the gate queue, which prevented us from
catching this issue on merging.
Change-Id: I4cbc359ceabfc193ce18fed14a1952359460e7d9
2021年11月19日 14:51:27 +01:00
Zuul
de385cb291 Merge "Remove metalsmith centos7 job" 2021年11月19日 11:08:16 +00:00
Dmitry Tantsur
89bc73aa01 Use two more functions from disk_utils
Change-Id: If01c9cd7f95b4495509369786360741b731161db
2021年11月18日 13:49:51 +01:00
Riccardo Pittau
7b03fbbb36 Call execute from ironic-lib in hardware.py
Replace the execute wrapper from utils with execute from ironic-lib in
hardware.py
Adjust unit tests as needed.
Change-Id: I63a3b0407b2ca2246bd0e6624bfa0f748c0d73f7
2021年11月18日 07:52:48 +01:00
Dmitry Tantsur
36d4a18fbc Move manage_uefi from the image extension to a public location
This call is very useful for custom deploy implementations, such as one
we maintain for OpenShift. Splitting it out also makes image.py slightly
more manageable.
The get_partition call is moved to partition_utils.
Change-Id: I60a6a2823d3eb27a4ae78e913e3655dae7b54ffe
2021年11月16日 17:58:16 +01:00
Zuul
f5efbc3e7e Merge "Simplify error messages when running clean/deploy step" 2021年11月13日 07:35:50 +00:00
Julia Kreger
ce296a43d6 Remove metalsmith centos7 job
Change-Id: I523382b5b06b479ba34dce5a1dc7262076122514
2021年11月10日 11:30:03 -08:00
Riccardo Pittau
a799dcc422 Move rescan device function to general utils
We use basically the same function in two modules in the same way, let's
put that in a common place.
Change-Id: I4016e43f2cb102d4327bafcc8a2f90112a6f944a
2021年11月10日 15:34:37 +01:00
Dmitry Tantsur
c5fb191393 Simplify error messages when running clean/deploy step
The caller knows what step it invokes, there is no point in repeating
it in the error message. There is also no need to wrap the exception
if it's a RESTError or an ironic-lib exception already since they
are normally detailed enough.
Only leave a detailed message when an unexpected exception happens.
Change-Id: I1d8ca1e7ed1462159e4ae5f0bcf58686f6a2681c
2021年11月09日 13:58:44 +01:00
Riccardo Pittau
23e67b5fea Re-read the partition table with partx -a, part 2
Use add instead of update to re-read the partition table with partx.
See [1] for more details.
Co-authored-by: Arne Wiebalck <arne.wiebalck@cern.ch>
[1] https: //opendev.org/openstack/ironic-python-agent/commit/dc8c1f16f9a00e2bff21612d1a9cf0ea0f3addf0
Change-Id: I2336e22dadc790cfbde87904612fcaa3b8c501db
2021年11月09日 13:03:14 +01:00
Arne Wiebalck
dc8c1f16f9 Re-read the partition table with partx -a
Re-read the partition table with 'partx -a', rather than 'partx -u'.
This should fix an timing issue where the bootloader installation
fails to mount the EFI partition from a whole disk image since it
is not yet aware of the new partitions (observed with both, the
iscsi and the direct deploy interface).
Change-Id: If5da3075e813ae01df3decf8f0647aba111b0515
2021年11月06日 13:43:48 +01:00
Zuul
0b56cca7f0 Merge "Fix UEFI record regex" 2021年11月05日 14:59:35 +00:00
Julia Kreger
c5268bbdbb Fix UEFI record regex
I accidently put colons on the test data and remembered taking the
colon character out of the regex I was working on, but apparently
left it in, and accounted for the active entry indicator flag
which appears to have inconsistent support across vendors.
The regex has been fixed, and a test added from a Lenovo SR650
which has some additional string entry data in the UEFI output
which may separate entries.
Change-Id: I1f67b0fb1f645fa82e98bd7c7bba3ffc7755cc74
2021年11月04日 09:45:25 -07:00
Zuul
a4b73058ee Merge "Always include the oslo_log log file in ramdisk logs" 2021年11月04日 15:14:33 +00:00
Zuul
65827b3015 Merge "Stop requiring mocking of utils.execute if ironic-lib execute is mocked" 2021年11月03日 14:19:52 +00:00
Julia Kreger
67eddfa7e3 Delete EFI boot entry duplicate labels first
Some firmware seems to take an objection with EFI nvram
entries being deleted after one is added, resulting in the
entire entry table being reset to the last known good state.
This is problematic, as ultimately deployments can time out
if we previously booted with Networking, and the machine, while
commanded to do other wise, reboots back to networking regardless.
We will now delete entries first, before proceeding.
Additionally, for general use, this pattern may serve the
community better by avoiding cases where we would have
previously just relied upon efibootmgr[0] to warn us of duplicate
entries.
[0]: 103aa22ece/src/efibootmgr.c (L228)
Change-Id: Ib61a7100a059e79a8b0901fd8f46b9bc41d657dc
Story: 2009649
Task: 43808
2021年11月01日 06:59:26 -07:00
Dmitry Tantsur
2cedaa53c2 Always include the oslo_log log file in ramdisk logs
Even if journald is present, there is no guarantee that IPA logs there
(this is the case in container-based ramdisks).
Change-Id: Iceeab0010827728711e19e5b031ccac55fe1efde
2021年10月28日 18:32:40 +02:00
Dmitry Tantsur
b360214cf2 Stop requiring mocking of utils.execute if ironic-lib execute is mocked
Based on unit tests, this was done intentionally, but I don't see
reasons for that. It makes refactoring much harder, because sometimes
you need to mock both execute functions and test them separately.
In the end, utils.execute should be removed.
Change-Id: I5a9c694ebe626c54f219d4870eab0a592777518d
2021年10月27日 14:24:00 +02:00
Zuul
c824dda7a5 Merge "Fix error messages in burnin code" 2021年10月26日 19:50:15 +00:00
Dmitry Tantsur
9a8c6a831a Fix error messages in burnin code
Change-Id: Ib920b6f8da2c2c9d72dbb8bbd8915bde767bddd2
2021年10月26日 11:33:01 +02:00
Dmitry Tantsur
8a66978666 Respect global parameters when downloading a configdrive
* Use the same TLS parameters as everything else
* Respect image_download_connection_timeout
* Do not ignore HTTP errors
Change-Id: I84f8021f731186d82e44ac3d4ef2d12df13f830a
2021年10月20日 15:11:16 +02:00
Arne Wiebalck
333ed70c94 Assert EFI part UUID is not None before editing fstab
The EFI partition UUID may be None and this will break
the fstab editing. While this is not necessarily fatal when
instantiating a node, it creates an exception at the end of
bootloader installation, so only attempt to add a line to
fstab when the UUID is not None.
Change-Id: I68799980e67c05afe4ca68ca9733605dd166d54d
2021年10月08日 08:35:29 +02:00
Arne Wiebalck
9d707e9f4b Software RAID: Call udev_settle before creation
This patch fixes a race during software RAID creation:
we create the partition with parted, the kernel then
notifies udev, but we need to wait for udevd to create
the device files before calling mdadm to create the
md device.
Credits to jcosmao for finding this.
Change-Id: I642f28acc351cf50263e37dfbc8468bf59de2cc5
2021年10月05日 11:42:49 +02:00
8d901ff0dc Add Python3 yoga unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for yoga.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: Ia08ee369e2925b2c313dcfaa8975fe023ec1c07a
2021年09月22日 18:38:17 +00:00
1665abca04 Update master for stable/xena
Add file to the reno documentation build to show release notes for
stable/xena.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/xena.
Sem-Ver: feature
Change-Id: If28b1df9c76469062e6d9ce28edcf3026fdbfbaa
2021年09月22日 18:38:15 +00:00
Zuul
47a7fb5ff7 Merge "Trivial: minor fixes in error messages" 8.2.0 2021年09月09日 01:02:18 +00:00
Dmitry Tantsur
cb836a29bf Trivial: minor fixes in error messages
Change-Id: I06b32c2eb576520cddff88074e4619070731017d
2021年09月07日 14:41:38 +02:00
Zuul
2acdf3cd17 Merge "Trivial: better debugging in list_all_block_devices" 2021年09月03日 13:20:11 +00:00
Zuul
667e83da0e Merge "Check the network burnin roles and partner" 2021年09月02日 12:43:39 +00:00
Dmitry Tantsur
07ff3b8bbc Trivial: better debugging in list_all_block_devices
One debug message only specified "Skipping" without any details.
Another did not log the whole line from lsblk. Fix both.
Change-Id: I9f8f4edad88ba2df5abc6a45a74ebdb3c7afcf97
2021年08月27日 12:19:28 +02:00
Zuul
438a1f4445 Merge "Move loading of IPMI module loading to a single point" 2021年08月23日 16:14:14 +00:00
Zuul
c616b4dba3 Merge "Output verbose info from efibootmgr" 2021年08月11日 11:08:34 +00:00
Zuul
71f54b7f98 Merge "Increase version of hacking and pycodestyle" 2021年08月11日 10:02:24 +00:00
Arne Wiebalck
a86e21e4f4 Check the network burnin roles and partner
The network burnin roles are 'reader' and 'writer'. Raise an error
if the role is not provided or if the role is unknown. Equally,
raise an error if the partner is not provided.
Change-Id: I6259a7b0d15d62e68b1dc27f0cb511f8563c02ce
2021年08月10日 16:37:40 +02:00
Zuul
91f0248164 Merge "Add lower-constraints job to current development branch" 2021年08月10日 07:51:52 +00:00
Zuul
ab026da95b Merge "Expose BMC MAC address in inventory data" 2021年08月08日 17:21:25 +00:00
Jonas Schäfer
6441db61ce Move loading of IPMI module loading to a single point
This means we do not have to rely on modprobe idempotency as
much and it's less code duplication, which is always nice.
Signed-off-by: Jonas Schäfer <jonas.schaefer@cloudandheat.com>
Change-Id: I996aba47bc54309e15e7d56e4a96b23b8deb5c9c
2021年08月06日 13:14:45 +02:00
Jonas Schäfer
61af712fe5 Expose BMC MAC address in inventory data
This exposes the MAC address of the first LAN channel with an assigned
IP address in the inventory data. This is useful for inventory
processes where the asset number is not discoverable from the software
side: the BMC MAC is going to be unique (at least within an
organization).
Change-Id: I8a4bee0c25743befd7f2033e4e0cba26895c8926
2021年08月06日 13:14:45 +02:00
Riccardo Pittau
22b538d61c Add lower-constraints job to current development branch
The lower-constraints test was removed because of an issue where pip
could not correctly determine the required packages versions to install,
ending in an almost infinite loop that would end up in timeout, failure,
and general mayhem.
Recently the issue has been fixed and, if properly configured, the
lower-constraints test can provide good indication of which minimum
versions are required to support the current code.
This patch adds the test back to the current development branch, and it
runs only on master.
The lower-constraints file will stay in the future stable branches.
Change-Id: Ic9cef3e56266c6e9de0936b5f113e8b38d705a9b
2021年08月04日 11:35:51 +02:00
Derek Higgins
caf695f70a Output verbose info from efibootmgr
When debugging boot manager problems it can be advantageous to
see all the full entries rather then just their labels.
Change-Id: I6a1bb78acaf5a4284727bdf533d4be6db2099f50
2021年08月03日 12:01:17 +00:00
Riccardo Pittau
efbbc86f53 Increase version of hacking and pycodestyle
Fix H904 "Delay string interpolations at logging calls" errors
Change-Id: I331808d0132094faf739998a6984440787d3ebf8
2021年07月30日 14:34:33 +02:00