oxidecomputer / oxidecomputer/oxide.rs

CLI creating instances with huge local disks succeeds, but user receives a timeout error.

Open
#1,372 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
75
Forks
21
Avg merge
2d 2h
Merged PRs (30d)
19

Description

Component
  • CLI
  • SDK
  • Something else
  • Not sure
What was the expected behaviour

It is known that creating bigger local disks takes longer, and this can be easily observed if one creates them via console without any special/additional settings. However, if we create them via CLI, we MUST add a timeout explicitly on the command or else it will throw a timeout error.

This would be ok if the action didn't go through (i.e., create an instance with that big of a disk, think 1.5 TB+). However, the instances DO get created successfully.

Yes, the workaround is adding the timeout but the user gets the wrong idea that the intended process failed. So this is more like a false negative.

What is the current behaviour and what actions did you take to get there

Currently, if we launch an instance creation without an explicit timeout,:

oxide --profile $PROFILE api "/v1/instances?project=$proj" --method POST --input - <<EOF ...

we get an error in the command line, but the instance and disks are created and one can see them in console.

error sending request for url (https://oxide.sys.r3.oxide-preview.com/v1/instances?project=verdant): operation timed out

With the timeout, it comes back a bit later and delivers the output of the creation:

oxide --profile $PROFILE api "/v1/instances?project=$proj" --method POST --input - <<EOF...

Output:

{
  "auto_restart_cooldown_expiration": null,
  "auto_restart_enabled": true,
  "auto_restart_policy": null,
  "boot_disk_id": null,
  "cpu_platform": null,
  "description": "TPCDS Spark benchmarks",
  "hostname": "spark",
  "id": "ee084d00-95f4-408b-ab65-014a7edcddd5",
  "memory": 34359738368,
  "name": "tpcds-pyspark-ext4-bs4096",
  "ncpus": 4,
  "project_id": "54b9bdc4-313e-46c9-a9bc-2328c14cc303",
  "run_state": "starting",
  "time_created": "2026-03-02T17:54:45.927650Z",
  "time_last_auto_restarted": null,
  "time_modified": "2026-03-02T17:54:45.927650Z",
  "time_run_state_updated": "2026-03-02T17:55:26.433778Z"
}
CLI or SDK version

Oxide CLI 0.15.0+2026021301.0.0

Operating system

Ubuntu 24.04.3 LTS

Anything else you would like to add?

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the documented Oxide CLI API command with a large local disk and without an explicit timeout, then trace the CLI request timeout handling. Compare its behavior with the explicit-timeout invocation; done means a successfully created instance does not report a misleading timeout error.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.