cannot create instance from the console in single-node non-gimlet deployment

Open
#4,196 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
rust
Domain
api, backend

Research direction

Reproduce instance creation in a single-node non-gimlet deployment through the console, then inspect the Nexus logs and request path; the issue reports no visible Nexus request. Compare this with the provided CLI command and its "No external IP addresses available" response. Done means console creation completes correctly when networking is set to None, or the failure is surfaced with a clear error.

Written by the indexing model from the issue text.

Description

development

In testing #4146 I found that I could not deploy an instance from the console on a lab machine on which I had stood up omicron (connected via an ssh tunnel). To see if this was an issue with my PR or not, I tried standing up main and found the same issue. Specifically, the request seems to hang and never complete. I didn't see anything go by in any of the 3 nexus logs that indicated it made it to nexus. I did not dig in any further yet to understand why.

If I try to create an instance from the command line, I get an error about not having any external IPs available:

$ ./target/release/oxide instance create --project jordan --memory 1g --ncpus 2 --description blah --hostname blah --name j1
error
Error Response: status: 400 Bad Request; headers: {"content-type": "application/json", "x-request-id": "c3438193-6f55-4822-a9fd-16d7a4c88828", "content-length": "143", "date": "Wed, 04 Oct 2023 01:32:27 GMT"}; value: Error { error_code: Some("InvalidRequest"), message: "No external IP addresses available", request_id: "c3438193-6f55-4822-a9fd-16d7a4c88828" }

(There may be a way to get around asking for an external IP with the CLI, but I haven't looked into that yet.)

As such, when I tried to create an instance in the console, I selected "None" for networking to hopefully not encounter that error? But since I don't see evidence it made it to the nexus side, I don't think that really matters.

I am going to keep looking into this, but wanted to dump some state into an issue for now until I figure out what's going on.

Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Contributor guide

Open the contributing guide

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.

More from oxidecomputer/omicron

All issues in oxidecomputer/omicron

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.