This fix has been proposed to lvm2 upstream[1]. This change can be
reverted once the fix is packaged. It is proposed here to unblock
upstream and downstream delivery pipelines.
[1] https://github.com/lvmteam/lvm2/pull/105
Change-Id: If187a2b1ec61ec47738b99b40919d4cc65fa9505
Closes-Bug: #2000226
Related: rhbz#2158628
This change switches to MiB as the unit for all partitions and LVM
volumes. It includes comments stating overheads so any future changes
can be easily calculated.
All LVM MiB values are multiples of 4MiB, which is the size of an LVM
extent.
This change is in preparation for thin provisioning, where specifying
volume size by percentage no longer makes sense.
Change-Id: I768bb6def4fcea96a59357b4117d92efa3b9613b
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/839829
delorean-repo:
replaced by tripleo-repos and other repo setup approaches
hosts:
heat hasn't manage hosts file for many releases
localboot:
replaced by diskimage-builder grub2, bootloader elements
ntp:
replaced by installing chrony package
os-net-config:
the package is installed by other elements, and the script is now
called from ansible
overcloud-dracut:
replaced by diskimage-builder dracut-regenerate element
overcloud-partition:
no image now uses this, overcloud-hardened-uefi-full uses
overcloud-partition-uefi
Change-Id: I990493b51d87a40140c1648f2b04c982ce959b1d
The overcloud-hardened-uefi-full image now has a separate partition
mounted to /boot. This means grub no longer needs to mount the root
partition. This will allow trying layouts which grub doesn't support,
such as LVM thin-provisioning. Since grub now uses the common path of
loading an ext4 /boot partition, early boot may now be more robust, or
have better error messages for incorrectly built images.
Change-Id: I27be9c3e82ed20dcfc7a6f7dcb992006d44f933f
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/846838
This is an element which will run a script on first boot to rename
`/boot/loader/entries` filenames to match the new value of
`/etc/machine-id`. This is required for `grub2-mkconfig` calls to
incorporate existing values in the boot loader entry files.
It only runs when first-boot criteria is met, such as when
`uninitialized` is written to `/etc/machine-id`
rhbz#2073855
Change-Id: I354aeabed6d2993ae600b86381a7b625ca7f89dc
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/837251
With this patch, we are removing yum_plugin_priorities_package
from delorean-repo element as a part of refactoring
to only support centos/rhel 8/9.
As these are the only thing defined in file - pkg-map and
03-install-yum-priorities, We are dropping these files.
This repo have stable branches, so train builds should be using
stable/train of tripleo-image-elements.
Change-Id: I683050dbceb79c9123fcefb16e34dc6085c93d85
The current size is big enough for the shim and grub packages which
are installed to it, however when doing a dnf upgrade or reinstall,
dnf may fail with an inadequate space error. Doubling the size of this
partition will avoid this error.
Change-Id: I1f8a189d0fc095cb2cc3bf7808756cd9b973c3b2
Blueprint: whole-disk-default
Most tripleo node roles store their state in /var with the exception
of the ObjectStorage role which stores its state in /srv.
This change adds a very small /srv volume which will generally remain
empty. A documentation change will be proposed which shows how to set
custom growvols values to grow /srv in the rare case that the
ObjectStorage role is used.
Change-Id: Ide8776ffdb62bff46c3df4773fc7b01e9710373f
Blueprint: whole-disk-default
Now that images are converted to raw on the undercloud we need to
consider the implications of creating a 40G whole-disk image which is
mostly empty.
The raw image file on the undercloud is sparse, so storage space is
not consumed. However transferring from the undercloud to deploying
nodes will transfer all 40G of mostly zeros, and ironic-python-agent
will also write all those zeros to disk during deployment. This makes
deployment unnecessarily slow and will cause network scalabilty issues
for large overcloud deployments.
This change reduces the size of the physical root partition to 6GB,
and makes the logical volumes big enough for space to not run out
during image building. The growvols utility will be used post-deploy
to grow all of the volumes (not just /var).
The growvols playbook now has the following default to ensure all
partitions are grown to an appropriate size:
/=8GB /tmp=1GB /var/log=10GB /var/log/audit=2GB /home=1GB /var=100%
Change-Id: I34b57958ba84714c54ed8148600e7fd0860e3ba8
Blueprint: whole-disk-default
This will install the growvols script, which will be run in the
ansible playbook stage of the overcloud node provision command.
Change-Id: I27257e0a95fc16e0099d4ee28f365f0bce02b262
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/791083
Blueprint: whole-disk-default
In recent centos 8 images tmp.mount is masked, which causes issues
with all defined LVM mounts (/ is readonly, other mounts fail).
This change unmasks and enables tmp.mounted so the existing LVM /tmp
mounts correctly. It also makes fsck-passno compliant with the
documentation[1] so that / has value 1 and all other mounts are set to
2.
Blueprint: whole-disk-default
[1] https://www.man7.org/linux/man-pages/man5/fstab.5.html
Change-Id: Ib517e73845a7698f873a4f3207ffa9c54cdbcbef
Element search order is not deterministic, so when
overcloud-partition-uefi depends on block-device-efi, it is not
possible to know which block-device-default.yaml will be applied.
To avoid this, don't depend on the block-device-* elements ever, and
just duplicate what they do within these elements.
Change-Id: Icea31169a68ab0ea24e6cd1ba0f7d8e88cc07f1f
Blueprint: whole-disk-default
If ifcfg-eth0 is defined but does not exist, this can cause the nodes to
fail to get an IP address on initial provisioning. This patch removes it
when the image is built to ensure we don't end up with a bad interface
network script.
Change-Id: I3b8cb5f8c413c109da1228878db9cff4d439273b
Closes-Bug: #1931495
- Ceiling of pbr version can create installation conflicts with pip.
- Fixes tox default env list to be python version agnostic
- Updated template to use newer jobs (include testing with newer python)
Bug: #1921679
Change-Id: Ifd0d2f810799992faa1db41b80bf93bc97d5d19d
It seems as though w/ CentOS-8.3 ens3 has crept
back into play. Ensure it's not in the overcloud
images. See bug for details.
Closes-Bug: #1910107
Change-Id: I29d632814577db0b720b07d4497983e267d46a4e
Move partition handling to overcloud-partition / overcloud-partition-uefi
as whole-disk images with kernel-rt would be impossible to create due to
dependencies between kernel-rt and kdump/kexec-tools. We need to be able
to create whole-disk image while some package should not be uninstalled.
Change-Id: I181cf4dc0c0976833e39e4df78a7cff184f0f0b2
There is a bug in the CentOS 8 image where the ens3 interface file
exists. We should clean that up if it exists to prevent issues when
booting. We manage the interfaces later with os-net-config so we don't
want them to exist in the image.
Change-Id: I95d851f194a524caad639188e7df8f041fa2a248
Closes-Bug: #1866202
In Ubuntu Focal there is no package named 'python-dev'.
This patch maps this to 'python3-dev'.
Change-Id: I2ea41c36d13748dd5a375853b26aacfc63c1bd48
Signed-off-by: Andreas Florath <andreas.florath@telekom.de>
Closes-Bug: 1865328
Since yum-plugin-priorities packages is a part of dnf so no
need to install otherwise DNF was complain saying no package found.
Change-Id: I380e98ca6580e00054ae54e89efd3f2208ba63ef
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
With RHEL8, net.ifnames is set to 0 in the grub config. This is a change
in the default image which can have user impacts. We want to clear it to
go back to the previously defined behavior in RHEL7.
Change-Id: I621066ea5e0e934668ff4c91e991a95d18e019f7
Closes-Bug: #1841441
There was a leading \n and a trailing \n that is causing the script to
add two lines everytime it's run.
Change-Id: I42530b64efc8e7be0d309401c284f16050256e8a
Support for security hardened images was delivered in Queens, not as
TechPreview. Removing the section of README that indicates it is
TechPreview.
Change-Id: I579b1fdedcd23f8d004bb9ca6c8fedd29c33ac7c
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: I480c17e7357cf05532bc8949c5914227cbe04e2e
For images without rsync installed (like the Xenial cloud image)
os-apply-config fails with:
```
rsync: command not found
```
This change adds rsync as a package requirement for os-apply-config.
Change-Id: Iae7c6f24176bcd4f6e3040da3d14bbcca0e61163
With the move to containers there has been an increase of
demand on the /var volume. Increase the global size, as well
as give more percentage to /var and reduce /root.
Also fix fsck-passno setting, that was incorrectly set.
Change-Id: I8d820f668ffffe5993d5fef38e0c1e8c5f5862ec
Depends-On: Ib806bac815077c2508060719469b5d0f1acc0f99
This is the equivalent of the overcloud-secure element,
but is defined to generate images that are capable to boot
from UEFI.
Change-Id: If9e0504438632f1a22b45b7c95e7bfb8cb6f41d3
Depends-On: I47c96450e10f34b91bcc32888532bd7ab87cf316
Depends-On: Id3dee735e6f8fb221d199c4aba648f3e9a6e4206
This change also fixes the python tests to properly mock the path so our
stubs work if the command already exists on the system path.
Change-Id: I7c54b1d99e7cf6c4e3f4ded8c518bf447b2ba1de
When specifying the layout for the hardened image, we need
also to specify the device type, that in our case will be
mbr. So add this as a dependency of overcloud-secure to
properly set the type.
Change-Id: Ic0ad151cc12723e437a1123f90c6663198b9564d
The recent tests showed that we need more space for the /var
partition, and that we need to increase the final size of the
image to 23G to fit the needs. And we need to rebalance the
percentage used by volumes to have similar sizes.
Change-Id: Icf25fc15bd71a50e68038012683e3e56aaa72443
Depends-On: I3885a5c359b56c515dbb9286ded1dee062cdcffc
In opensuse the service files are located in /usr/lib rather than /lib. This change adds this path
as an option.
Change-Id: I99c2db557a2290c3860bb41233d7efc35d03be0b
Since the default kernel is a protected package, removing it, even in
the chroot environment, may fail. This fix forces the removal by
disabling the protected_packages configuration.
Change-Id: Ib7c849cf6aa2b1716cfddfe6e852dae482e00301
Replaces the default kernel with the realtime kernel
bp tripleo-realtime
Depends-On: I39580b3bca5c585a0e29e47e0ae857a292cf29aa
Change-Id: Iff34b8328868f3752963a4d9c46d5154dc862eab