Commit graph

5119 commits

Author SHA1 Message Date
Sanne Raymaekers
369f237d89 gen-manifests: add ostree rhsm option 2022-12-12 13:42:52 +01:00
Sanne Raymaekers
cb127cd1b0 distro/rhel9: add consumer certificates when ostree rhsm is true 2022-12-12 13:42:52 +01:00
Achilleas Koutsou
19ec3be6bd manifest: return inline FDO cert from CoreOSInstaller pipeline
The CoreOSInstaller pipeline supports adding inline data to the tree for
the FDO cert.  This needs to be returned by the pipeline object via the
getInline() method to attach the necessary data to the Sources array in
the manifest.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
351576f362 test: update ostree-simplified-installer test
Uses sed to modify the grub configuration to test http boot and needs to
match the image name on the ISO.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
0f48298811 test: update RHEL 8 and CentOS 8 edge simplified installer manifests
New embedded disk image name.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
2784d5a228 distro/rhel8: rename raw image in simplified installer
Rename the raw image embedded in the simplified-installer ISO to
image.raw.xz for RHEL 8.  This is the same name that's used for the raw
image when built on its own (as edge-raw-image).
The change is made for consistency with RHEL 9 and Fedora as well as for
consistency with the edge-raw-image.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
3fa2da3450 distro/rhel9: remove unused functions
- Pipelines.
- Stage options.
- Manifest and PackageSets implementations for ImageType.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
0a4c078200 test: update edge-simplified-installer manifests
Changes:
- Build packages
- Edge raw image pipelines
- Raw image filename
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
b0c67b3e40 rhel9: update edge simplified installer to new definition
Add the image function and remove the pipeline function.
Remove the build package set: build packages are added to the pipelines
on-demand based on platform, environment, and stage requirements.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
f68ac1d163 image: new image kind: OSTreeSimplifiedInstaller
Define the OSTreeSimplifiedInstaller ImageKind.
This is the top-level image definition.
It uses the raw image pipelines, iso pipelines, and the new coreos
installer pipelines.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
8d36e048bc image: separate raw image pipeline from InstantiateManifest
Make the pipeline code a reusable function so we can use it in multiple
images (edge-raw-image and edge-simplified-installer).
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
bc4583eb81 manifest: new COI bootiso-tree pipeline
New bootiso-tree pipeline specific to the CoreOS Installer.

This is very similar to the Anaconda bootiso-tree pipeline.  Usually we
generalise these pipelines to support both installers.  The bootiso-tree
is different enough that generalising the one for Anaconda would make it
harder to work with.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
44d12890b8 test: regenerate installer manifests
Dracut module added to RHEL 9 and CS 9 installers.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
bd448edad0 manifest: support adding per-distro dracut modules to installers
Different distros and image types have different dracut modules
available and enabled.  Set these at the distro level and push them down
through the appropriate manifests, pipelines, and stages.

Added to both anaconda and coreos installers.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
9511c76063 manifest: use options from fdo package instead of blueprint
Use the internal representation of the FDO options in on the
CoreOSInstaller pipeline instead of the blueprint.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
836dddbb33 New package: fdo
Defines an fdo.Options struct for the internal representation of the FDO
options.  It can be easily converted from the blueprint FDO
customizations and is added to OSCustomizations in the pipeline
generators, which in turn define stage options.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
edce65eabd manifest: move kernel option handling outside EFIBootTree
The kernel arguments for the EFIBootTree depend on the type of ISO we're
building, the payload, and the location of the kickstart file if any.
Instead of setting multiple fields on the object, most of which would be
mutually exclusive, set the kernel arguments from the image manifest
generator function which has all the information.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
fae824d574 manifest: rename ISOTree to AnacondaISOTree
The ISOTree struct and pipeline generator is specific to Anaconda.
Rename it for clarity and to differentiate from any other ISO tree
pipeline.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
3d1f283dab manifest: add any pipeline to ISO pipeline
Support adding any pipeline as the tree for the ISO.

The existing ISOTree (bootiso-tree) pipeline is specific to Anaconda.
This change will allow the ISO (bootiso) pipeline to be created with any
pipeline, so we can add an ISO tree that is specific to the CoreOS
Installer.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
115c0717c4 manifest: remove Anaconda pipeline from EFIBootTree
Remove dependence of EFIBootTree pipeline (efiboot-tree) on an Anaconda
pipeline.  The Anaconda pipeline was used to get the product and version
strings, so we pass those in instead.
This way, we an use the pipeline without needing an Anaconda pipeline.
The EFI tree shouldn't depend on an installer (or any) pipeline.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
2b73a3624c manifest: add any pipeline to ISO rootfs
Support adding any pipeline as the source of the ISO rootfs.
This will support both Anaconda and COI, or anything else we might need
in the future.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
c8710e407c manifest: new CoreOS Installer pipeline
New CoreOS Installer (coi-tree) pipeline.
Based on the existing pipeline in rhel9/pipelines.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
b8ec2cb09d distro/rhel9: remove unnecessary appendRHSM()
Has no effect since it's already applied by previously called functions.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
fa1bc48840 test: update manifests
CS9 manifests updated with new package versions.
RHEL 7 repo change in package-sets array: was missed in the last
regeneration.
2022-12-11 12:37:37 +00:00
Achilleas Koutsou
c2fe05950c tools: update test case repos for CS9 2022-12-11 12:37:37 +00:00
Achilleas Koutsou
b9098c64c4 test: add valid parent commit ID to test manifests
The previous value for parent was not a valid commit ID.  In a regular
compose request, the parent ref is resolved before being added as a
source in the manifest.  However, when building test manifests, since
the values aren't real, we don't resolve the ostree refs, meaning that
the test manifests weren't valid — they failed validity checks if run in
osbuild.

Replaced the fake parent ref with a fake parent commit ID
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff".
The manifests still aren't buildable, since they don't point to a valid
ostree repository or commit, but now they're at least valid (in the
technical sense).
2022-12-11 12:37:37 +00:00
Sanne Raymaekers
8636c7e1e0 Schutzfile: bump osbuild dependency
This contains a fix to consumer secrets which are required for pulling
protected ostree content.
2022-12-10 13:23:42 +00:00
Ondřej Budai
ff21f2935f distro/rhel9: fix /usr/sbin/zipl unavailable in the buildroot
The big rewrite of rhel9 distro omitted installing s390utils-base into the
buildroot. This caused the org.osbuild.zipl.inst stage because of missing
/usr/sbin/zipl.

This commit introduces s390utils-base back into the buildroot which fixes
building of the s390x images.

I verified it by building the RHEL 9.1 qcow2 image and booting it using
libvirt.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-12-08 16:11:52 +01:00
Achilleas Koutsou
caac5fc7af test: regenerate manifests
ISOLinux removed for Fedora and RHEL/CS 9 installers.
2022-12-08 10:30:09 +01:00
Achilleas Koutsou
9e66ee13e7 image: enable ISOLinux only for x86_64
ISOLinux was unconditionally enabled for all ISOs, which is incorrect
and breaks builds on aarch64.
Enable it only for x86_64.
2022-12-08 10:30:09 +01:00
Brian C. Lane
87b5e38c45 workflows: Update to use actions/checkout@v3 2022-12-07 16:53:25 -08:00
Sanne Raymaekers
4b90cb6fa4 cloudapi/v2: set ostree rhsm option on image options
The ostree options are used during the ostree resolve job, but when
generating the manifest the rhsm value comes from the image options, so
it's necessary to set it on both.
2022-12-07 16:31:46 +01:00
Mario Cattamo
51851bfd49 Firewall feature flag default value 2022-12-06 16:39:00 +01:00
Mario Cattamo
9426b15913 Set up firewall feature flag value 2022-12-06 16:39:00 +01:00
Mario Cattamo
7871ab49e9 Test firewall sources and zones customizations in edge-commit blueprint 2022-12-06 16:39:00 +01:00
Irene Diez
432dab8e78 schutzfile: pin required osbuild commit
Signed-off-by: Irene Diez <idiez@redhat.com>
2022-12-06 16:39:00 +01:00
Irene Diez
6cb8216f09 internal: update firewall stage to allow zones
Updates firewall stage customizations to allow zones
as per the changes made on osbuild/osbuild#1157

Relevant tests and pipelines for rhel8+9 updated.

Signed-off-by: Irene Diez <idiez@redhat.com>
2022-12-06 16:39:00 +01:00
Antonio Murdaca
80a6b1bd23 Extend firewall customizations to add sources
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Co-authored-by: Irene Diez <idiez@redhat.com>
2022-12-06 16:39:00 +01:00
Sayan Paul
4380e70973 fix: regenrate manifest
Signed-off-by: Sayan Paul <saypaul@redhat.com>
2022-12-06 12:15:09 +01:00
Sayan Paul
6f56bee611 build:add journald stage to thel 8/9 pipeline
Adds the new journald stage to rhel 8/9
rpmostree commit pipeline.This will add
the dropin file `10-persitent.conf` with
the storage option set as persistent.

Co-authored-by: Sayan Paul <paul.sayan@gmail.com>
Co-authored-by: Irene Diez <idiez@redhat.com>
Signed-off-by: Sayan Paul <saypaul@redhat.com>
2022-12-06 12:15:09 +01:00
Antonio Murdaca
217cc64425 check_ostree: check persistent logging
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2022-12-06 12:15:09 +01:00
Sayan Paul
5ce3de214d build:create systemd_journald stage
Creates new stage to configure
journald to persist the journal.
Instead of creating the `/var/log/journal`
directory we explicitly configure journald
via the new stage.This is done in
according to the FCOS norms.
Unit tests also added for functionality
check.

Co-authored-by: Irene Diez <idiez@redhat.com>
Signed-off-by: Sayan Paul <saypaul@redhat.com>
2022-12-06 12:15:09 +01:00
Achilleas Koutsou
8c75975917 osbuild: add masked services to systemd stage 2022-12-02 19:04:26 +00:00
Gianluca Zuccarelli
5457b9fba2 metrics: update status metrics label
Openshift overrides the `service` label for
all metrics in the cluster. Update the label
from `service` to `subsystem` for the status
metrics query. This helps us differentiate
between requests from composer and the worker
server.
2022-12-02 09:25:40 +01:00
Ondřej Budai
fd72a6d16e run-koji-container.sh: drop the duplicate vhd.xz format
When the test upload a vhd.xz image to koji, it returns `koji.GenericError:
multiple matches for file extension: vhd.xz`. It seems like the default
schema is not valid for vhd.xz images because it contains two archive types
for them which koji cannot handle. I reported this issue as

https://pagure.io/koji/issue/3605

This commit works around that by removing one of the archive types, so koji
isn't confused by two same records.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-12-01 20:59:30 +01:00
Ondřej Budai
972da81a91 worker: fix reporting the import error to composer
The result variable wasn't used at all, kojiFinalizeJobResult is what actually
reports the error.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-12-01 20:59:30 +01:00
Xiaofeng Wang
afd0f7ebc7 test: Use new CS9 repo built by PR#3136
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2022-12-01 11:51:58 +01:00
Antonio Murdaca
64f1ff498b re-enable cs9 runner for simplified installer
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2022-12-01 11:51:58 +01:00
Gianluca Zuccarelli
113cda7d39 internal/worker: register status middleware
Register the custom middleware function to the worker
server. This function is responsible for recording all
the status codes of all the server's endpoints.

Due to a bug with echo/v4, a request to an endpoint using
the incorrect method should return a `405` error but returns
a `404` error instead when a middleware function is registered.
The worker `server_test` has been updated to reflect this.
2022-11-30 11:14:29 +01:00
Gianluca Zuccarelli
8b5458ae83 internal/cloudapi: register status code middleware
Register the custom middleware function to the cloudapi
server. This function is responsible for recording all
the status codes of all the server's endpoints.
2022-11-30 11:14:29 +01:00