Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various enhancements #105

Merged
merged 8 commits into from
Aug 22, 2022
Merged

Various enhancements #105

merged 8 commits into from
Aug 22, 2022

Conversation

thozza
Copy link
Member

@thozza thozza commented Aug 18, 2022

Cherry-picked commits from #104, on which there is consensus.

Notable changes

  • Update the CI to use Fedora 36 and RHEL-8.6 for running tests.
  • Update the osbuild and osbuild-composer versions used in CI to more recent ones. Adjust the relevant configuration files to reflect changes done to how JWT is configured.
  • Modify the Pylint GH action job to use Fedora container, instead of Ubuntu.
  • Drop support for specifying more than one image_type on the CLI.
  • Don't reduce the information uploaded in compose_status.json.

thozza and others added 8 commits August 8, 2022 16:15
Use latest osbuild and osbuild-composer releases. This is important to
be later able to test direct uploading to the cloud for Koji composes.
Also the mock openid server had to be enhanced to be usable for testing
`koji-osbuild`.

Modify used osbuild-worker configuration to use JWT for authentication
with composer. Update configurations of both, composer and worker to
handle multi-tenancy.

Do not start any services in `schutzbot/deploy.sh`, because at that
point, none of the configuration files are in place.

Ensure that the correct units are started and masked by
`test/integration.sh` to simulate the Service scenario more closely.
This means that the local worker is masked and only remote worker is
started.

Co-authored-by: Jakub Rusz <jrusz@redhat.com>
Refactor the test case implementation to make it easier to reuse
existing code when adding a new testing scenario.

The common pieces were moved under a new `SutInfo` class, which provides
information and convenience methods related to the system on which the
test is running.

This change will make it easier to later add a new scenario testing
upload to the cloud.
Previously, the image status in the compose status uploaded to the koji
build was represented as a single string describing the overall status.
All information related to the image upload or error details were
thrown away.

Refactor `ImageStatus` to contain all the information about the image,
its upload targets and potential errors, as they are returned by
composer.

This will improve the experience when debugging compose failures. In
addition, including all the data will be important once images
will be uploaded directly to the cloud, because it will contain
information to locate the image in the cloud environment.
While it is technically possible to build more than one image type
as part of a Koji compose in osbuild-composer, this option is not used
in reality and it also makes very little sense. If the user wants to
build more than one image type, they should submit multiple Koji builds.

Adjust affected unit tests.
Spell check started to freak out on `complies` in the `LICENSE`. Exclude
`LICENSE` from spell check until it learns English.
@thozza thozza requested review from gicmo, ondrejbudai and jrusz and removed request for gicmo, ondrejbudai and jrusz August 18, 2022 11:09
Copy link
Contributor

@jrusz jrusz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I'd prefer if someone more familiar with the internals approved though. I'm happy to see CI is using the latest GA composes and passing, thanks! :)

Copy link
Contributor

@jrusz jrusz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just noticed that this contains changes reviewed in #104 so I think this is good to go. There is just one requirement that is not satisfied, it's the linting job, the name changed and someone needs to change the settings.

@jrusz jrusz merged commit 4e32ae5 into osbuild:main Aug 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants