The yum-minimal element was configuring C, en_US, and en_US.UTF-8 as
languages to be installed by packages notably leaving out C.UTF-8. This
appears to be due to CentOS 7 not supporting C.UTF-8 (its glibc was too
old). Since then CentOS 8, CentOS 8 Stream, and CentOS 9 Stream all
reportedly support C.UTF-8. Since we don't support CentOS 7 any longer
it should be safe to update yum-minimal to include C.UTF-8.
This ensures we have modern C locales available for use which are
starting to be expected (for example Ansible apparently wants a UTF8
locale and some hardcode it to use C.UTF-8).
Change-Id: I0446def63ea0fbf6bb53a0cc56c2d62f47e0ff21
Now minimum python version supported is 3.6, so any logic for older
python versions can be removed.
Change-Id: Ie26cc300c823c3e0615f54453dc9ca9366d7a2e0
The arm64-deb builds are failing for jammy since debootstrap is too old,
let's run them on bookworm instead of bullseye. For consistency do the
same for the x86 builds. Also add functests building noble.
Depends-On: https://review.opendev.org/c/zuul/nodepool/+/929573
Change-Id: I5b25239a7cacda62d3a46f7b15306446b3cc08e6
These files have #!/bin/bash but do not have the execute bit set, and
are never run directly, only sourced. This has triggered RDO packaging
linting. Also outfilter.py can be run directly but does not have an
execute bit set.
This change fixes these issues.
Change-Id: Idd5cac19ec6f10103495bbe217cc5fe41c48e91b
If mkfs fails then the rollback won't delete logical volumes or the
volume group. This prevents unmounting the loop back, and subsequent
image build runs will fail because the volume group still exists.
This change adds lvremove and vgremove rollback actions.
Change-Id: Ib93dfc43f5b3ef90fcec38538e828f135e514f8b
replace-partition
-----------------
A standalone element which consumes a base image which was created with
``diskimage-builder`` and rebuilds it without making any packaging changes. This
allows the image contents to be copied to a new block device layout. Use cases
for this element include:
* Rebuilding a whole-disk image with a different partition layout by setting
``DIB_BLOCK_DEVICE_CONFIG``
* Rebuilding a whole-disk image with the same partitions but with the sector
size increased to 4096 bytes
replace-partition-redhat
------------------------
A redhat family specific version of the ``replace-partition`` element.
Change-Id: I7399c4bf6a4d6acfef43f871df0a40e2961ed44e
Along with DIB_AVOID_PACKAGES_UPDATE it is now possible to invoke the
base element without invoking any package management. This is useful
when using a dib created image as the base image.
Change-Id: Ic6da340627bd55d4d34b1669ebf3a494131f72a6
Some base images will be known to have the required grub packages
installed already so package installation can be skipped.
This is specifically for the case where the base image was built by dib,
and installing any packages is undesirable because repos are not set up.
Change-Id: I0beab9e93838845a0ee533c7e6c7a4980cadd9b3
When using DIB_DISTRIBUTION_MIRROR for an internal mirror with
CentOS Stream >= 9, ensure that the yum repository configuration
files reference the new upstream directory structure layout.
Change-Id: I8360bb77e5ef9370ec69f9c0c327726e3554b7a4
This patch proposes a new element which creates a mechanism for the
image to have automatic updates enabled from the first boot. A custom
config file, is expected during build time, which is injected into
the image.
Change-Id: Ib4c7513db4e00d592447fda1b1d0ed2bc649e1cf
Signed-off-by: Charalampos Kominos <hkominos@gmail.com>
Adds support for the block device size to be asserted for the purpose of
writing out new images, which may be critical for operators with hardware
which requires logical blocks which are 4096 bytes long.
Change-Id: I5c16a042eacfbb94a905b93a0eb9fbc73de0a890
This is for a use-case where running the rest of rpm-distro is not
desirable (rebuilding an image previously build by dib)
Change-Id: I85f4d7fd2ab8a7278f4c76b133104f638a055e74
Since the public mirrors for centos8 are really not available
anymore since it has gone End of Life, changes the default
invocation for a quick disk image to 9-stream.
Users who wish specific behavior should explicitly express
the version they desire.
Change-Id: I12cb10258ab80bae1c754e86aadcf926cdfae805
The GRUB_TIMEOUT was duplicated in
the /etc/grub/defaults.
Changing the DIB_GRUB_TIMEOUT default to the base
image typical default.
Note: Hold shift if you want to interact
with the grub menu.
Change-Id: If4d5ae467706b98d89f9dd6714ef06a5933ccfb3
We were running these test jobs on bullseye which is getting a bit old.
Additionally, it seems that the debootstrap on bullseye may not be able
to build jammy on arm64? Attempt to address that via executing on a
newer platform.
Change-Id: I54195c3f4500dcbcb92c5abb2a14f3078b2461dc
podman is a requirement when building rockylinux images, it must be
included in bindep.txt
Note: zuul ensures that podman is installed in CI jobs, but the
dependency is missing when deploying devstack outside CI.
Change-Id: I17aaac32fdb435b78a2da23b179f2db8d9b0d531
This gives more flexability into defenition and won't result in users to
be blocked until new DIB release will happen with fixed regexp.
Change-Id: I5b6d15dc7cbc6f41b600c5b33f5030df5bdfa793
Current regexp is catching a wrong extra record for HTML-based mirrors [1]
Modifying regexp allows to workaround fetching extra string.
[1] https://paste.openstack.org/show/bVBUEW88mDF58OKKp3kw/
Change-Id: Ibd8806cad10ad7d993b7953eee2d456e92a8f7cf
CentOS-7 went EOL on June 30th. This change removes the job as
mirrorlist.centos.org no longer resolves. Follow-up changes will remove
CentOS-7 from existing elements.
Change-Id: I23a00d2aa2a056dec33516eccb917126f8b766b2
Prior to this change, source images could introduce variation in the
the result of the bootloader element results, if the configuration
is changed later which would could re-introduce arguments not desired
which come from the source image.
Since we assert, bsaed upon user supplied input, new console configuration
we now strip the console configuration from /etc/default/grub configuration
before starting to work on putting in place the user's desired end state.
This also ends up helping reduce/remove the possibility of multiple
console elements as some were sourcing from the original source image.
Change-Id: Ia1f9987d989f1d0e1cbda619f7abdf7005b47fbc
Just a follow-up from one of the recent changes, it was noted we could
just remove the job entirely instead of commenting it out. As such,
this change removes the entry from the zuul configuration.
Change-Id: I1661498493e48f34a3a1a9242b484360cf39e829
A huge problem with latency sensitive baremetal worklaods
is interrupts being triggered spuriously. Unfortunately
when we start with cloud images, often they default to
logging to a serial console which means every write is
an interrupt, which is far from ideal and can result
in packet loss and service degredation quite quickly.
So instead, if the console logging has been disabled,
and no virtual terminal has been defined, we now strip
the console entries from the resulting image.
In testing with Centos9 Stream, with booting a VM, the console
in this scenario jumps to the framebuffer once started, and
after thousands of lines being written to the console, even with
delays, locally I'm at 219 interrupts, with a bulk of the entries
coming from before I interacted with the console (~135 from just
boot).
Change-Id: Id9b19c4d9804b88e6db05a20e26c8264bb357734
By default, we attempt to inject a serial console, which may, or may not
be needed, for example, Centos Stream 9 cloud images already configure
a console setting, and repeating it just might be undesirable and cause
workload performance degredation if the kernel or an application has to
report anything to a console.
This change generally results in original console entries being preserved,
which might actually be a bug and get fixed in a latter patch.
Generally, users of dib *should* likely be specific what they want to do
with their console setting, and without setting the new
DIB_BOOTLOADER_USE_SERIAL_CONSOLE paramter to false, the default will
be adhered to, and any pre-existing serial console entries will *not* be
de-duplicated from the base image. That too is *likely* a bug, but a
harder one to fix.
Change-Id: Icdfb5ed021b1a91e2de3c9a22bb2ff7fe9882bcd
Run dib-functests on bookworm, which should mean that we don't need to
pull in the unstable debootstrap
(c.f. 7b6247554eaecb22d95e626f44452350cc69645b).
This should be good for a while :)
(c.f. 1a5c5639205a1ce84719aa999dc7a99a3ead5d37)
Change-Id: Ib9240c086eff84e02740d98f02e1846a8a39298d
CentOS Stream 8 and Fedora 37 are EOL and their jobs are just
failing.
Disabled the Centos Stream 8 job, and marked the Fedora Core 37 job
as non-voting fo the time being so we are encouraged to fix by adding
a FC 38 or FC 39 job.
Also removing CS8 and Fedora jobs from dib-functests, and
setting the debian functional build to assume yes to try and
minimize prompting on package upgrades.
Change-Id: Iba7a52a7882de4293f87b98a61bda04faf07cbe8