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

オープン 初心者向け
#3,391 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
frontend

調査の方向性

Issueで参照されているdisks-newフォームから始め、Size、source、read-onlyのコントロールを追跡します。read-onlyディスクがImageまたはSnapshotソースを使用する場合はSizeフィールドを使用できないようにし、その組み合わせで不一致のサイズを送信できなくなったことを確認します。

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
TypeScript
スター
228
フォーク
22
平均マージ
19時間 42分
マージ済み PR(30日)
32

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

oxidecomputer/console のほかの issue

oxidecomputer/console の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。