Skip to content

eat: eat-up.sh stops on release-1.1.0 settings that collide with a k3d-gpu cluster (G01) - #264

Merged
88plug merged 3 commits into
mainfrom
claude/eas-gapfill-g01
Oct 30, 2026
Merged

88plug merged 3 commits into
mainfrom
claude/eas-gapfill-g01

Conversation

@88plug

@88plug 88plug commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Follows #250 (eat-up.sh deploys EAT release-1.1.0), now merged into main; this PR targets main. It fills the remaining part of gap G01 from the agent-stack gap matrix.

#250 closes G01's main gap, because eat-up.sh now deploys release-1.1.0 (integrations/eat/eat-up.sh:30-31). It also closes G03, because vLLM CPU v0.28.0 is pinned by digest (integrations/eat/vllm-values.yaml:23, images.lock), and tests/eat_test.sh section 7 fails if the EAT tag and the vLLM tag drift apart. What #250 leaves open is that no eat-up.sh config should be able to add a second balloons policy or a second GPU plugin. Today a user config can do both, because only the shipped agentic-config.cfg writes those keys off.

What changes

eat-up.sh now stops before it touches the cluster in the cases below. Each key is read the way release-1.1.0's read_config_file reads it: trimmed, unquoted, with the last assignment winning. Line numbers refer to 0c726f5 and were checked there with gh api.

Setting Why it collides on a k3d-gpu cluster
deploy_nri_balloon_policy set to anything but off or no, including an absent key fresh-install.sh:247 deploys EAT's balloons policy on yes, beside k3d-gpu's. prompt_for_input turns an absent key on for compute_platform c (parse-user-prompts.sh:55-66). The stack path calls it (fresh-install.sh:39), so an absent key deploys EAT's policy there; in brownfield.sh model mode it makes deploy-inference-models.yml set vLLM's balloon to vllm-balloon-tp<N> over k3d-gpu's performance.
compute_platform=x or xpu fresh-install.sh:219 applies intel-device-plugins' gpu_plugin from main, unpinned (deploy-intel-gpu-plugin.yml:12-14), beside the plugin k3d-gpu bakes. The message points at K3D_GPU_AGENT_BACKEND=vllm k3d-gpu agent up.
deploy_kata_containers=on Kata needs /dev/kvm (deploy-kata-containers.yml), and a k3d node is a container without it.
rack_scale_mode=on It builds its own cluster from rack-profile.yaml: netplan, BGP and the NVIDIA GPU operator (fresh-install.sh:195-210).

The shipped agentic-config.cfg already writes each of these off, so the default path and F4's run are unchanged. integrations/eat/README.md (blockers 10 and 12) and the XPU notes in docs/platforms.md describe the refusals.

Tests (written first)

The first commit holds the tests alone, and at that commit 14 cases fail with kubeconfig /nonexistent not found. They are in tests/eat_test.sh section 3d. Each case covers one key with these spellings:

  • absent, on, yes, empty
  • last assignment wins
  • off, no, spaces and quotes
  • for compute_platform: xpu, x, quoted, cpu, absent

One more case checks that the xpu refusal names the vLLM alternative, and another that the balloons refusal says EAT deploys its policy when the key is on or absent.

tests/eat_test.sh             106 passed, 0 failed
tests/platforms_doc_test.sh   195 passed, 0 failed
tests/ci_wiring_test.sh        69 passed, 0 failed
tests/bench_test.sh            71 passed, 0 failed
tests/image_pins_test.sh       43 passed, 0 failed
tests/claims_check_test.sh     81 passed, 0 failed
tests/claims_check.sh          claims_check: 26 file(s) clean
python3 tests/ledger_drift_check_test.py   OK
python3 tests/ledger_drift_check.py        41 file(s) agree with 81 ledger rows
tests/pe_premise_check_test.sh  16 passed, 0 failed
tests/pe_premise_check.sh       ok
tests/docs_test.sh              63 passed, 0 failed; mkdocs build --strict rc 0 (docs-build/requirements.txt, --require-hashes)
shellcheck v0.11.0 --severity=warning: eat-up.sh, tests/eat_test.sh clean

Not verified

Nothing here has run against a live 1.1.0 stack, and F4 is still pending. These refusals come from reading EAT's source at 0c726f5, not from a run.

…GPU plugin, Kata and rack-scale mode (failing)

Section 3d of tests/eat_test.sh: on release-1.1.0, eat-up.sh is to stop
before it touches the cluster when the config's deploy_nri_balloon_policy is
anything but off or no (absent included: brownfield.sh model mode's
prompt_for_input turns it on for compute_platform c), when compute_platform
is x or xpu, when deploy_kata_containers is on or yes, and when
rack_scale_mode is on or yes. The keys are read as read_config_file reads
them: trimmed, unquoted, last assignment wins. The xpu refusal must name vLLM
on an Intel GPU through k3d-gpu agent up.
…d-gpu cluster

eat-up.sh now stops before it touches the cluster, reading each key as
release-1.1.0's read_config_file does, when the config:

- sets deploy_nri_balloon_policy to anything but off or no. fresh-install.sh:247
  deploys EAT's NRI balloons policy on yes, beside k3d-gpu's, and brownfield.sh
  model mode's prompt_for_input turns an absent key on for compute_platform c
  (parse-user-prompts.sh:55-66).
- sets compute_platform to x or xpu. fresh-install.sh:219 then applies
  intel-device-plugins' gpu_plugin from its main branch, unpinned
  (deploy-intel-gpu-plugin.yml:12-14), beside the plugin k3d-gpu bakes. The
  message points at K3D_GPU_AGENT_BACKEND=vllm k3d-gpu agent up.
- sets deploy_kata_containers on: Kata needs /dev/kvm, which a k3d node lacks.
- sets rack_scale_mode on: it builds its own cluster from rack-profile.yaml
  (netplan, BGP, the NVIDIA GPU operator; fresh-install.sh:195-210).

The shipped agentic-config.cfg already writes each of these off, so the default
path is unchanged. Line numbers are at 0c726f5. integrations/eat/README.md
(blockers 10 and 12) and the XPU notes in docs/platforms.md say so.
…eploys EAT's policy

fresh_installation calls prompt_for_input (fresh-install.sh:39) on the stack
path, so with deploy_nri_balloon_policy absent and compute_platform c the key
turns on there and fresh-install.sh:247 deploys EAT's balloons policy beside
k3d-gpu's. The refusal, its comment and the docs tied the absent key to model
mode only. In model mode no policy is deployed: brownfield.sh's prompt_for_input
call sets balloon_policy_cpu, and deploy-inference-models.yml then sets vLLM's
cpu_balloon_annotation to vllm-balloon-tp<N>, a balloon type k3d-gpu's policy
does not define, over the performance balloon vllm-values.yaml asks for.

The guard itself is unchanged: any value but off or no still stops eat-up.sh.
tests/eat_test.sh checks that the absent-key refusal says the policy is
deployed when the key is on or absent.
@88plug
88plug changed the base branch from claude/eas-eat-110 to main October 30, 2026 01:10
@88plug 88plug mentioned this pull request Oct 30, 2026
88plug added a commit that referenced this pull request Oct 30, 2026
@88plug
88plug merged commit bf7a2e2 into main Oct 30, 2026
1 check passed
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.

1 participant