Skip to content

Sync upstream (97b44d1b) — needs conflict resolution - #68

Open
cloud-api-adaptor-upstream-sync[bot] wants to merge 169 commits into
coherefrom
sync/upstream-2026-08-03-97b44d1b
Open

Sync upstream (97b44d1b) — needs conflict resolution#68
cloud-api-adaptor-upstream-sync[bot] wants to merge 169 commits into
coherefrom
sync/upstream-2026-08-03-97b44d1b

Conversation

@cloud-api-adaptor-upstream-sync

@cloud-api-adaptor-upstream-sync cloud-api-adaptor-upstream-sync Bot commented Aug 3, 2026

Copy link
Copy Markdown

Upstream sync — manual merge needed

Upstream has new commits to merge into cohere, but there are conflicts.

Upstream HEAD: 97b44d1b

How to resolve

The sync branch already contains the upstream commits (it points at
origin/main). To make it mergeable into cohere,
merge cohere into the sync branch and resolve conflicts there:

git fetch origin
git checkout sync/upstream-2026-08-03-97b44d1b
git merge origin/cohere
# Git will show conflicts — resolve them in your IDE, then:
git add -A && git commit
git push origin sync/upstream-2026-08-03-97b44d1b

Your IDE will show the native merge conflict UI with accept-theirs /
accept-ours / accept-both options for each conflict. Once the push
succeeds, the PR will become mergeable.

Review checklist

  • Resolve all conflicts
  • Verify CI passes
  • Check if any upstream changes obsolete our patches

Note

High Risk
Large CI and PodVM pipeline deletion/reorg plus removal of Azure/docker e2e and CSI image publish paths may break fork-specific automation or release steps until conflicts and downstream cohere config are reconciled.

Overview
This sync merges upstream 97b44d1 and reshapes CI, PodVM builds, and release docs around a single podvm/ mkosi tree (replacing podvm-mkosi paths in workflows and dev notes).

CI and PodVM: Several callable workflows are removed (Azure e2e, Azure PodVM image build/release, e2e_docker, csi_wrapper_images, podvm_builder / podvm_binaries / podvm, podvm_mkosi_ubuntu, duplicate Ubuntu smoketest). e2e_run_all no longer builds legacy builder/binaries/ubuntu mkosi jobs or docker e2e; AWS and libvirt use mkosi amd64 qcow2 artifacts; BYOM builds PodVM/BYOM images in e2e_byom instead of consuming a prebuilt podvm_image. podvm_mkosi builds from src/cloud-api-adaptor/podvm, publishes podvm-generic-ubuntu, and drops docker OCI outputs. podvm_publish / release add podvm_byom_binaries_publish; publish_images_on_push and release stop publishing CSI wrapper images. build.yaml drops the csi-wrapper job; lint drops packer check.

Tooling: GitHub Actions are bumped broadly (checkout v7, setup-go v6.5, docker actions, CodeQL, zizmor, stale, etc.). allow-unsafe-pr-checkout appears on several PR-target workflows. govulncheck can filter findings via .govulncheck-ignore.toml and hack/govulncheck-filter.py. Root Makefile check no longer runs packer-check.

Product defaults: BUILTIN_CLOUD_PROVIDERS dev build drops docker; AWS packer-based image Makefile/Dockerfiles under aws/image are deleted. cloud-api-adaptor/Dockerfile updates Go/Debian bases and adds ca-certificates. release-helper updates src/cloud-providers/Makefile image tag and drops docker provider from chart tag updates.

Docs/metadata: Release process and architecture/README edits reflect removed CSI/docker paths; CITATION.cff bumps to 0.22.0.

Reviewed by Cursor Bugbot for commit 97b44d1. Bugbot is set up for automated code reviews on this repo. Configure here.

Amulyam24 and others added 30 commits May 22, 2026 14:06
Move the cluster provisioning to BYOM to remove the dependency on
the deprecated Docker provider.

Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
This commit adds extensive unit test coverage for the libvirt cloud provider,
while preserving all existing tests from the main branch.

New unit tests added (using mocks):
- TestGetGuestForArchType (6 subtests)
- TestLookupMachine (5 subtests)
- TestGetCanonicalMachineName (7 subtests)
- TestCreateCloudInitISO (3 subtests)
- TestGetLaunchSecurityTypeInvalidURI
- TestCreateDomainXMLs390xWithMocks (mock-based unit test)
- TestCreateDomainXMLaarch64WithMocks (mock-based unit test)
- TestCreateDomainXMLx86_64 (3 subtests)
- TestCreateDomainXML (3 subtests)
- TestVerifyDomainXMLIOMMU (4 subtests)

- Combined TestCreateDomainXMLs390x and TestCreateDomainXMLaarch64 into TestCreateDomainXMLArchitectures
- Combined TestCreateDomainXMLs390xWithMocks and TestCreateDomainXMLaarch64WithMocks into TestCreateDomainXMLArchitecturesWithMocks
- Improves code maintainability and reduces duplication

Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com>
Assisted-by: IBM Bob <noreply@ibm.com>
- Refactor TestCloudInit to use verifyISOContents helper and tabular format
- Combined TestCreateCloudInitWithEmptyData, TestCreateCloudInitWithLargeData, TestCreateCloudInitWithSpecialCharacters, and TestCreateCloudInitVerifyVendorData into TestCreateCloudInitVariations
- Add TestCreateCloudInitErrorHandling for boundary condition testing
- All tests now use verifyISOContents helper for consistent ISO validation
- Improves code maintainability and reduces duplication

Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com>
Assisted-by: IBM Bob <noreply@ibm.com>
- Add tests for Manager.ParseCmd() flag registration
- Add tests for Manager configuration with values
- Add tests for Manager.LoadEnv() and GetConfig()
- Add tests for Manager.NewProvider() with valid/invalid configs
- Add tests for default constants validation
- Add tests for launch security, firmware, and data directory configuration
- Covers all Manager initialization and configuration scenarios

Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com>
Assisted-by: IBM Bob <noreply@ibm.com>
Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.29 to 1.7.32.
- [Release notes](https://github.com/containerd/containerd/releases)
- [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md)
- [Commits](containerd/containerd@v1.7.29...v1.7.32)

---
updated-dependencies:
- dependency-name: github.com/containerd/containerd
  dependency-version: 1.7.32
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Now that agent-ctl tags based on sha, we can switch to use the main
kata-containers version, rather than having a separate one.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bump components to match the kata 3.31.0 release

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update to pick up the 3.31.0 release

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Pin kata-deploy to the 3.31.0 version in prep of the 0.21.0 release

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.3 to 0.5.6.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](zizmorcore/zizmor-action@b1d7e1f...5f14fd0)

---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bump the go module to remediate CVEs:
- GO-2026-5026
- GO-2026-4883

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bump the go module to remediate CVEs:
- GO-2026-5013
- GO-2026-5017
- GO-2026-5018
- GO-2026-5019
- GO-2026-5020

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the helm charts with the latest image of CAA

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
But the appVersion to 0.21 to match the release and bump
the version in peer-pods, peerpod-ctrl and webhook

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
The `kubectl apply` of the cert-manager manifest occasionally fails
with an etcd timeout:

```
Error from server: error when creating ".../cert-manager.yaml":
etcdserver: request timed out.
```

The manifest creates a large batch of resources (6 CRDs, RBAC,
deployments, webhook configs) in a single apply, and individual
writes can occasionally exceed the API server's request timeout
under transient cluster load.

Wrap the apply in a retry loop (3 attempts, 10s backoff). `kubectl
apply` is idempotent, so retrying after a partial failure simply
creates the missing resources without disturbing the ones already
applied. On the observed failing run, everything except (likely)
the last webhook config got created, and the retry will fill in the gap.

For `kubectl wait`, the Endpoints object isn't created by the cert-manager
manifest directly. It's created by the kube-controller-manager's endpoints
controller after the Service is created and once matching pods exist.
Right after `kubectl apply` returns, there's a brief window where the
Service exists but its Endpoints object hasn't been populated yet.
The apply just finished, so `kubectl wait` raced ahead of the controller.

Assisted-by: IBM Bob
Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
The podvm-ubuntu-mkosi job calls podvm_mkosi_ubuntu.yaml which requires
artifact-metadata: write permission for the actions/attest@v4.1.0 action
to write attestation metadata. Without this permission, the workflow fails
with "The nested job 'build-image' is requesting 'artifact-metadata: write',
but is only allowed 'artifact-metadata: none'."

This matches the permission already granted to the podvm-mkosi job on line 84.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Also added MKOSI_VERSION environment variable to image build steps in
both podvm_mkosi.yaml and podvm_mkosi_ubuntu.yaml workflows to ensure
the mkosi version from versions.yaml is explicitly passed to make
commands, maintaining consistency with the binaries build step.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
The image target was calling mkosi with '--image system' argument which
is not supported in mkosi v26, causing build failures with:
"mkosi: error: argument verb: invalid Verb value: 'system'"

This argument was a remnant from mkosi v22 that wasn't removed during
the v26 upgrade. The image-debug and image-sftp targets were already
correct, so this change aligns the image target with them.

Fixes the s390x production image builds.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
The cross-build script was failing on ARM64 native builds because it
compared ARCH=arm64 with uname -m=aarch64, which didn't match, causing
it to incorrectly attempt cross-compilation and fail with:
"E: Unable to locate package qemu-system-aarch64"

Added replacement pattern to handle this

Co-authored-by: Magnus Kulke <magnuskulke@microsoft.com>
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
Implement IRSA support for the AWS provider to enable workload identity
authentication on EKS, eliminating the need for static credentials stored
in Kubernetes secrets.

NewEC2Client now supports three authentication methods:
1. Static credentials (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY)
2. Shared AWS profile (AWS_PROFILE, currently, only non-containerized CAA binary execution is supported)
3. Default credential chain (for IRSA support)

The default credential chain automatically supports IRSA via AWS_WEB_IDENTITY_TOKEN_FILE and AWS_ROLE_ARN

Entrypoint validation updated to accept either:
- Both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY (static credentials)
- AWS_WEB_IDENTITY_TOKEN_FILE and AWS_ROLE_ARN (IRSA)

Fixes: confidential-containers#3027
Signed-off-by: Snir Schreiber <ssheribe@redhat.com>
Assisted-by: Claude AI
Add unit tests to verify the two authentication paths in NewEC2Client:
1. Static credentials (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY)
2. Default credential chain (IRSA, IMDS, environment variables, etc.)

Tests cover:
- Static credentials path with both access key and secret key
- Default credential chain path when no static credentials provided
- Partial credentials (only access key) falls through to default chain

Assisted-by: Claude AI
Signed-off-by: Snir Schreiber <ssheribe@redhat.com>
Added comprehensive guide for configuring IRSA with cloud-api-adaptor
and peerpod-ctrl on Amazon EKS. The guide covers:
- IAM trust policy configuration
- Kubernetes service account annotations
- Deployment configuration examples
- Troubleshooting steps

Assisted-by: Claude AI
Signed-off-by: Snir Schreiber <ssheribe@redhat.com>
It looks like when the arm "support" for podvm builds was added, it wasn't
updated to use the native arm runner, so update this, for simpler workflows

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
In case we want to support cross-compilation in future e.g. for local dev,
fix up the logic.

The cross-build script was using architecture names directly as QEMU
package names, but Debian/Ubuntu package names don't always match:
- x86_64 → qemu-system-x86 (not qemu-system-x86_64)
- aarch64 → qemu-system-arm (not qemu-system-aarch64)
- s390x → qemu-system-s390x (matches)

Added architecture-to-package mapping for Debian/Ubuntu systems to use
correct package names. Package names verified against Ubuntu 24.04.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Assisted-by: IBM Bob
As we are doing a 0.21.1 release, we should update the charts to match this version.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This reverts commit a1633eb.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This reverts commit 02bb592.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the CITATION.cff for the 0.21.1 release

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
debian:trixie-slim ships without CA certificates. The dev build got
them transitively via openssh-client, but the release build only
installed iptables, causing Go TLS verification to fail against
ec2.<region>.amazonaws.com with x509: certificate signed by unknown
authority.

Signed-off-by: Pradipta Banerjee <pradipta.banerjee@gmail.com>
Bumps [actions/stale](https://github.com/actions/stale) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@b5d41d4...eb5cf3a)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
stevenhorsman and others added 29 commits July 25, 2026 22:35
Bump components to match the kata 4.0.0 release
Note: guest-components is a slightly later commit
to pick up confidential-containers/guest-components#1581

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update to pick up the 4.0.0 release

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Pin kata-deploy to the 4.0.0 version and generate the lockfile
in prep of the 0.22.0 release

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
We decoupled the image-rs crate from Kata containers, so remove this
reference which is outdated.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Replace --auth-private-key <keyfile> with --admin-token-file <tokenfile>
in all three kbs-client admin invocations to align with Trustee's new
AuthenticatedAuthorization bearer-JWT admin framework.

- Add privateKey ed25519.PrivateKey field to KeyBrokerService struct
- Add signAdminToken helper that mints a 2-hour EdDSA JWT with role
  "admin" and writes it to a temp file
- Store the private key on the struct in NewKeyBrokerService; add an
  else branch to load it from disk when kbs.pem already exists
- Update setSecretKey, EnableKbsCustomizedResourcePolicy and
  EnableKbsCustomizedAttestationPolicy to mint a fresh token per call
- Promote github.com/golang-jwt/jwt/v5 from indirect to direct dep

Reference: confidential-containers/trustee@e908c2d

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
The three kbs-client admin methods (setSecretKey,
EnableKbsCustomizedResourcePolicy, EnableKbsCustomizedAttestationPolicy)
all shared the same token-mint / exec / log / return pattern. Extract
that into a runKbsClientAdmin variadic helper so each caller only states
its subcommand arguments.

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
- Updating the cloud-provider Makefile (which is needed to stop the
sync failing) was a manual step, so add this into the release-helper.sh
script, to remove the need to do it separately.
- Update the release doc to mention the need to generate the Charts.lock after edit

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the helm charts with the latest image of CAA

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
But the appVersion to 0.22 to match the release and bump
the version in peer-pods, peerpod-ctrl and webhook

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Regenerated via make sync-chart-values to pick up the two new shared
flags missed in in PR confidential-containers#3135 (TLS_MIN_VERSION, TLS_CIPHER_SUITES).

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
The script was written to work anywhere, we don't risk yq3/4 confusion
and snap installations are somewhat costly.

Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
This will allow us to limit parallel runs to a pool size other than the
runners vcpu count.

Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
kata-deploy labels nodes with the kata-runtime label only once it has
finished installing and the kata-remote RuntimeClass carries a
nodeSelector on that label. Without this wait the first test pod can be
created before any node matches, producing a FailedScheduling warning
event that fails assessments asserting the pod saw no warnings.

It can take quite some time waiting for those to be ready, I suppose
libvirt doesn't run into this issue because there is a race condition.

time="2026-07-27T16:39:38Z" level=info msg="Wait for a node labeled katacontainers.io/kata-runtime=true"
time="2026-07-27T16:40:58Z" level=info msg="Creating namespace 'coco-pp-e2e-test-8790937f'..."

Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.7 to 0.6.0.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](zizmorcore/zizmor-action@192e21d...6599ee8)

---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Upgrade google.golang.org/grpc from v1.79.3 to v1.82.1 in src/webhook
and from v1.81.1 to v1.82.1 in src/cloud-providers to fix CVE
GO-2026-6061 (vulnerabilities in the xDS RBAC authorization engine and
HTTP/2 transport server implementation).

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bumps [github.com/google/cel-go](https://github.com/google/cel-go) from 0.26.0 to 0.29.0.
- [Release notes](https://github.com/google/cel-go/releases)
- [Commits](cel-expr/cel-go@v0.26.0...v0.29.0)

---
updated-dependencies:
- dependency-name: github.com/google/cel-go
  dependency-version: 0.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
This reverts commit 60e2f0d.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This reverts commit 6a8a61a.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the CITATION.cff for the 0.22.0 release

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Debugging the smoke tests can be tricky when different ones are
cancelled depending on the order of failure, so just disable fail-fast,
so that they both run to completion and give better results.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Updated mkosi configuration and documentation to support Ubuntu 26.04
(Resolute) as the base image for podvm builds. This enables building
podvm images on the latest Ubuntu LTS release.

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
mkosi v26 removed automatic kernel module inclusion via
KernelModulesInitrdInclude. While Ubuntu 24.04 worked with mkosi v26's
defaults, Ubuntu 26.04 requires explicit module configuration.

Without explicit dm-verity module inclusion, the initrd lacks the
dm-verity kernel module, causing boot failures with "unknown target
type" errors when systemd-veritysetup tries to set up the root device.

Changes:
- Add KernelInitrdModules=default and dm-verity to initrd config
- Add systemd-cryptsetup package to base initrd (provides generators)
- Add cryptsetup and systemd-cryptsetup to Ubuntu initrd
- Increase root-verity partition from 64M to 72M for Ubuntu 26.04

The partition size increase is needed because Ubuntu 26.04's verity
data (66.1M) exceeds the previous 64M limit.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
The systemd-cryptsetup and tpm2-tools packages are not available in
Ubuntu repositories for the s390x architecture. Rather than trying to
exclude packages (which mkosi doesn't support cleanly), restructure
the configuration to use architecture-specific package lists.

Move systemd-cryptsetup and tpm2-tools from base and Ubuntu configs
into a new ubuntu-amd64.conf file that only applies to x86-64 builds.

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Generated-By: IBM Bob
The scratch-space setup requires dm-crypt, dm-mod and dm-bufio
kernel modules for LUKS encryption.

Generated-By: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Add libseccomp2 package to Ubuntu system and initrd configurations to
fix systemd boot hangs on Ubuntu 24.04 hosts.

Ubuntu 26.04 guests running on Ubuntu 24.04 hosts experience libseccomp
warnings during boot, causing systemd to hang when parsing service files
with SystemCallFilter= directives.

Generated-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
- Increase guest RAM from 1024 MiB to 2048 MiB. The Ubuntu 26.04
  debug image embeds a ~66 MiB initramfs in the UKI. Under the
  i440FX QEMU machine type used by virt-install on ubuntu-24.04
  runners, 1024 MiB is insufficient for the kernel to decompress
  the initramfs during early boot, resulting in:

    Initramfs unpacking failed: write error

  This prevented dm-verity from loading its kernel module and left
  the VM stuck waiting for /dev/mapper/root. The scratch-space test
  was most affected because it runs second (after the basic test),
  when host memory pressure is higher. 2048 MiB gives sufficient
  headroom; GitHub Actions ubuntu-24.04 runners have 16 GiB RAM.

Generated-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
As part of the migration from Ubuntu 24.04 to 26.04, systemd-repart
is now required as an explicit package dependency. The scratch-space
feature relies on systemd-repart to create the trusted_store partition
(defined in usr/lib/repart.d/30-scratch.conf) in the free disk space
added at boot. Without the package, the binary and service unit are
absent from the image, so no partition is ever created,
/dev/disk/by-label/trusted_store never appears, and
scratch-storage.service fails with "Device for label trusted_store
not found".

In Ubuntu 24.04 images this was provided transitively; in 26.04 it
must be listed explicitly.

Generated-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
qemu-img resize +1G leaves the GPT backup header at the wrong
   position. systemd-repart reads the GPT to find unpartitioned free
   space; with a corrupt backup header it sees only 3.5 KiB free
   (instead of 1 GiB) and skips partition creation entirely. The
   trusted_store partition (/dev/disk/by-label/trusted_store) never
   appears and scratch-storage.service fails.

   Fix: after the resize, expose the qcow2 image via qemu-nbd and run
   sgdisk -e to relocate the GPT backup header to the new end of disk.
   Add gdisk to the CI test runner apt-get install step to satisfy the
   sgdisk dependency (qemu-nbd is already provided by qemu-utils).

Generated-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
GetCloudProvisioner only reads from the TOML properties file, so
the CAA_IMAGE env var was never reaching the provisioner. Write it
to libvirt.properties alongside container_runtime.

Signed-off-by: Thejas N <thn@redhat.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 97b44d1. Configure here.

run: |
tag=$(git rev-parse --short HEAD)
PODVM_TAG=${tag} make image-byom-e2e-container
echo "BYOM_PODVM_IMAGE=quay.io/confidential-containers/podvm-byom-e2e-image-amd64:${tag}" >> "$GITHUB_ENV"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

BYOM images never loaded locally

High Severity

The new BYOM e2e path sets up a Buildx container builder, then runs image-container and image-byom-e2e-container, which call docker buildx build -t ... with neither --load nor a push. Those tags never land in the host Docker daemon, but the BYOM provisioner later does docker run on BYOM_PODVM_IMAGE, so the test cannot find the image it just built.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 97b44d1. Configure here.

Comment thread .github/dependabot.yml
groups:
codeql:
patterns:
- "github/codeql-action*"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Stale Dependabot csi-wrapper path

Medium Severity

dependabot.yml still lists src/csi-wrapper under the gomod ecosystem, but that module was removed in this sync. Dependabot will keep trying to update a path that no longer exists and can error or create noisy failed update runs.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 97b44d1. Configure here.

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.