oxidecomputer / oxidecomputer/console
Disks: Disable 'Size' field when selecting 'Make disk read-only' and 'Image'/'Snapshot' as a source
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).
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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