mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[GH-ISSUE #128] OverlayBD cold start of public image fails without Docker credential file #43
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Originally created by @yingdi-shan on GitHub (Aug 5, 2026).
Original GitHub issue: https://github.com/kvcache-ai/AgentENV/issues/128
Affected component
OverlayBD / image resolution
AgentENV version
8f028b1; still present by source inspection at990eb0daea1cac3f49b4dd083467a90f49f8278eHost environment
uname -a): Linux 6.17.0-41-generic x86_64ublk_drvloadedOperation and configuration
The generated OverlayBD global configuration contains:
Steps to reproduce
aenv start --cold overlaybd/ubuntu:22.04_obd.Expected behavior
The public OverlayBD-native image should be accessed anonymously when no Docker credential file is configured, and the sandbox should start successfully.
Actual behavior
Image resolution succeeds, but the ublk daemon fails before Firecracker starts:
Logs and diagnostics
The initial Docker Hub EOF is retried successfully and is not the fatal error.
Reproduction frequency
Always in the tested Docker Compose configuration when no credential file is present.
Regression information
8f028b1, the initial open-source releaseAdditional context
write_generated_overlaybd_global_configintentionally disables credential lookup when no Docker config is detected. However:GlobalConfig::default()assigns the legacycredentialFilePathvalue/opt/overlaybd/cred.json.normalize_compat_fields()sees an empty modern credential mode and a non-empty legacy path, then enables file credentials.registryfs_v2tries to read/opt/overlaybd/cred.json, which does not exist.A permanent fix should ensure an explicitly disabled
credentialConfigis not overridden by a defaulted legacy field. The generated configuration could explicitly set"credentialFilePath": "", or deserialization could distinguish an omitted legacy field from one explicitly configured.A regression test should generate and reload the global config without Docker credentials, then assert that the effective credential mode remains disabled.
Temporary workaround: create
/opt/overlaybd/cred.jsoncontaining:Pre-submission checklist
@ranxi2001 commented on GitHub (Aug 29, 2026):
I'd like to work on this.
I confirmed the reported configuration path is still present on
main@9cedfe2: generated OverlayBD configs write an explicit emptycredentialConfigbut omitcredentialFilePath, so deserialization supplies/opt/overlaybd/cred.jsonand compatibility normalization can restorefilemode.I plan to keep the fix generator-scoped: emit consistent modern and legacy credential fields for anonymous and file-backed modes, without changing the global legacy fallback behavior. I'll add regression coverage that reloads the generated rootfs, memory, conversion, and resize configs and verifies the effective credential mode and path.
Please let me know if this overlaps with ongoing work.