-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
roachprod: Support AWS GP3 drives. #58275
Conversation
f750f8e
to
05d0000
Compare
0f89a2c
to
22007da
Compare
cc @kenliu for triage - this should be reviewed by the dev inf team |
065cb1a
to
fd91d24
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @miretskiy)
pkg/cmd/roachprod/vm/aws/aws.go, line 90 at r1 (raw file):
type disk ebsDisk return json.Marshal(&struct { DeleteOnTermination bool `json:"DeleteOnTermination"`
Is this structuring used simply so that DeleteOnTermination
is not present in ebsDisk
? It might be slightly less awkward to used a named struct:
type extendedDisk struct {
ebsDisk
DeleteOnTermination bool ...
}
pkg/cmd/roachprod/vm/aws/aws.go, line 107 at r1 (raw file):
// This is not strictly needed since AWS sdk would return error anyway, // but we can return a nicer error message sooner. if d.VolumeSize == 0 {
Could we instead use the flag default for --aws-ebs-volume-size
of 500 GB?
pkg/cmd/roachprod/vm/aws/aws.go, line 115 at r1 (raw file):
// Nothing -- size checked above. case "gp3": if d.IOPs == 0 || d.IOPs > 16000 {
Should this be d.IOPS < 3000
?
pkg/cmd/roachprod/vm/aws/aws.go, line 118 at r1 (raw file):
return errors.AssertionFailedf("Iops required for gp3 disk: [3000, 16000]") } if d.Throughput == 0 {
Could we provide a reasonable default if throughput isn't specified?
pkg/cmd/roachprod/vm/aws/aws.go, line 141 at r1 (raw file):
} type eBSVolumeList []*ebsVolume
Nit: elsewhere you're using the capitalization ebs
, but here you're using eBS
. I don't have a preference except for consistency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @petermattis)
pkg/cmd/roachprod/vm/aws/aws.go, line 90 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Is this structuring used simply so that
DeleteOnTermination
is not present inebsDisk
? It might be slightly less awkward to used a named struct:type extendedDisk struct { ebsDisk DeleteOnTermination bool ... }
Agreed... Code started off a bit more complex -- but now marshal is just as you say, to add one more attribute. Made it explicit, as you suggested.
pkg/cmd/roachprod/vm/aws/aws.go, line 107 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Could we instead use the flag default for
--aws-ebs-volume-size
of 500 GB?
Done.
pkg/cmd/roachprod/vm/aws/aws.go, line 115 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Should this be
d.IOPS < 3000
?
No, gp3 drives have minimum 3000 iops. I changed this error condition to check for >16000 and added default 3000 IOPs if not set.
pkg/cmd/roachprod/vm/aws/aws.go, line 118 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Could we provide a reasonable default if throughput isn't specified?
Yup -- set to 125MB, which is base throughput.
pkg/cmd/roachprod/vm/aws/aws.go, line 141 at r1 (raw file):
Previously, petermattis (Peter Mattis) wrote…
Nit: elsewhere you're using the capitalization
ebs
, but here you're usingeBS
. I don't have a preference except for consistency.
Ooops -- a typo. Changed to "ebsVolumeList" -- no need to export.
Add support for spinning up VMs with GP3 drives. Make it possible to specify multiple, possibly different EBS volumes for each aws instance. Release Notes: None
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: complete! 1 of 0 LGTMs obtained
tftr |
bors r=petermattis |
This PR was included in a batch that was canceled, it will be automatically retried |
Build failed (retrying...): |
Build succeeded: |
Add support for spinning up VMs with GP3 drives.
Make it possible to specify multiple, possibly different EBS
volumes for each aws instance.
Release Notes: None