Commit Graph

2919 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
Cédric Jeanneret 7adf4508cf Fix issues with tox 4.2.4
tox now hard fails if there is mismatch in spec
attributes[1]. This works around the issue
temporarily. We probably have to drop py38 jobs
and specify basepython for py39 target in the
future.

Removes ansible-galaxy --timeout for py* jobs to
workaround. We may hit the timeout with py* jobs.

[1] https://github.com/tox-dev/tox/pull/2824/

Change-Id: Ie9bacf18cf167139601eff80bba91f2b3454b5dd
2023-02-02 13:27:43 +01:00
Steve Baker 275a56fc2a Add release note for thin provisioning
Change-Id: I96f543875def15587973e30c21eb6df1451b7d86
2022-10-21 10:21:37 +13: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
Chandan Kumar (raukadah) 31731e145a Use python job template for Zed
the current master should be compatible with the Zed
release of the other projects.

Related-Bug: #1974244
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: I4ae059fe095378c3ee3b072b6216908a8988bf26
2022-05-20 08:02:59 +00: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
Zuul 2156463006 Merge "remove unicode literal from code" 2022-03-30 18:21:21 +00:00
Sandeep Yadav 0b33e111ca Disable auto discovery
Tripleo-ci jobs are broken after latest release of setuptools 61.0
because of breaking changes which are not backwork compatible,
details in related bug and [1].

Users that don't set ``packages``, ``py_modules``, or `configuration`
are still likely to observe the auto-discovery behavior, which may
halt the build if the project contains multiple directories and/or
multiple Python files directly under the project root.

To disable auto discovery, one can do below in setup.py

~~~
setuptools.setup(..,packages=[],..)
~~~

or

~~~
setuptools.setup(..,py_modules=[],..)
~~~

[1] https://github.com/pypa/setuptools/issues/3197

Releated-Bug: #1966382
Change-Id: I8db5e382576a820f756cc936ca0fe7ca6d0ec1d1
2022-03-28 15:23:54 +05:30
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
LiZekun 918b802ec2 remove unicode literal from code
All strings are considered as unicode string from Python 3.

This patch drops the explicit unicode literal (u'...')
appearances from the unicode strings.

Change-Id: I7247c37d7e082ffa4ea9e8540b25351bb9b851c5
2022-02-23 02:53:21 +00: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
Takashi Kajinami a2d68fae8d Use Python3 yoga unit tests
Because the Xena release is not being created for TripleO repos, test
runtime is not updated by automation tools. This change updates
the job template to use the tested runtime for Yoga.

Change-Id: Iec0bc2e4d6a773e4085bc05f6b08e676cc9424f0
2021-12-15 18:27:02 +09:00
Zuul 6109645f68 Merge "Add Python3 xena unit tests" 2021-11-04 02:34:13 +00:00
Zuul ae150e5722 Merge "Update master for stable/wallaby" 2021-11-04 02:34:11 +00:00
OpenStack Release Bot 2ca8bd1300 Add Python3 xena unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for xena.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ia63b1b55cbc844b6ef6e3619334e408a81c4999e
2021-11-03 08:33:44 -06:00
OpenStack Release Bot d1e9b0542c Update master for stable/wallaby
Add file to the reno documentation build to show release notes for
stable/wallaby.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/wallaby.

Sem-Ver: feature
Change-Id: I12783838405916e071a0520d6e5d00ab1753345b
2021-11-03 08:33:31 -06:00
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
Zuul 3cd377e9bd Merge "Migrate from testr to stestr" 2021-09-11 00:58:40 +00:00
Zuul 63b50cda0d Merge "Update master for stable/victoria" 2021-09-10 23:53:16 +00:00
Zuul 93ed523193 Merge "setup.cfg: Replace dashes with underscores" 2021-09-10 03:04:45 +00: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
HeroicHitesh 7b7458b317 Migrate from testr to stestr
* Replace .testr.conf by .stestr.conf for migration and update
  .gitignore, tox.ini and test-requirements.txt files accordingly

Signed-off-by: HeroicHitesh <email.hiteshkumar@gmail.com>
Change-Id: Ia577800e7a342beaad58009239a98b9e7044d01a
2021-07-12 20:34:26 +05:30
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
yangyawei 188f568522 setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb

Change-Id: I01e07a0f954a61cc4fa645bbd19a239a71070ba8
2021-05-14 16:52:22 +08:00
Zuul ada0d3aad1 Merge "Use python3 for map-services-tripleo" 2021-05-05 01:19:48 +00:00
OpenStack Release Bot e23ba31d67 Update master for stable/victoria
Add file to the reno documentation build to show release notes for
stable/victoria.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.

Sem-Ver: feature
Change-Id: Ia6996f87c9e700fe1f9551b7a302fb01ba121478
2021-04-01 09:21:14 +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
Hervé Beraud 3ce55b5039 Add doc/requirements
We need to specify doc requirements in doc/requirements.txt
to avoid problems with the pip resolver [1] for the release team [2][3].
Removed specific doc requirements from test-requirements.txt.

The problem here is that this repos haven't doc/requirements.txt file
and by default in this case zuul will use the test-requirements.txt file
to
pull requirements [4].

This requirements file contains extra requirements like flake8 that
collided with those allowed in our job environment and so the new pip
resolver fails to install these requirements and the job exits in error.

This project meet the conditions leading to the bug and it already faced
it previously [1].

[1] http://lists.openstack.org/pipermail/release-job-failures/2021-January/001500.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019611.html
[3] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019612.html
[4] https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-sphinx/tasks/main.yaml#L36

NOTE: Also fix CI clear pbr constraints, relax hacking contraints,
fix H214 Use assertIn/NotIn(A, B) rather than assertTrue/False

Change-Id: Id7ed00333ba9571ef9e0d8f300714835ba63551b
2021-01-06 16:22:12 +02:00
Hervé Beraud c1a598f643 Replace deprecated UPPER_CONSTRAINTS_FILE variable
UPPER_CONSTRAINTS_FILE is deprecated and TOX_CONSTRAINTS_FILE is
the new environment variable name that replaces it [1].

This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.

[1] https://zuul-ci.org/docs/zuul-jobs/python-roles.html#rolevar-tox.tox_constraints_file
[2] https://review.opendev.org/#/c/722814/

Change-Id: I36368c5725c9e664e3c57b6d5339bdbf93fa9479
2020-11-09 18:00:26 +00:00
Alex Schultz e05e262b32 Bump pyflakes
We need a python 3.9 compatible version.

Related PyCQA/pyflakes #367

Change-Id: Ic69d3a4070c9fccb4aaaf3324c804f87ccce8d79
2020-11-09 11:00:05 -07: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
Zuul dafd3c78a1 Merge "Stop to use the __future__ module." 2020-06-09 05:25:18 +00:00
Andreas Jaeger 6e7d0123ec Switch to newer openstackdocstheme and reno versions
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems

Update Sphinx version as well.

Disable openstackdocs_auto_name to use 'project' variable as name.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: I5aedf5a96bc39825dac6b0ddd0005c9e8e0b1619
2020-06-03 20:37:04 +02: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
OpenStack Release Bot ef155ed89d Add Python3 victoria unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for victoria.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I72983d251aee7b2696a0b2eba9190d101b0122d0
2020-05-26 17:15:58 +00:00
OpenStack Release Bot 922d5b3bb7 Update master for stable/ussuri
Add file to the reno documentation build to show release notes for
stable/ussuri.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.

Change-Id: Ib38dc3b5e3887559202082d2c0438b9446d08151
Sem-Ver: feature
2020-05-26 17:15:55 +00:00