Commit Graph

2679 Commits

Author SHA1 Message Date
Ghanshyam Mann a43311b7ef Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: Ic209179b0be9c3746a702ccea2dd35e883e78bee
2024-02-24 11:43:49 -08:00
Steve Baker 2ce67c3dbb Install modified udev rule to fix lvextend unmount
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
2023-02-02 12:55:24 +00:00
Steve Baker 304e4d1f96 Switch to LVM thin provisioning
This change switches all LVM volumes being backed by a single thin
provisioning[1] pool.

This will allow day-2 operations to use spare physical space for
things such as:
- backups during a major upgrade on an ephemeral volume
- extending /srv or /var due to inaccurate storage capacity planning

This change enables the fstrim.timer unit on a daily schedule so that
the thin provisioning layer is notified of freed blocks.

[1] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_logical_volumes/creating-and-managing-thinly-provisioned-volumes_configuring-and-managing-logical-volumes

Change-Id: Id1c7e627b67b930347eed040176a9737cabc87d0
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/840144
2022-09-01 08:34:45 +12:00
Steve Baker 865bf26dba Switch to MiB for all partition/volume sizes
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
2022-09-01 08:34:40 +12:00
Zuul de1b1b9c46 Merge "Add a separate /boot partition" 2022-08-02 14:24:46 +00:00
Steve Baker 44abab621f Delete unused elements
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
2022-07-04 16:22:58 +12:00
Zuul 12d4eec7dc Merge "Updates for virtualenv on debian bullseye" 2022-07-04 02:14:34 +00:00
Zuul 0caa358b49 Merge "Updated package maps for Debian Bullseye" 2022-07-04 02:14:32 +00:00
Steve Baker e57e998b0e Add a separate /boot partition
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
2022-06-21 14:06:22 +12:00
Steve Baker 7fd9cbef64 Add element reset-bls-entries
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
2022-04-26 14:57:59 +12:00
Joseph Tole b5b3160ef1
Updates for virtualenv on debian bullseye
Change-Id: I67af2b17f59cc4d05c4fa217861992123da97758
2022-03-15 16:20:14 -04:00
Joseph Tole bfbccfb823
Updated package maps for Debian Bullseye
Change-Id: Ic4f330f1a192b5cf920a9b0c28c07fd425a01580
2022-03-15 11:29:22 -04:00
Sandeep Yadav cf9dd68ef7 delorean-repo remove yum_plugin_priorities_package
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
2022-01-21 06:20:18 +05:30
Steve Baker 14c47f496a Double the size of /boot/efi partition
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
2021-11-03 10:15:07 +13:00
Steve Baker 998936c734 Add small /srv volume for optional swift data
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
2021-08-18 16:18:23 +12:00
Steve Baker 0203c0aa63 Shrink whole disk image from 40G to 6G
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
2021-07-09 09:18:54 +12:00
Steve Baker e996653baa Depend on growvols element
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
2021-06-17 13:52:31 +12:00
Steve Baker 1635ba8abe Unmask and enable tmp.mount for overcloud-partition
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
2021-06-17 13:52:12 +12:00
Steve Baker fe5cc75a2e Don't depend on block-device elements
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
2021-06-17 13:52:12 +12:00
Alex Schultz f90a830fba Clean up ifcfg-eth0
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
2021-06-09 14:50:38 -06:00
Zuul ada0d3aad1 Merge "Use python3 for map-services-tripleo" 2021-05-05 01:19:48 +00:00
Sorin Sbarnea c69ead8b45 Drop pbr version ceiling and add py39 testing
- 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
2021-03-30 10:57:41 +00:00
Steve Baker a038c08017 Use python3 for map-services-tripleo
RHEL-8 doesn't have a 'python' alias set up by default.

Change-Id: Ib17a8009f335d7ef9e72e35e3477e471b69e895e
2021-02-25 10:26:40 +13:00
Wes Hayutin d072a79acf ensure any ens3 interface is nuked during image build
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
2021-01-06 16:05:28 +00:00
David Hill 66d1d0beba Move partition handling to overcloud-partition / overcloud-partition-uefi
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
2020-07-21 14:54:50 +00:00
Hervé Beraud 99281bd30f Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: I6d02b20797cf1a0208a24e740d1f9dc921434b82
2020-06-02 21:04:27 +02:00
David Vallee Delisle 5ed09ac4e7 Removing debug output of 51-hosts
This floods the logs for no real value added.

Change-Id: I88eb15289415ccb227365bd3ddfed024469106e2
Closes-bug: #1872528
2020-04-13 15:23:08 -04:00
Zhuo Zhen 021525736b Install python3-dev package
Should install python3-dev when dib_python_version is 3.

Change-Id: I1f365347917e4c95ea92b1a3b8d8741cde39fd2a
2020-03-25 09:10:47 -05:00
Zuul 89d2854c8b Merge "Cleanup stale interface if exists" 2020-03-13 13:34:59 +00:00
Alex Schultz d641e019b9 Cleanup stale interface if exists
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
2020-03-11 11:34:30 -06:00
Andreas Florath d248a017cb Add mapping for python-dev for Ubuntu Focal
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
2020-03-01 08:53:24 +01:00
Chandan Kumar (raukadah) da5e583430 Disable yum-plugin-priorities elements for CentOS8
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>
2020-02-21 15:29:34 +05:30
Alex Schultz 8da8d9a51b Clear net.ifnames definition
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
2019-08-27 07:44:14 -06:00
Alex Schultz d51d61a247 Fix line comparisons
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
2019-08-06 15:47:11 -06:00
Zuul c70ca0fc84 Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-06-12 12:23:56 +00:00
jacky06 c5984fc6d7 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: If299ebc5849502954e812947c5b80006573710ed
2019-05-28 14:40:51 +08:00
Bob Fournier 37b74a670a Remove note in README regarding security hardened images
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
2019-05-22 15:58:25 -04:00
Ian Wienand 253fe8831f Replace openstack.org git:// URLs with https://
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
2019-03-24 20:36:18 +00:00
Mariusz 29cee7f9d8 Install rsync before os-apply-config
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
2018-12-03 14:07:33 +00:00
Yolanda Robla aa19a7f92a Increase size for security hardened images
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
2018-10-04 18:08:49 +02:00
Yolanda Robla a1d4c352a2 Add overcloud-secure-uefi element
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
2018-06-19 13:50:52 +02:00
Alex Schultz a7837c9430 Add python jobs to tripleo-image-elements
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
2018-05-31 10:50:16 -06:00
Zuul 5d9038c568 Merge "Add a 60 seconds timeout to ping_metadata_ip()" 2018-05-26 02:04:43 +00:00
David Vallee Delisle d0de91cd78 Add a 60 seconds timeout to ping_metadata_ip()
Closes-Bug: #1735849

Change-Id: I1004c2d764339c30653e2f4a3c7aee1343a20b4e
2018-05-03 21:49:57 -04:00
Juan Antonio Osorio Robles 08096ad00f remove os-cloud-config element
It's not being used anymore.

Change-Id: I429c0013802af3bcb80f9a623b8fce0a2e52bb64
2018-04-20 09:47:24 +03:00
Yolanda Robla 950a63f77c Add a dependency on block-device-mbr element
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
2018-04-05 11:21:07 +02:00
Yolanda Robla e86b30a73f Increase the image size to 23G
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
2018-03-16 13:08:44 +00:00
sayalilunkad 2c60bbf6d5 Add another path for service files
In opensuse the service files are located in /usr/lib rather than /lib. This change adds this path
as an option.

Change-Id: I99c2db557a2290c3860bb41233d7efc35d03be0b
2018-01-31 18:50:08 +01:00
Sven Anderson 11462cc35f Make sure, the realtime element removes the default kernel
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
2018-01-22 16:18:03 +01:00
Oliver Walsh 02d0985c1e Add realtime-kernel element
Replaces the default kernel with the realtime kernel

bp tripleo-realtime
Depends-On: I39580b3bca5c585a0e29e47e0ae857a292cf29aa

Change-Id: Iff34b8328868f3752963a4d9c46d5154dc862eab
2018-01-12 17:34:10 +01:00