Changes

Summary

  1. jobs: drop butane (details)
  2. README-upstream-ci.md: fix links to coreos-ci-lib (details)
  3. README-upstream-ci: document contributor trust (details)
  4. manifests/jenkins: enable OVERRIDE_PV_PLUGINS_WITH_IMAGE_PLUGINS (details)
  5. manifests/jenkins: override default jenkins-agent image (details)
  6. Stop mounting GitHub OAuth secret into Jenkins (details)
  7. Manage coreosbot GitHub token with k8s credentials provider (details)
  8. Manage GitHub webhook secret with k8s credentials provider (details)
  9. Use same `jenkins.yaml` as FCOS pipeline (details)
  10. Adapt to latest pipeutils (details)
  11. Use same `pipeline.yaml` as FCOS pipeline (details)
Commit 82469a8e46d6d608824341e04da76f375ecc8fbd by Jonathan Lebon
jobs: drop butane

That repo doesn't use CoreOS CI at all, so just delete it.
The file was modified jobs/seed-github-ci.Jenkinsfile (diff)
Commit 7057f141ee98cb47568b35c35af06a9f70b09601 by Luca Bruno
README-upstream-ci.md: fix links to coreos-ci-lib

The `coreos-ci` branch is outdated (and will soon be deleted). Fix the
links to use `main`.

Reported-by: Luca BRUNO <luca.bruno@coreos.com>
The file was modified README-upstream-ci.md (diff)
Commit fb915bc813b0a934063d1f7a860416140b1c51d8 by Jonathan Lebon
README-upstream-ci: document contributor trust

We hit this recently. Let's write this stuff down so it's easier to know
in the future what needs to be done.
The file was modified README-upstream-ci.md (diff)
Commit 1aef511907d5cc3f7b00fa7057e6576ab98bfc66 by Jonathan Lebon
manifests/jenkins: enable OVERRIDE_PV_PLUGINS_WITH_IMAGE_PLUGINS

Jenkins stores configs and plugins in a single directory, which is on a
PVC mount. When updating the Jenkins image, by default new plugins in
the image are not copied over into the PVC. If we want to make the image
plugins authoritative (i.e. if we actually want plugin updates), we need
to opt into it via an env var.
The file was modified manifests/jenkins.yaml (diff)
Commit 6939b3b0acf1bcdf85d8ee6de2d34e01523b4834 by Jonathan Lebon
manifests/jenkins: override default jenkins-agent image

This matches what we did in the FCOS pipeline:
https://github.com/coreos/fedora-coreos-pipeline/pull/671

The bits from that PR to actually set up the imagestream, we will
already inherit here.
The file was modified manifests/jenkins.yaml (diff)
Commit d215615854aaa3c509d4da329a8410aa335c453a by Jonathan Lebon
Stop mounting GitHub OAuth secret into Jenkins

Just have it live directly in the configmap. This is not as elegant as
the kubernetes-credentials-provider but takes us a step closer to
dropping `jenkins.yaml`.

There isn't really a difference today in terms of RBAC in our namespace
between secrets and configmaps (e.g. all authenticated users with access
to the namespace can access both, and so can the `jenkins` SA).
The file was modified HACKING.md (diff)
The file was modified jenkins/config/github-oauth.yaml (diff)
The file was modified manifests/jenkins.yaml (diff)
Commit 3a213a2485b20ef114165743440b9d28cc579662 by Jonathan Lebon
Manage coreosbot GitHub token with k8s credentials provider

Another step closer to getting rid of `jenkins.yaml`.
The file was modified jobs/seed-github-ci.Jenkinsfile (diff)
The file was modified jenkins/config/github-webhook.yaml (diff)
The file was removedjenkins/config/github-coreosbot.yaml
The file was modified manifests/jenkins.yaml (diff)
The file was modified HACKING.md (diff)
Commit 4d825ee120ce1203332e03369c32c9cb554f0c6a by Jonathan Lebon
Manage GitHub webhook secret with k8s credentials provider

Another step closer to getting rid of `jenkins.yaml`.
The file was modified manifests/jenkins.yaml (diff)
The file was modified HACKING.md (diff)
The file was modified jenkins/config/github-webhook.yaml (diff)
Commit d6d1f61023a6d7b6e0b0eb8724b4c0fb21f3148b by Jonathan Lebon
Use same `jenkins.yaml` as FCOS pipeline

Now that we don't have to mount any secrets into Jenkins, use the same
template we use in the FCOS pipeline to set it up. This allows us to
automatically gain improvements and rebases done in the pipeline here.
The file was modified HACKING.md (diff)
The file was removedmanifests/jenkins.yaml.orig
The file was removedmanifests/jenkins.yaml
Commit 90e9a0927ba8ee1659b0a6ed56c1b02b0236c74b by Jonathan Lebon
Adapt to latest pipeutils

In the pipeline repo, we've dropped `pipeutils.get_config()` now in
favour of `pipelines.load_jenkins_config()`. The configmap name is now
also `jenkins-config`. Adapt this codebase.
The file was modified jenkins/config/seed.yaml (diff)
The file was modified manifests/configmap.yaml (diff)
Commit 74323bd3097698332263fb6222032c25f73b965c by Jonathan Lebon
Use same `pipeline.yaml` as FCOS pipeline

Now that the FCOS pipeline has learned to have a `config.yaml`, the
`pipeline.yaml` manifest is purely about high-level pipeline
configuration. It defines the `jenkins-config` configmap and the cosa
imagestream. Rather than duplicating it here, let's just also use the
FCOS pipeline one.
The file was removedmanifests/configmap.yaml
The file was modified HACKING.md (diff)

Summary

  1. Move from Quay.io to app.ci (details)
  2. buildImage: add support for setting memory and cpu (details)
  3. buildImage: fix resource request (details)
  4. Add withPodmanRemote (details)
  5. pod: set both the resource CPU request and limit (details)
  6. fcosKola: parallelize kola to the number of CPUs (details)
  7. cosaPod: point back to Quay.io for cosa (details)
  8. job.yaml: switch to minimal image; use :latest tag (details)
  9. pod: set memory limit also (details)
  10. Add `tryWithCredentials` custom step (details)
  11. tree: drop FCOS name from custom steps (details)
  12. tree: drop FCOS wording from various places (details)
  13. tree: Add symbolic links for compatibility (details)
  14. kola: run provisioning tests separately (details)
  15. utils: add substituteStr (details)
  16. vars/utils: add compat symlink from /srv/fcos to /srv/coreos (details)
  17. kolaTestIso: reduce conditional logic with scenariosArg var (details)
  18. kolaTestIso: port over some changes from kola.groovy (details)
  19. {kola,kolaTestIso}: reduce number of try/finally blocks (details)
  20. {kola,kolaTestIso}: initial stab at multi-arch support (details)
  21. kola: simplify tests on non-QEMU or if user passed extraArgs (details)
  22. kola: add allowUpgradeFail argument (details)
  23. {kola,kolaTestIso}: make the parallel run names more meaningful (details)
  24. {kola,kolaTestIso}: remove the unnecessary stage declaration (details)
  25. {kola,kolaTestIso}: make the collection of logs non-fatal (details)
  26. kolaTestIso: scope the testIsoRuns* vars (details)
  27. kolaTestIso: collapse all runs into single map (details)
  28. {kola,kolaTestIso}: workaround issue with accessDenied from dir() (details)
  29. Revert "vars/utils: add compat symlink from /srv/fcos to /srv/coreos" (details)
  30. Revert "tree: Add symbolic links for compatibility" (details)
  31. kola: run with parallel even if single stage (details)
  32. utils: add credentialsExist() helper (details)
  33. utils: add syncCredentialsIfInRemoteSession() helper (details)
  34. kola: make marker default to "" (details)
  35. {kola,kolaTestIso}: remove Arch from stage run titles by default (details)
  36. utils: add runParallel() function (details)
  37. kola/kolaTestIso: fix tar path (details)
  38. CODEOWNERS: drop saqibali-2k (details)
  39. kola/kolaTestIso: support skipSecureBoot (details)
  40. withPodmanRemote: add port 22 to CONTAINER_HOST env var (details)
  41. kola: denylist rhcos.upgrade.from-ocp-rhcos for now (details)
  42. Drop gangplank.groovy (details)
  43. Add warn helper (details)
  44. Revert "kola: denylist rhcos.upgrade.from-ocp-rhcos for now" (details)
  45. buildImage: use variable instead of duplicated string (details)
  46. buildImage: put tarball in directory itself (details)
  47. buildImage: drop support for `workspace` parameter (details)
  48. kola: fix allowUpgradeFail by removing id from log check (details)
Commit 48a7637d8cbfafb531a4dbc50b59353de97145cb by Jonathan Lebon
Move from Quay.io to app.ci

The latter mirrors to the former, but it's a periodic that runs every
hour. So let's just use the images directly from app.ci for faster
iteration.
The file was modified vars/cosaPod.groovy (diff)
The file was modified vars/buildPod.groovy (diff)
Commit decacbc6b329c7667ceaa24907391482aad9f3a9 by Jonathan Lebon
buildImage: add support for setting memory and cpu

In cosa CI, we're hitting:

> runtime: failed to create new OS thread

I think this is another instance of non-Kubernetes-aware multiprocessing
like in https://github.com/coreos/coreos-ci/issues/23.

Let's expose the `resources` knob for building images like we already do
for `pod`. This will allow us in cosa to request a specific amount, and
then asking golang to respect it.
The file was modified vars/buildImage.groovy (diff)
Commit 60564c99decd4ed526839b38d2560eb3e0cb2273 by Jonathan Lebon
buildImage: fix resource request

We need to initialize the maps before we can set keys inside.

Fixes decacbc ("buildImage: add support for setting memory and cpu").
The file was modified vars/buildImage.groovy (diff)
Commit 0130f4de1ed95633c893df0691c3c07bb7c37d2c by Jonathan Lebon
Add withPodmanRemote

- Add wrapper to allow podman remote commands using the
environment variables CONTAINER_SSHKEY and CONTAINER_HOST
in Jenkins execution

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
The file was addedvars/withPodmanRemote.groovy
Commit 7b552e1134152be4cfca856443534fc97e808408 by Jonathan Lebon
pod: set both the resource CPU request and limit

Right now, we're not setting any CPU limit in the pods we schedule. This
means our workloads runs without constraints and can hog the hosts
they're running on if there are no namespace-wide default resource
limits.

Unlike with memory requests/limits, limits are enforced at the CPU
scheduling level, so IIUC it's not possible to be evicted due to
excessive CPU usage.

So let's start defaulting to a reasonable not too large value and ensure
we set both the CPU requests and limits. This also allows cgroups-aware
applications to derive the correct number of "equivalent CPUs" to use
for multi-threaded/multi-processing steps.
The file was modified vars/pod.groovy (diff)
Commit 6ead66f01ccb8eae6b6a9c2988cf287a5bbde6f2 by Jonathan Lebon
fcosKola: parallelize kola to the number of CPUs

As of 7b552e1134, we're enforcing CPU resource limits on our pods.  The
current defaults allocate 2 CPUs and then use them to run 8 parallel kola
tests and a kola upgrade test.  Reduce oversubscription by having kola
parallelize to the number of available CPUs by default.  There's still
some oversubscription because we're running the kola upgrade test in
parallel with that, but that currently only needs 1 CPU.
The file was modified vars/fcosKola.groovy (diff)
Commit 156c19554a5c33f6679210448784e67e7f1d4a6f by Jonathan Lebon
cosaPod: point back to Quay.io for cosa

The canonical location is Quay.io again so let's use that so we don't
have to wait for app.ci to mirror it.
The file was modified vars/cosaPod.groovy (diff)
Commit 250ebc13d826494d744b38960798e011cf32f526 by Jonathan Lebon
job.yaml: switch to minimal image; use :latest tag

Since the role of the container here is super minimal let's just
use the minimal container and also follow the :latest tag so that
we don't ever have to worry about being on an EOL release.
The file was modified resources/com/github/coreos/job.yaml (diff)
Commit c2561c2811580ab94089bd9a51576cd577b08be9 by Dusty Mabe
pod: set memory limit also

When deploying the RHCOS pipeline we ran into a case where there was
a limitrange set with a default memory limit:

```
oc describe limitrange
Type        Resource  Min  Max  Default Request  Default Limit  Max Limit/Request Ratio
----        --------  ---  ---  ---------------  -------------  -----------------------
Container   cpu       -    -    300m             4              -
Container   memory    -    -    400Mi            6656Mi         -
```

In this case we also needed to bump the memory for the COSA pod to 8Gi.
Bumping it to 8Gi (via cosaPod()) set the request but not the limit.
The pod inherited the default limit of 6656 Mi and we got an error:

```
Invalid value: "8Gi": must be less than or equal to memory limit
```

Let's just set the limit to the same value as the request here. We'll
adapt later if we find we need more knobs.
The file was modified vars/pod.groovy (diff)
Commit d18b5e097df8acb7ad8c4bfb2cfcc489dc615259 by Jonathan Lebon
Add `tryWithCredentials` custom step

This new step can be used just like `withCredentials`, except that if
the credentials don't exist, we'll gracefully return.

Upstreamed from the FCOS pipeline.
The file was addedvars/tryWithCredentials.groovy
Commit cb7cda3e226a00031efc3a2ca858389acf3e104d by Jonathan Lebon
tree: drop FCOS name from custom steps

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
The file was removedvars/fcosBuild.groovy
The file was addedvars/cosaBuild.groovy
The file was addedvars/kolaTestIso.groovy
The file was removedvars/fcosKola.groovy
The file was addedvars/kola.groovy
The file was removedvars/fcosKolaTestIso.groovy
Commit 3719f6934320a63329933a6a3a588e02c76b78f0 by Jonathan Lebon
tree: drop FCOS wording from various places

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
The file was modified vars/buildPod.groovy (diff)
The file was modified vars/utils.groovy (diff)
The file was modified vars/kola.groovy (diff)
The file was modified vars/cosaBuild.groovy (diff)
Commit ef3d9eeb9bd0cca181b7d0aad4e29ce76fa2ab45 by Jonathan Lebon
tree: Add symbolic links for compatibility

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
The file was addedvars/fcosKolaTestIso.groovy
The file was addedvars/fcosBuild.groovy
The file was addedvars/fcosKola.groovy
Commit 574fbc6e428027d07b526f942d97ffe131be1b66 by Dusty Mabe
kola: run provisioning tests separately

This effectively upstreams
https://github.com/coreos/fedora-coreos-pipeline/commit/c3af4ad57ab4.

The same reasons apply, but we're doing it now here too because it'll
help with not hitting against our memory limits.
The file was modified vars/kola.groovy (diff)
Commit fdcf3ee66455145882071108c598575cdd99846b by Jonathan Lebon
utils: add substituteStr

This will be used by the pipeline to process some of the templated
fields in `config.yaml`. Putting it here allows us to work around the
fact that the `SimpleTemplateEngine` API would normally have to be
allowed by an administrator first.
The file was modified vars/utils.groovy (diff)
Commit 8dc6b0c06f1b7f450931b29e4152a52bdb892210 by Jonathan Lebon
vars/utils: add compat symlink from /srv/fcos to /srv/coreos

Commit 3719f69 ("tree: drop FCOS wording from various places") broke
multiple upstream CI jobs which still reference the old location. We
need to temporarily support both locations as we migrate them.

Add a compat symlink.
The file was modified vars/cosaBuild.groovy (diff)
Commit acc6d9ade7e89f3485c9417fc7ebaee9abfb70e6 by Dusty Mabe
kolaTestIso: reduce conditional logic with scenariosArg var

Reducing the branches makes it a little easier to read and understand
what's going on.
The file was modified vars/kolaTestIso.groovy (diff)
Commit 5b78e2f75218b7b72e9ab732933c58f37d8b88a5 by Dusty Mabe
kolaTestIso: port over some changes from kola.groovy

This mostly ports over 8804c62 and 042c0ba from kola.groovy
which makes it so multiple runs can happen at the same time and
also allows the caller to give a marker (some identifying info)
about this run that will be stored in it's output filename. This
makes it easier to find which archive to download in the Jenkins
web UI.
The file was modified vars/kolaTestIso.groovy (diff)
Commit ce42c551c777bc50bb8ecd30216bec2bd474170e by Dusty Mabe
{kola,kolaTestIso}: reduce number of try/finally blocks

This makes the finally block (the log collection) more generic and
allows for it to run at the end so that we can reduce the number of
scopes in our code.
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit 5cc0723e39b037ce148023d83833b8b9e6a496f4 by Dusty Mabe
{kola,kolaTestIso}: initial stab at multi-arch support

The rule here is mostly to run things through either `cosa` commands
or run generic bash commands through `cosa shell --`. This also is
made easier if we're running the `cosa` command within `shwrap()`
from the cosa dir already, so let's use `dir(cosaDir)` to try to
enable that simplification.
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit ad3e73b34e14670eee8f6825411d398094e49fcf by Dusty Mabe
kola: simplify tests on non-QEMU or if user passed extraArgs

We only need to worry about basic-qemu-scenarios and running reprovision
tests separately when the platform is QEMU (the default). Loosely detect
if the target platform is something other than QEMU by checking to see
if the user provided platformArgs and if we are running against non-QEMU
then just run all the tests up front and not in separate runs.

Similarly if the user passed in `extraArgs` let's assume they want greater
control and could be passing arguments that conflict with our `--tag`
specifications in the invocations below. Given this assumption it would
be better to just run the extraArgs in a single invocation up front.
The file was modified vars/kola.groovy (diff)
Commit e2ef0c68a0c74aa85a34c974b3b7ce4c5a0a7e3a by Dusty Mabe
kola: add allowUpgradeFail argument

This commit adds the ability to warn rather than error if upgrades fail.
The file was modified vars/kola.groovy (diff)
Commit d1c6d6d646dd63cf2467b0e9e67eee4e2d72e654 by Dusty Mabe
{kola,kolaTestIso}: make the parallel run names more meaningful

In the bump-lockfile job in the pipeline we run all the architecture
tests together so it helps to have the architecture in the name too.
The file was modified vars/kolaTestIso.groovy (diff)
The file was modified vars/kola.groovy (diff)
Commit 380ffa550c15a815d852fb7568f5e48b66536fb0 by Dusty Mabe
{kola,kolaTestIso}: remove the unnecessary stage declaration

When nesting `parallel` calls like we do in the `bump-lockfile` job
in our FCOS pipeline the extra stage declaration confuses the Blue
Ocean view. Let's just drop it.
The file was modified vars/kolaTestIso.groovy (diff)
The file was modified vars/kola.groovy (diff)
Commit 38b1fdea11a21508e6fb89ce54deb0de2bcf0cc5 by Dusty Mabe
{kola,kolaTestIso}: make the collection of logs non-fatal

In case a test blew up for another reason let's not make the collection
of the logs tank the entire run.
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit 7b450795495c3f736ee694065cc6de2bf46263e2 by Dusty Mabe
kolaTestIso: scope the testIsoRuns* vars

I'm seeing some concurrency issues when running the bump-lockfile job.
It turns out when running kolaTestIso concurrently these variables are
stepping on each other from the other runs. Let's scope them
appropriately.
The file was modified vars/kolaTestIso.groovy (diff)
Commit 6a7df2d9c9cdc0000c88cb3052a60f9a00abfccf by Dusty Mabe
kolaTestIso: collapse all runs into single map

In this commit we collapse all test iso run definition into a single
map (testIsoRuns) rather than two (testIsoRuns1, testIsoRuns2), while
still retaining the property of only running two parallel runs at any
given time.

The reason for doing this is I noticed in an s390x run it would first
run `s390x:kola:metal` and then run `s390x:kola:multipath`, serially. In
this case it would be more appropriate to run both of those together
in a single parallel run.
The file was modified vars/kolaTestIso.groovy (diff)
Commit b2bbc1b9f8bb97a2a959502c8a5f38d2fb2e4677 by Dusty Mabe
{kola,kolaTestIso}: workaround issue with accessDenied from dir()

When using `dir()` in the kola and kolaTestIso jobs we are getting a
permission denied error if the directory is isn't under the env.WORKSPACE
directory.

Let's go back to using a `cd ${cosaDir}` for now to workaround this while
we find better solutions. This `cd ${cosaDir}` will have no effect on
multi-arch where we'll be operating in a remote session anyway.
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit 8376a4a16613edcc88ff132edeb27a92a7fbea37 by Jonathan Lebon
Revert "vars/utils: add compat symlink from /srv/fcos to /srv/coreos"

This reverts commit 8dc6b0c06f1b7f450931b29e4152a52bdb892210.

All the repos have been updated now, so we can drop the compat symlinks.
The file was modified vars/cosaBuild.groovy (diff)
Commit d42caa21643a7d810015a7a550172db9a4ee7ea5 by Jonathan Lebon
Revert "tree: Add symbolic links for compatibility"

This reverts commit ef3d9eeb9bd0cca181b7d0aad4e29ce76fa2ab45.

All the repos have been updated now, so we can drop the compat symlinks.
The file was removedvars/fcosKola.groovy
The file was removedvars/fcosKolaTestIso.groovy
The file was removedvars/fcosBuild.groovy
Commit a6870486f7381d7df01ca7a0428127320bdfdaca by Jonathan Lebon
kola: run with parallel even if single stage

I think with 380ffa5 it makes the optimization from 362e995 no longer
required. In it's current form the kola-azure and kola-openstack tests
in the pipeline don't have the kola tests broken out into a separate
stage (they skip the upgrade test) so it's hard to find a failure in
the blue ocean view when one happens.
The file was modified vars/kola.groovy (diff)
Commit 4a80d68124f6af147db27e5c11eb8fc26b2f5dea by Dusty Mabe
utils: add credentialsExist() helper
The file was modified vars/utils.groovy (diff)
Commit 8fa06d344dc980b9cee7ce373bbf7fd1f6e1805d by Dusty Mabe
utils: add syncCredentialsIfInRemoteSession() helper

This will help us copy over credentials to the remote node if we're
inside a remote session. Having the code in a single place means we're
less likely to copy/paste and make mistakes.
The file was modified vars/utils.groovy (diff)
Commit 423969d1f7d892f4699a2f2863a867e8356f0c2b by Jonathan Lebon
kola: make marker default to ""

I meant to do this in ce42c55 in the refactor there.
The file was modified vars/kola.groovy (diff)
Commit 534a347f05aea496fc0f3a02c39da80906874daa by Jonathan Lebon
{kola,kolaTestIso}: remove Arch from stage run titles by default

Including the arch everywhere is a bit overboard. Where it's really
needed is in our pipeline bump-lockfile job where we run tests from
all architectures at once. Everywhere else it's not really welcome.

Let's change the model a bit to include the marker given by the client
in the stage titles. Otherwise we won't add anything to them.
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit 0d36cc269db8ebe4a3be3e336deabe35cafd53b0 by Dusty Mabe
utils: add runParallel() function

This function will behave the same as jenkins parallel but will
only run `max` number of runs in parallel at once.
The file was modified vars/kolaTestIso.groovy (diff)
The file was modified vars/utils.groovy (diff)
Commit e322f4358571894a658b67a4b7d6f5b0165fb60a by Dusty Mabe
kola/kolaTestIso: fix tar path

If we pass the full directory name to `tar -c`, it'll want to recreate
the whole structure on extracting. Instead, use `-C` so we only pass the
final directory to `tar`. That'll ensure we still create at least one
directory on extraction instead of filling up the working directory. We
used to do this, but I think it got lost in the recent enhancements on
these steps.
The file was modified vars/kolaTestIso.groovy (diff)
The file was modified vars/kola.groovy (diff)
Commit da28ba9f4086cab2567dd066519df9b017c90bf9 by Dusty Mabe
CODEOWNERS: drop saqibali-2k

Saqib is no longer an owner of this repo.
The file was modified .github/CODEOWNERS (diff)
Commit d12ada6f8c37a1ffc557f60978100438a9fb1b58 by Dusty Mabe
kola/kolaTestIso: support skipSecureBoot

This will be used by the pipeline when SecureBoot tests should be
skipped (e.g. when testing an unsigned kernel).
The file was modified vars/kola.groovy (diff)
The file was modified vars/kolaTestIso.groovy (diff)
Commit 6fe623840aed322298e01e115786ab08959486d2 by Dusty Mabe
withPodmanRemote: add port 22 to CONTAINER_HOST env var

There is a regression in podman [1] that causes podman remote sessions
to not work unless the port is specified. Let's just add the port so we
can get unblocked.

[1] https://github.com/containers/podman/issues/16509
The file was modified vars/withPodmanRemote.groovy (diff)
Commit 06425433fb9d87f1467681f428a26c51164e3c12 by Jonathan Lebon
kola: denylist rhcos.upgrade.from-ocp-rhcos for now

This is a hack but we're in a time crunch and this is the fastest
way to effect a change.

We'll revert this in the near future.
The file was modified vars/kola.groovy (diff)
Commit 348ec7b9bce524ed7e9b5745e7c4079462b69ac7 by Jonathan Lebon
Drop gangplank.groovy

AFAIK, we've never used these functions and we've moved away from
gangplank for now in favour of `podman remote`. Let's delete it. We can
always restore it in the future if needed.
The file was removedvars/gangplank.groovy
Commit 41dae105a2104a74e394502d2e25d85e6b399851 by Jonathan Lebon
Add warn helper

We started using this convention in a few places in the pipeline. Let's
add a helper for it. Make it top-level so it feels as ergonomic as an
`error` call.
The file was modified vars/kola.groovy (diff)
The file was addedvars/warn.groovy
Commit 46d6d8b96a39e4c0a1bd8d02e7546b774422eecd by Jonathan Lebon
Revert "kola: denylist rhcos.upgrade.from-ocp-rhcos for now"

This reverts commit 06425433fb9d87f1467681f428a26c51164e3c12.

This test should be fixed now by
https://github.com/coreos/coreos-assembler/pull/3266 and backports.
The file was modified vars/kola.groovy (diff)
Commit c291f07dd98b63480fb34b73f5eb5c4f5e112a90 by Jonathan Lebon
buildImage: use variable instead of duplicated string
The file was modified vars/buildImage.groovy (diff)
Commit 8ecf9c8f5fa6adf0035882a75f15172ec9f2e230 by Jonathan Lebon
buildImage: put tarball in directory itself

Currently, we're putting the tarball in `/tmp`, but if we're running on
the Jenkins controller, that's a semi-permanent shared location. Since
our generated tarball has a predictable name, we additionally run the
risk of racing with other `buildImage` calls on the controller and then
passing the wrong `dir.tar` to `oc start-build`.

Fix this by putting the tarball in the workspace itself. That way, it's
properly lifecycled to the job run, and there's no chance of racing with
other jobs.
The file was modified vars/buildImage.groovy (diff)
Commit a2a5ff276ac023ea630a7e895bc7c49bd0848991 by Jonathan Lebon
buildImage: drop support for `workspace` parameter

The current trend is to avoid these kinds of parameters in favour of
requiring the caller to instead use `dir(...) { }` when calling us. But
anyway, the only caller I know of using this function (cosa) isn't
currently passing that parameter, so we can safely drop it.
The file was modified vars/buildImage.groovy (diff)
Commit 0552c985196cd2c782f851a3ca03b7d0977e46c5 by Jonathan Lebon
kola: fix allowUpgradeFail by removing id from log check

If the kola upgrade test fails early enough that logs werene't even
created then we'll get a failure like:

```
10:50:22  + cosa shell -- test -d /home/jenkins/agent/workspace/build/tmp/kola-5JOIO/kola-upgrade
10:50:22  error: failed to execute cmd-shell: exit status 1
```

Let's try to remove the log from consideration if that's the case.
The file was modified vars/kola.groovy (diff)