Image build in component jobs is pulling content from
centos.repo instead of quickstart repos, see [0]
This can cause mismatch of rpm when mirrors.centos.org and
local mirrors are not in sync.
The base image which we use to build overcloud images already have
centos.repo and when proxy mirros are not updated this can cause
an issue.
This is a workaround patch to pass centos.repo(which are disabled
on host) so that same repos in the image will be overridden.
One change in behavior is at the end of image build, dib will delete
the centos.repos in the overcloud image as dib cleans up what it adds
ignoring what was already present.
oooci-build-images already have same fix.
[0] https://logserver.rdoproject.org/openstack-component-baremetal/opendev.org/openstack/tripleo-ci/master/periodic-tripleo-ci-centos-9-ovb-3ctlr_1comp-featureset001-baremetal-wallaby/1cd7430/logs/undercloud/home/zuul/build.log.txt.gz
~~~
2022-12-27 00:54:07.471 | kernel x86_64 5.14.0-214.el9 baseos 2.8 M
~~~
[1] b2ce4b4c10
Related-Bug: #2000226
Change-Id: Iecf36eff8ef27fd2734f77b09180d0b4d8654c52
Currently we inject gating.repo on the built image.
In fs02, we first built the image and then inject
the gating repo on the image to pick up latest changes.
On FS02, the gating repo is not getting applied on the
built images.
In order to fix that, we are including the gating.repo
during the image build process and the latest packages
are getting pulled from gating repo.
It also removes install built repo operation as build
images role already takes care of that.
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: I58ffeafddac3e14e265fc19f294f4508b8f7f5e9
When whole_disk_images is true, inject_images will contain 3 items
instead of 5. This kind of conditional value cannot be set in a
defaults yaml file. This change moves inject_images to a set_fact in
the build-images tasks.
It is possible to disable image injection by setting variable
inject_images: [].
The variable image_build_extract_list is given the same treatment,
although it looks like build_image_isolated is never true anymore.
tripleo-quickstart has an equivalent change
https://review.opendev.org/c/openstack/tripleo-quickstart/+/801408
Change-Id: I4e85b9f4074bd4c35d5b9b486089adc9a58c31d0
Blueprint: whole-disk-default
The var overcloud_image defaults to overcloud-full, and will until the
switchover to the whole-disk overcloud.
Change-Id: I64c0d9f97b34e9145be70af7c489bb5b706baf8a
Blueprint: whole-disk-default
This will soon be overcloud-hardened-uefi-full on master, and the
download will be of a qcow2 file, not a tar file.
This change moves whole_disk_images default setting to extras-common,
and also adds default variable overcloud_image, which is used wherever
'overcloud-full' is currently hard-coded.
Change-Id: Iba7833c16eae3d3129b7bab48434c66ec2e1efcf
Blueprint: whole-disk-default
When building images in OVB component jobs,
the componet delorean repo is disabled.
Include the component-ci-testing repo in the
image repo build path where it is available.
Change-Id: Ia677d4d84a70c2e4944656d5fd4688384e5a72a1
Use install-built-repo role to enject gating repo in the
overcloud and IPA images once the image is built.
Change-Id: I1b9dc627fa71e80dc3bf79ddd353ace1d15e7673
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
It contains:
* Remove existing template in favour of oooci-build-images role
* Moved isolated build step code to main playbook
* Added required vars for oooci-build-images role
in Ansible
* use quickstart-centos and delorean repos for image build
* web-gating.repo is generated when there is a depends-on from
tripleo projects.
Depends-On: https://review.opendev.org/#/c/721178/
Change-Id: Ifebdc0e1d765646faafaed545a9e01cead51a319
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
- Fixes 206 errors and removed the skip.
- Also replaces revision with latest tag (pushed today)
Bug: https://bugs.launchpad.net/tripleo/+bug/1848512
Change-Id: I69d75ba9de8ab0e91eb45fd4f9febfdb28cdcb3a
Using wget can lead to problems because it's not default.
We should use curl instead
Change-Id: Idc859c57582ed3b83c6177e91e14ba4828311826
Closes-Bug: #1847344
When we build the image we need a base image to be defined.
For CentOS it's done automatically in client, but if we need to
build something else we need to download it and define it
explicitly.
base_image_url - URL of base image
base_image_path - path to save it on host
Change-Id: I10bd9868fcfd3a4d5992fc7d7b6200e908e75e25
Bug https://bugs.launchpad.net/tripleo/+bug/1818305 can't be easily replicated,
and without additional information it's impossible to understand what's
failing.
This patch enables temporarily the debug flag that is usually excessively
verbose to be kept enabled
Change-Id: Iab18d18187ada40773224d0c9cf283e01cec7130
Upgrades yamllint to latest version and adots use of its strict
checking.
Fix all known problems reported by yamllint so we don't have to do
that while touching these files.
Change-Id: I4bdc520d9e2aff086c4b463718bc1e053261a4f5
Story: https://tree.taiga.io/project/tripleo-ci-board/task/381
- adopts official syntax for 'when:' commands
- assures we use current linter which spots when errors
- reverts temporary linter rule disablement
- use parsable output (pep8 like) for ansible-lint
Change-Id: I6eb5719841c2f264e1efed4bf38726f71c840e36
Closes-Bug: #1797838
* add "cachable: true" to set_fact calls when the fact would be used by
other roles in later runs; the other fact names were checked to make
sure they are not referred to in other roles
* consolidate the formatting of the set_fact calls, using the proper
yaml structure instead of `set_fact: foo=bar`
Depends-On: I987d51cc252b7ebc3972d60497234fa676864882
Change-Id: I5dd3084ead618e357b1e7d841ea2ee794bd0569a
This is now fixed in libguestfs-1.36.3-6.el7_4.3.x86_64
so workaround is modified to work with both 7.3 and 7.4
to avoid issue
https://bugs.launchpad.net/tripleo/+bug/1716487/comments/14
Change-Id: Ie3372bfc7b829d4109c1466bd4423c3069e04027
We can build security hardened images just updating the list
of files on the role. So document properly in order to show
how to do it.
Change-Id: Ie3207c07bfdedebd609501bb9d55166e56e6ad98
We generate bunch of repos depending on AFS mirrors,
we need to include them into built image too.
Change-Id: Iad940ac2f61b21efb789ba63de20ed385e190801
When using boolean variables in conditional tests, those variables
should be filtered as '|bool'. Otherwise, they are being evaluated as
a string and return True in any case.
Change-Id: I1e3642cb2d33d839e4808ae79ae991175e32dd0f
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
When building images we need to supply repo with built packages
to DIB so it will use when installing packages on the image.
Because DIB is in a chrooted environment we have to use repo in
network. This patch runs a webserver on the directory of the
repository to make it accessible over HTTP on port 8766.
Change-Id: I7b21d3ff1ec7cecab322e599cb929259f5a7256e
When pipe is added to command, it should still exit with its
result code, so save it by setting pipeline option before each
command.
Close-Bug: #1676156
Change-Id: Ibbe49b4a15a5b7825447a563fe35af85fd48b3ff
Prepend a timestamp with awk to our deployment and test commands. This
allows html linking from the log servers and also better correlation
with the system logs.
We are not using the "ts" command from the moreutils package to avoid
extra dependencies. The drawback is the lack of sub-second timinig.
It is possible to disable the timestamping by setting the
timestamper_cmd to an empty string.
Also add a README file for the extras-common role.
Closes-Bug: #1673046
Change-Id: I8a2a1e4fde2ba805d3361e2e7a2337e873133ef0
This patch fixes lint issues that ansible-lint.sh did let pass and it enables
the verbose mode to see what happens.
Change-Id: Id912ecb4000a4cfeb8a4b8ab631774fd7ea5a449
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Add new role to build overcloud and undercloud images.
This role can either operate directly against a host (direct)
or setup a build environment inside of a libvirt guest using
libguestfs-tools (isolated).
It starts by creating the overcloud images from the provided
yaml files. It then uses the convert-image role from
tripleo-quickstart to turn the overcloud-full.qcow2 image into
an undercloud image. Finally, it injects the previously created
overcloud-full and ironic-python-agent images into this new
undercloud image.
It is important to note that this process changes the type of
undercloud image produced. With the previous method we produced
a whole disk image for the undercloud, however by converting an
overcloud image we get a partition image for the undercloud. This
is because the overcloud image itself is a partition image.
The libvirt role in tripleo-quickstart handles this transparently,
and RDO is already producing the master image this way. However,
if we switch older releases to this method, external consumers of
the undercloud image not using tripleo-quickstart for libvirt
provisioning will be broken.
Change-Id: I7df1083291aa36cfef4aaacf9e345300ab5f4ed3