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
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
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
In some situations, when growvols run on disk which was already used or
growvols runs on the same driver, pvcreate finds old VG signature and
refuse to re-create PV on a block device.
[ERROR] Running command failed: cmd "pvcreate /dev/sda6", stdout "",
stderr " Can't initialize physical volume "/dev/sda6" of volume group
"vg" without "-ff" /dev/sda6: physical volume not initialized.
Closes-Bug: 2069487
Change-Id: Ie8e0641d5637e8c0c2edb23e820bc7961b7d319b
The square brackets cause the check to fail because of the piped
grep.
Removing them works just fine.
Change-Id: I85dfaa436d09edf958315579c7050165b80bf721
With noble the structure of the apt sources file has changed.
(see https://repolib.readthedocs.io/en/latest/deb822-format.html)
This brakes the current implementation for setting mirrors when building images.
Change-Id: I2ba0344b49c78e499ead681338e1a2c275e8e6f1
Continue is not valid, and in the current syntax usage for 80-simple-init,
the error is logged. Swapped to true to act as a no-op.
/tmp/in_target.d/post-install.d/80-simple-init: line 30: continue: \
only meaningful in a `for', `while', or `until' loop
Change-Id: I9ddb9aadc1114c0f4dea14d31b9751d83a887a6b
If your using configuration drive, cloud init tries to DHCP by
default anyway, which delays the boot sequence as it seeks out a
network attached metadata source.
So instead, disable the automatic activation so the configuration
drive data source is acutally leverage. Additionally add further
notes to provide guidance to users of DIB.
Change-Id: Ie7c522f23deb3f08ee4ec002e0e2020f382359aa
Currently a partition image with existing EFI assets may produce an
invalid image because the EFI grub.cfg may reference a partition UUIDs
that don't exist in the partition image case.
This change replaces the EFI grub.cfg if the EFI directory exists at
all, ensuring the EFI grub.cfg is valid in more cases.
Also, add missing EFI_BOOT_DIR for fedora-container element.
Change-Id: Id4f8cd2cb16bbb1a392f531cf5b8455f81162c42