terraform-vault plan CI broken: litellm secret backend returns 500 (blocks all PRs) #112
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
planpipeline onmasterPRs fails for every terraform-vault PR right now, on an untouched resource:The
litellmprovider makes an API call that returns HTTP 500 (the litellm vault secret engine), then the provider plugin process dies, failingtofu plan. Reproduced on pipelines 134 and 135 (PR #111), identical each time — not transient.Impact
Branch protection requires the
planstatus check, so no terraform-vault PR can merge until this is fixed (e.g. blocks the terraform-infra rename PR #111).Proposal
module.litellm_secret_backendresilient to a 500 during read (the provider should surface an error, not crash the plugin RPC).Acceptance
make planon a no-op terraform-vault PR is green.Root cause found (post-incident audit). The plugin never crashed: it was
systemd-tmpfiles-cleanon the bao nodes reaping the go-plugin control socket/tmp/pluginNNNout from under a still-running plugin process (vault.service has no PrivateTmp; bao had a single systemd invocation for 3+ weeks so the socket long outlived the /tmp cleanup age). Central-log evidence: zero panic/OOM/signal/exit in the bao journal until the manual reload, and node 2002's daily clean at 08-04 14:50Z lines up ~10 min before this issue was filed. The manualsys/plugins/reload/backendworked because it respawns the plugin with a fresh socket. Fleet fix (protects all plugins, not just litellm): puppet-prod#508 adds a tmpfiles.dx /tmp/plugin*exclude on all vault servers. Nothing to change in the litellm plugin itself.Fix PR updated: puppet-prod#508 (tmpfiles exclude) is closed in favour of the permanent fix puppet-prod#509 — a vault.service drop-in that sets TMPDIR=/run/vault-plugins (RuntimeDirectory on tmpfs, no age-based cleanup), so plugin sockets can never be reaped by systemd-tmpfiles-clean. Applies to all OpenBao plugins. Note: landing #509 triggers a rolling per-node bao restart (auto-unseal makes it a non-event).
terraform-vault plan is green again (PR #113 plan succeeded; #111 also merged), so the litellm secret-backend 500 appears to have recovered. Leaving open for the owner to confirm the root cause is fixed vs. a transient litellm outage.