orchestrator: no CLI to inspect active NBD devices; lsblk shows 4096 pre-allocated noise
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- go, linux
- Ambito
- cli, observability
Direzione di ricerca
Inizia da pkg/sandbox/nbd/pool.go, in particolare da ConnectedDevices e dalla costruzione di DevicePool, quindi confronta il punto di ingresso e le convenzioni in cmd/inspect-build. Il lavoro è completo quando cmd/inspect-nbd segnala gli slot connessi con dispositivo, dimensione e PID, supporta -json e include lo stato proposto del pool e la gestione del massimo configurato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
On a sandbox node, running lsblk | grep nbd | wc -l returns 4096 — one line per pre-allocated device. All show SIZE=0B when idle, making it impossible to quickly identify which devices are actively connected to a sandbox.
# current operator experience
$ lsblk | grep nbd | wc -l
4096
# no easy way to filter to just connected ones
The 4096 devices are expected — start-client.sh loads the nbd module with nbds_max=4096 and this is persisted in /etc/modprobe.d/nbd.conf. This is correct behavior. The problem is observability: there is no tool to see which of those 4096 slots are actually in use.
What exists today
pkg/sandbox/nbd/pool.go already has the machinery:
ConnectedDevices()— scans/sys/block/nbdX/pidand returns only connected slotsDevicePool.usedSlots— a bitset of pool-tracked slots (not accessible externally)- OTEL metrics:
orchestrator.nbd.slots_pool.acquired/released/ready— aggregate counts only
None of this is exposed via a CLI or debug endpoint. When a kernel I/O error like block nbd316: Receive control failed appears in dmesg, there is no way to correlate nbd316 to a sandbox ID.
Missing pieces
- No CLI tool that calls
ConnectedDevices()and prints a table of active devices (slot, path, size, PID) — analogous tocmd/inspect-build - No slot → sandbox ID mapping in
DevicePool— even internally,usedSlotsonly tracks which slots are occupied, not which sandbox occupies each slot DevicePooldoesn't storemaxDevices— callers must re-read/sys/module/nbd/parameters/nbds_maxto know the pool ceiling
Proposed fix
Add cmd/inspect-nbd: a lightweight operator tool that shows only active NBD devices.
Example output:
NBD devices: 3 connected / 4096 configured
SLOT DEVICE SIZE (MB) PID
3 /dev/nbd3 1024 18234
17 /dev/nbd17 2048 18891
316 /dev/nbd316 1024 19012
Flags: -json for machine-readable output.
Secondary improvement: store maxDevices on DevicePool at construction (avoids re-reading sysfs on every call) and expose a Status() method returning used/max counts for future debug endpoints.
Slot → sandbox ID mapping is left as follow-up work.
- Lingua principale
- Go
- Stelle
- 1.6k
- Fork
- 438
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di e2b-dev/runtime
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running stateAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di e2b-dev/runtime
Issue simili
-
area/proxy kind/bug priority/backlog triage/accepted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
lexfrei/cloudflare-tunnel-gateway-controller#840 ·
I maintainer di solito rispondono entro 1 giorno
-
area:chat bug sev:papercut
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
Agent-Field/CodeAF#1592 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 7 giorni
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug P2 reliability
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
afreidah/s3-orchestrator#1564 ·
I maintainer di solito rispondono entro 1 giorno