devcontainer: add podman support for CI integration tests - #3882
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
WalkthroughThe development container now installs and configures rootless nested Podman. The integration image now inherits ChangesRootless Podman containers
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 21✅ Passed checks (21 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Dockerfile.integration`:
- Line 6: Replace the broad COPY instruction with explicit COPY entries for the
files and directories required by make integration, preserving the existing
destination and ownership settings. Do not copy the entire build context; use an
auditable allowlist based on the integration build’s actual dependencies.
- Around line 5-7: Add a Dockerfile HEALTHCHECK after the existing WORKDIR setup
that verifies the Podman API Unix socket is available once the entrypoint starts
the service. Use the existing Podman socket path and a probe command suitable
for the image, ensuring CI can report an unhealthy container when the service
fails to start.
- Around line 5-7: Add an ENTRYPOINT declaration to the Dockerfile using
/nested-podman-entrypoint.sh, alongside the existing image setup, so the nested
Podman service starts before integration tests run. Preserve the existing COPY
and WORKDIR directives.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 15a107b4-4511-42b8-807a-61b2492ce512
📒 Files selected for processing (2)
.devcontainer/DockerfileDockerfile.integration
|
Scheduling required tests: |
Adds podman, fuse-overlayfs, and rootless podman setup to the devcontainer Dockerfile so it can serve as the base image for running integration tests in CI with ci-operator's nested_podman mode. Removes Dockerfile.integration; the CI integration image is now defined inline via dockerfile_literal in openshift/release, extending the devcontainer with the source tree.
569b476 to
cc0e6be
Compare
|
Scheduling required tests: |
|
/retest-required AI-generated. Review for accuracy. |
1 similar comment
|
/retest-required AI-generated. Review for accuracy. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mstaeble, redhat-chai-bot The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest-required AI-generated. Review for accuracy. |
|
/test e2e AI-generated. Review for accuracy. |
3 similar comments
|
/test e2e AI-generated. Review for accuracy. |
|
/test e2e AI-generated. Review for accuracy. |
|
/test e2e AI-generated. Review for accuracy. |
|
/test e2e |
|
@redhat-chai-bot: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What
Adds podman, fuse-overlayfs, and rootless podman setup to the devcontainer Dockerfile so it can serve as the base image for running integration tests in CI with ci-operator's
nested_podmanmode.Deletes
Dockerfile.integration— the CI integration test image is now defined inline in the ci-operator config (openshift/release) usingdockerfile_literal, so this file is no longer needed.Changes
.devcontainer/Dockerfilepodman,fuse-overlayfs,shadow-utilsto the dnf install/home/vscodehandles thatDockerfile.integrationFROM sippy-devcontainer/COPY/WORKDIR) is now defined inline viadockerfile_literalin the ci-operator config in openshift/releaseWhy
Reviewer feedback on openshift/release#82968 requested using
.devcontainer/Dockerfileinstead of maintaining a separateDockerfile.integration. Usingdockerfile_literalin the ci-operator config eliminates the file entirely — one less thing to maintain in this repo.Companion PR: openshift/release#83006
Jira: TRT-2865