oxidecomputer / oxidecomputer/console

Disks: Disable 'Size' field when selecting 'Make disk read-only' and 'Image'/'Snapshot' as a source

Open Beginner friendly
#3,391 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
228
Forks
22
Avg merge
19h 42m
Merged PRs (30d)
32

Description

What happened

Currently, when creating a disk, the 'Size' field comes before the list of Sources. One of the options to choose from is that of an Image, followed by a checkbox to make the disk read only. However, if the source is an Image or a Snapshot, the size the user needs to type in must match the one from the source. If it does not, then they get an error. One way to cope with this could be to disable the Size field once the 'Make disk read-only' and source 'Image' or 'Snapshot' has been selected.

If the size could be retrieved after setting these, then the user wouldn't have to see this error at all.
Moreover, the error messages shows the size in bytes and Size field is in GiB (so a user can't just copy and paste the value printed in the error message).

Image
Browser console output
main.tsx:31 Oxide Web Console version https://github.com/oxidecomputer/console/commits/fc3d969eb0e692f2982964405944fcc221fb7bc4
/v1/disks?project=verdant-df:1  Failed to load resource: the server responded with a status of 400 ()
client.ts:165 More info about API 400 on /projects/verdant-df/disks-new

API URL:        https://oxide.sys.rack2.eng.oxide.computer/v1/disks?project=verdant-df
Request ID:     ac7c6b2a-53f3-4e5c-8bd5-8d3490ec0c0c
Error code:     InvalidRequest
Error message:  Read-only disk size 21474836480 must be equal to source image size 10737418240


(anonymous) @ client.ts:165
/v1/disks?project=verdant-df:1  Failed to load resource: the server responded with a status of 400 ()
client.ts:165 More info about API 400 on /projects/verdant-df/disks-new

API URL:        https://oxide.sys.rack2.eng.oxide.computer/v1/disks?project=verdant-df
Request ID:     9016a82a-21cc-4451-a447-db6e2931ae2b
Error code:     InvalidRequest
Error message:  Read-only disk size 21474836480 must be equal to source snapshot size 10737418240


(anonymous) @ client.ts:165
Console version

https://github.com/oxidecomputer/console/commits/fc3d969eb0e692f2982964405944fcc221fb7bc4

What system are you on?

racklette

System version

No response

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.

Research direction

Start at the disks-new form referenced in the issue and trace the Size, source, and read-only controls. Make the Size field unavailable when a read-only disk uses an Image or Snapshot source, then verify that this combination no longer allows a mismatched size submission.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.