Commit graph

2635 commits

Author SHA1 Message Date
Ondřej Budai
ca2dc71eea docs/news: add an entry about removing --excludedocs
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-15 10:47:57 +02:00
Ondřej Budai
b4338881fa test: regenerate manifests
This commit also fixes the rpmrepo for 8.5 rt. The previously used one
was wrongly generated and had to be regenerated.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-15 10:47:57 +02:00
Ondřej Budai
39d77f26b6 distro/rhel90: always install docs in the rpm stage
When we firstly introduced the v2 manifests, we excluded docs from all rpm
stages because it doesn't make sense to include docs in edge images.

However, when we ported the other image types to v2, we left the flag on.
The side effect of --excludedocs is that we no longer install man pages into
the image. This the default behaviour of rpm and can be seen here:
b88f43b9a3/macros.in (L555)

This is actually quite a major regression in non-edge images, thus this commit
reverts this setting. It would be great to have the option not to install
docs in some rpm stages but as this is a difficult topic and we're already
past the deadline, we will consider this in the future.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-15 10:47:57 +02:00
Ondřej Budai
d895c336d6 distro/rhel85: always install docs in the rpm stage
When we firstly introduced the v2 manifests, we excluded docs from all rpm
stages because it doesn't make sense to include docs in edge images.

However, when we ported the other image types to v2, we left the flag on.
The side effect of --excludedocs is that we no longer install man pages into
the image. This the default behaviour of rpm and can be seen here:
b88f43b9a3/macros.in (L555)

This is actually quite a major regression in non-edge images, thus this commit
reverts this setting. It would be great to have the option not to install
docs in some rpm stages but as this is a difficult topic and we're already
past the deadline, we will consider this in the future.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-15 10:47:57 +02:00
Gianluca Zuccarelli
d4f511dd82 test/cases: check filesystem mountpoint depth
Add test case to check the ability to create partitions for
the /var, /var/log & /var/log/audit mountpoints. This test is
checking that mountpoints with a depth of 3 or greater can be configured.
2021-09-15 10:46:55 +02:00
Gianluca Zuccarelli
e41e82935d rhel90: enable multi-level mountpoints
Previously it was only possible to configure separate partitions
for mountpoints in the allow list and their immediate subdirectories
only i.e. /var & /var/log
This fix allows for an arbitrary level of mountpoints, i.e. /var/log/audit,
/var/a/b/c/d/e and so on
2021-09-15 10:46:55 +02:00
Gianluca Zuccarelli
16e80ffa33 rhel85: enable multi-level mountpoints
Previously it was only possible to configure separate partitions
for mountpoints in the allow list and their immediate subdirectories
only i.e. /var & /var/log
This fix allows for an arbitrary level of mountpoints, i.e. /var/log/audit,
/var/a/b/c/d/e and so on
2021-09-15 10:46:55 +02:00
sanne
5a9d8c792b cloudapi: V2
V2 is compliant with api.openshift.com design guidelines.

Errors are predefined, have codes, and are queryable.

All requests have an operationId set: a unique identifier which is
sortable by time. This is added to the response in case of an error.

All returned objects have the href, id, and kind field set.
2021-09-14 15:32:21 +02:00
Tomas Hozza
19eb65e9fd RHEL-8.5/9.0: keep RHSM DNF plugins enabled on ec2, ec2-ha and ami
The RHSM DNF plugins `product-id` and `subscription-manager` are now
by default enabled on the RHEL-8.5 and RHEL-9.0 `ec2`, `ec2-ha` and
`ami` images.

The desired default state of the RHSM DNF plugins has been decided by
the RHSM team.

Related to https://bugzilla.redhat.com/show_bug.cgi?id=1996670

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-09-14 11:47:09 +02:00
Brian C. Lane
ca47083b46 test: Add cross-distro test for distro support 2021-09-14 10:43:09 +01:00
Tom Gundersen
8b84d92264 repositories: exclude downstream from upstream
We don't want to give the impression we support building Fedora on RHEL or
CentOS Stream, or CentOS Stream on RHEL, so drop these repositories from
the package.

Also adjust dnf-json to use test repositories, rather than the upstream ones.
These are shipped in the test package, so makes sure we are unaffected by
what is shipped in the RPM shipped in the distros.
2021-09-14 10:43:09 +01:00
dependabot[bot]
961fef25ff build(deps): bump github.com/Azure/azure-sdk-for-go
Bumps [github.com/Azure/azure-sdk-for-go](https://github.com/Azure/azure-sdk-for-go) from 57.1.0+incompatible to 57.2.0+incompatible.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v57.1.0...v57.2.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-14 08:41:10 +02:00
Martin Sehnoutka
de41a49f2f spec: stop providing golang-github-osbuild-composer
The golang-github-osbuild-composer package was created by mistake a long
time ago. Stop providing it in Fedora 34 and newer and add a note about
removing the condition when Fedora 33 hits EOL.
2021-09-13 19:20:05 +02:00
Martin Sehnoutka
fccf3431df Schutzfile: bump osbuild to v36 2021-09-13 13:14:49 +02:00
Martin Sehnoutka
bb3b69f9c3 spec: bump osbuild dependency to 36
This is needed to include the fix for the RHSM module which is tested by
the newly improved regression test.
2021-09-13 13:14:49 +02:00
Martin Sehnoutka
8367791358 regression tests: Introduce test for the RHSM fallback
Make sure the fallback works when there is no redhat.repo file, but
there is a certificate that can be used to access the repositories.
2021-09-13 13:14:49 +02:00
Diaa Sami
4389c8e381 Undo changes added by mistake 2021-09-10 15:17:54 +02:00
Diaa Sami
34342d79e3 don't use non-existent ansible plugin debug 2021-09-10 15:17:54 +02:00
Diaa Sami
20501f4e58 Fix package sets for tar installer image type 2021-09-10 15:17:54 +02:00
Diaa Sami
f87d8325d9 Allow running script locally without schutzbot 2021-09-10 15:17:54 +02:00
Diaa Sami
12c900ac35 Fix test 2021-09-10 15:17:54 +02:00
Diaa Sami
e788f64b03 rhel9: enable installer test 2021-09-10 15:17:54 +02:00
Jakub Rusz
db619f1aa6 ci: disable azure testing on centos-8
To be fixed and reverted later, see COMPOSER-1118.
2021-09-09 13:40:52 +02:00
Jakub Rusz
bd5414c1e0 Update centos-8 repositories 2021-09-09 13:40:52 +02:00
Simon Steinbeiss
b06753e096 packit: Propose PRs to all Fedoras 2021-09-09 11:31:21 +02:00
Chloe Kaubisch
11023cb8a8 cloudapi: change Organization customization to a string
Internally change Organization in the SubscriptionImageOptions
to a string instead of an int.
2021-09-08 17:38:05 +02:00
Jakub Rusz
b8ad702ee7 ci: run new ostree and ostree installer tests on stronger machines
These tests take the longest from the whole test suite, run them on
large machines insted of medium.
2021-09-08 14:20:57 +02:00
Jakub Rusz
e8d0d8b9de tests: enable regression tests on RHEL-9
This commit adds the possibility to use both weldr-client and original
composer-cli in the tests.
2021-09-08 12:01:32 +02:00
dependabot[bot]
e136434bdf build(deps): bump github.com/aws/aws-sdk-go from 1.40.37 to 1.40.38
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.40.37 to 1.40.38.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.40.37...v1.40.38)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-08 09:37:47 +02:00
dependabot[bot]
5ea512da3e build(deps): bump gopkg.in/ini.v1 from 1.62.1 to 1.63.0
Bumps [gopkg.in/ini.v1](https://github.com/go-ini/ini) from 1.62.1 to 1.63.0.
- [Release notes](https://github.com/go-ini/ini/releases)
- [Commits](https://github.com/go-ini/ini/compare/v1.62.1...v1.63.0)

---
updated-dependencies:
- dependency-name: gopkg.in/ini.v1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-07 19:26:10 +02:00
yih
645815a11c add test case for httpboot simplified installer 2021-09-07 19:15:22 +02:00
Jakub Rusz
5350b42b1d tests: enable vmware test on RHEL-9
These changes enable the use of weldr-client with the test and also
there was a need to change the vm.create command a little bit. Without
the increased CPU and RAM RHEL-9 would not boot and a network adapter
had to be specified to use a newer one because the default one does not
work with RHEL-9.
2021-09-07 18:37:08 +02:00
Jakub Rusz
4fd256e2a3 tests: enable filesystem test on RHEL-9
Modifications to the test to work with weldr-client along with and
adding set -euo pipefail which was missing
2021-09-07 12:33:52 +02:00
Alexander Todorov
16e19bbd62 Add trailing slashes 2021-09-07 13:29:56 +03:00
Alexander Todorov
38bb690e87 tests: Override filename contains minor version number 2021-09-07 13:29:56 +03:00
Alexander Todorov
44c25b7a87 ci: Make nightly repo/source files multi-arch
the prepare-rhel-internal.sh script should be executed on a single
runner and it will loop through all architectures to prepare the
necessary definitions inside .json and .repo files. The resulting
osbuild-composer-tests repository is not multi-arch, containing all
versions of osbuild-composer-tests.rpm downloaded from Brew.

This is needed because jobs from subsequent stages will download
artifacts (.json & .repo files) from the prepare job but there's no
mechanism to control this easily. As a result artifacts are downloaded
from all of the prepare jobs and they overwrite themselves resulting in
test systems being configured with repo files for different CPU
architecture which leads to dnf errors.
2021-09-07 13:29:56 +03:00
Alexander Todorov
1532b27c2b ci: Use S3 put instead of sync to speed up uploads
See cf73edd2d2
2021-09-07 13:29:56 +03:00
Alexander Todorov
9107617eb8 tests: Add info about COMPOSE_ID/COMPOSE_URL
useful for grepping in logs
2021-09-07 13:29:56 +03:00
Alexander Todorov
875c59861e Remove stale images 2021-09-07 13:29:56 +03:00
Ondřej Budai
19a3bdf450 go: update most dependencies to the latest version
It's a lot of work for dependabot for our outdated deps, let's
help it by making one huge manual update.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-05 12:50:02 +01:00
dependabot[bot]
08a937c9c1 build(deps): bump google.golang.org/api from 0.36.0 to 0.56.0
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.36.0 to 0.56.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.36.0...v0.56.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-05 11:17:29 +02:00
dependabot[bot]
137819b9cd build(deps): bump github.com/vmware/govmomi from 0.23.0 to 0.26.1
Bumps [github.com/vmware/govmomi](https://github.com/vmware/govmomi) from 0.23.0 to 0.26.1.
- [Release notes](https://github.com/vmware/govmomi/releases)
- [Changelog](https://github.com/vmware/govmomi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vmware/govmomi/compare/v0.23.0...v0.26.1)

---
updated-dependencies:
- dependency-name: github.com/vmware/govmomi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-05 08:48:07 +02:00
Ondřej Budai
974c258382 schutzbot: run openstack/* jobs on a dedicated runner
We have limited resources in openstack. We can only run about 40 concurrent VMs.
Previously, the rate limiting was kinda stupid:

All (aws and openstack) jobs were run using the same runner. This runner was
globally limited to 60 concurrent jobs. For openstack, the individual
images were also limited to a certain number of concurrent jobs in
the gitlab-ci-terraform repository so we don't hit the quota. This limit
was applied at runtime - the first thing that an openstack job did was to
wait for a slot. This job counted towards the global limit of jobs (60)
and thus was blocking one slot without doing any useful work.

Applying local limits to please global quota is stupid though. We have much
more demand for rhel-8.5 runner than for e.g. Fedora. It would be much
better to just use global limit that would map much nicely to global
quota.

Today, I've introduced a new runner with tag terraform/openstack. It's
currently limited to 20 concurrent jobs. All jobs running on openstack should
run on the new runner. This runner has the local rate limiting for openstack
disabled. This means that we can run 20 concurrent openstack jobs and it
doesn't matter which distribution they run.

To sum it up, this has two benefits:
- no local limits, we can just use the full quota
- no idling jobs waiting for an openstack slot

Note that the openstack global limit is currently set to 20, I will raise
it once all PRs are rebased on top of this change.

Side effect: I moved all libvirt test to openstack. I think this is overall
better because testing guest images on KVM makes more sense than testing them
on TCG.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-04 23:14:58 +02:00
dependabot[bot]
aab7bff174 build(deps): bump github.com/Azure/azure-storage-blob-go
Bumps [github.com/Azure/azure-storage-blob-go](https://github.com/Azure/azure-storage-blob-go) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/Azure/azure-storage-blob-go/releases)
- [Changelog](https://github.com/Azure/azure-storage-blob-go/blob/master/ChangeLog.md)
- [Commits](https://github.com/Azure/azure-storage-blob-go/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-storage-blob-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 19:42:10 +02:00
dependabot[bot]
cad77a25d1 build(deps): bump github.com/labstack/echo/v4 from 4.1.11 to 4.5.0
Bumps [github.com/labstack/echo/v4](https://github.com/labstack/echo) from 4.1.11 to 4.5.0.
- [Release notes](https://github.com/labstack/echo/releases)
- [Changelog](https://github.com/labstack/echo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/labstack/echo/compare/v4.1.11...v4.5.0)

---
updated-dependencies:
- dependency-name: github.com/labstack/echo/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 15:46:13 +02:00
Ondřej Budai
636a713745 go: fix vendoring
#1717 broke the source preparedness check. This was probably caused by the
fact that the PR wasn't rebased on top of the latest main when it was merged.
I guess that some other PR made some incompatible changes in the meantime.

This commit is just a rerun of tools/prepare-source.sh

Merge trains are a nice idea, right?

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-04 12:59:29 +02:00
dependabot[bot]
ea19341897 build(deps): bump actions/setup-go from 1 to 2.1.4
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 1 to 2.1.4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v1...v2.1.4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 12:13:36 +02:00
sanne
4a057bf3d5 auth: OpenID/OAUth2 middleware
2 configurations for the listeners are now possible:
- enableJWT=false with client ssl auth
- enableJWT=true with https

Actual verification of the tokens is handled by
https://github.com/openshift-online/ocm-sdk-go.

An authentication handler is run as the top level handler, before any
routing is done. Routes which do not require authentication should be
listed as exceptions.

Authentication can be restricted using an ACL file which allows
filtering based on JWT claims. For more information see the inline
comments in ocm-sdk/authentication.

As an added quirk the `-v` flag for the osbuild-composer executable was
changed to `-verbose` to avoid flag collision with glog which declares
the `-v` flag in the package `init()` function. The ocm-sdk depends on
glog and pulls it in.
2021-09-04 02:48:52 +02:00
sanne
58613788bc composer: Move external import to the right place 2021-09-04 02:48:52 +02:00
sanne
5e72636331 Revert "cloudapi: Add x-rh-identity header filter"
This reverts commit 19db3ff1d4.
2021-09-04 02:48:52 +02:00