Conversation
|
Label |
purp
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
This qualification work matches linked issue #3455, but the new VM cleanup path can hide a QEMU crash and let a failed qualification run appear successful.
Action required: preserve nonzero QEMU exit failures while treating only Gator-initiated fallback termination as successful cleanup, and add the regression coverage described inline.
Blocking findings:
GATOR-c3b797ec-01:QemuVm::stopignores independently nonzero QEMU exits.
Carried findings:
- None
Non-blocking suggestions:
- None
Gator metadata
- Validation: Project-valid maintainer-authored implementation of linked issue #3455
- Docs: Architecture documentation updated; no direct user-facing Fern docs change is required
- Checks: OpenShell Branch Checks is failing and the current-head E2E run is still in progress
- E2E:
test:e2eis applied and current-head workflows are running - Head SHA:
c3b797ec7dbfb29b07121b07ad1e88db4e8f118e - Base SHA:
679b1906776ce9315f9311002474b828b6323495 - Merge base SHA:
bfd126868c3a2385e7c13ebc22680282e796d50c - Patch ID:
87993302653dbfa658fa9407d35238c2306666b6 - Gator payload:
9 - Review mode:
initial - Previous reviewed SHA: none
- Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:in-review
purp
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @purp. I checked your update preserving independently observed nonzero QEMU exits, accepting only tmachine-initiated fallback termination, and covering both status-42 paths plus fallback cleanup. The prior finding is resolved, and the independent follow-up review found no new blockers in the author-only delta.
Disposition: resolved. Required Branch Checks and E2E workflows are now running, so Gator is moving to pipeline monitoring.
Blocking findings:
- No blocking findings remain
Carried findings:
- None
Gator metadata
- Validation: Project-valid maintainer-authored implementation of linked issue #3455
- Docs: Architecture documentation updated; no direct user-facing Fern docs change is required
- Checks: Required current-head Branch Checks and E2E workflows are queued or running
- E2E:
test:e2eis applied and the current-head workflow is active - Head SHA:
393c1bc6b5d707e07832daf475d0051aca155707 - Base SHA:
679b1906776ce9315f9311002474b828b6323495 - Merge base SHA:
bfd126868c3a2385e7c13ebc22680282e796d50c - Patch ID:
4183c7a05720caa7ad49393d3e148562d7ef5848 - Gator payload:
9 - Review mode:
follow_up - Previous reviewed SHA:
c3b797ec7dbfb29b07121b07ad1e88db4e8f118e - Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:watch-pipeline
|
Reviewed commit
Verification: the current revision's k3s CI job passed, and all five existing tmachine unit tests passed locally. Those checks cover the successful qualification path and the prior QEMU exit-status fix; the two cases above need regression coverage. The full VM scenario was not rerun locally because Nix is unavailable. Each finding will be addressed in a separate commit on this PR. |
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| --- | ||
| - name: Provision disposable k3s cluster |
There was a problem hiding this comment.
Question: Does Ansible galaxy offer a way to install this similar to Docker?
| #[serde(default)] | ||
| pub variables: BTreeMap<String, String>, | ||
| #[serde(default)] | ||
| pub ephemeral: bool, |
There was a problem hiding this comment.
What is the purpose of ephemeral? Should this really be tied to a specific environment?
| name = "kubernetes-binaries"; | ||
| use_galaxy = false; | ||
| playbooks = [ | ||
| "ansible/playbooks/openshell.yaml" | ||
| "ansible/playbooks/gateway-kubernetes.yaml" | ||
| ]; | ||
| inputs = { | ||
| openshell_cli_binary = "../artifacts/binaries/${muslTarget}/openshell"; | ||
| openshell_gateway_binary = "../artifacts/binaries/${gnuTarget}/openshell-gateway"; | ||
| openshell_supervisor_image = "../artifacts/images/openshell-supervisor-tmachine.tar"; | ||
| openshell_sandbox_image = "../artifacts/images/openshell-sandbox-tmachine.tar"; | ||
| }; | ||
| } |
There was a problem hiding this comment.
Why don't we use helm? This seems like we're re-implementing logic that would already be present?
| ansible.builtin.command: "{{ item }}" | ||
| loop: | ||
| - k3s version | ||
| - k3s --version |
There was a problem hiding this comment.
Should probably just be a fixup commit.
|
|
||
| pub(super) async fn stop(mut self) -> Result<()> { | ||
| if self.child.try_wait().context("check QEMU guest state")?.is_some() { | ||
| if let Some(status) = self.child.try_wait().context("check QEMU guest state")? { |
There was a problem hiding this comment.
It may make sense to separate these changes into a different PR so that we're not tiying them to adding k3s support.
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
c8e53de to
5e13dff
Compare
Summary
Add a disposable Ubuntu 24.04 k3s qualification lane that installs the candidate OpenShell binaries and images, then runs the shared conformance suite. The same environment, installer, and testsuite tuple works locally through tmachine and in GitHub Actions.
Related Issue
Closes #3455
Changes
Testing
mise run pre-commitpassesmise run testpassesmise run cipassescargo test --manifest-path tests/tmachine/Cargo.toml --locked)The k3s VM scenario needs Nix and QEMU, which are unavailable on this macOS host. The Branch E2E run passed, including the Ubuntu k3s conformance job. All PR checks passed after retrying transient Linux process-identity test and Darwin Nix cache failures.
Checklist