-
Notifications
You must be signed in to change notification settings - Fork 40
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
update to dropshot 0.15 #7196
base: main
Are you sure you want to change the base?
update to dropshot 0.15 #7196
Conversation
As of oxidecomputer/dropshot@f0e6a46, the OpenAPI documents for APIs that don't use custom user-defined error types should be unchanged from the previous Dropshot release. This commit updates that and undoes the diff to the OpenAPI docs that broke progenitor.
I think this is ready to merge barring any test failures, but I want to merge it after we branch for R12. |
I'm not completely sure yet but I think this is failing in CI because sled-agent is using dropshot 0.15's EDIT: wait no that's not a generated config. |
45b9156
to
f7cfe6d
Compare
We'll want to update this to 0.15.1, which I expect to be available shortly. (See oxidecomputer/dropshot#1195.) |
IIRC we wanted to wait until after the release to merge this, is that still the case? |
After we branch for R12 yeah, but I think that's just my risk assessment. I don't know how soon we're branching. |
nexus/examples/config-second.toml
Outdated
@@ -60,7 +60,7 @@ bind_address = "127.0.0.1:12222" | |||
# | |||
# This should be brought back down to a more reasonable value once per-endpoint | |||
# request body limits are implemented. | |||
request_body_max_bytes = 3221225472 | |||
default_request_body_max_bytes = 3221225472 |
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.
Thank you for picking this up!
Think the comment above here may need to be updated since 0.15 implements these limits. (Just saying that this should be brought down is good, I think.)
nexus/examples/config.toml
Outdated
@@ -46,7 +46,7 @@ bind_address = "127.0.0.1:12220" | |||
# | |||
# This should be brought back down to a more reasonable value once per-endpoint | |||
# request body limits are implemented. | |||
request_body_max_bytes = 3221225472 | |||
default_request_body_max_bytes = 3221225472 |
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.
Same here.
sled-agent/src/services.rs
Outdated
@@ -2359,7 +2359,7 @@ impl ServiceManager { | |||
bind_address: SocketAddr::new(*opte_ip, nexus_port), | |||
// This has to be large enough to support: | |||
// - bulk writes to disks |
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.
This one too I think.
# Host OS images are just over 800 MiB currently; set this to 2 GiB to give some | ||
# breathing room. | ||
request_body_max_bytes = 2_147_483_648 | ||
default_request_body_max_bytes = 2_147_483_648 |
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.
Same here -- just a todo mentioning that it's now possible to bring this down and use the per-endpoint limit.
smf/sled-agent/gimlet/config.toml
Outdated
# Host OS images are just over 800 MiB currently; set this to 2 GiB to give some | ||
# breathing room. | ||
request_body_max_bytes = 2_147_483_648 | ||
default_request_body_max_bytes = 2_147_483_648 |
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.
And here.
# Host OS images are just over 800 MiB currently; set this to 2 GiB to give some | ||
# breathing room. | ||
request_body_max_bytes = 2_147_483_648 | ||
default_request_body_max_bytes = 2_147_483_648 |
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.
And here.
I figure since I intend this to land post-R12 I may as well make the values sensible now. If we log request body sizes it might be good to pull those logs from dogfood as well to see if we would be overlooking any endpoints. |
I've found most of the larger-than-necessary API-wide limits but I'm still finding some more. |
I think that's everything, except for a few defaults that remain set above 1 MiB:
And for completion, testing-only values:
Given how wide-reaching of a change this has the opportunity to be, I'm running mupdate, rack init, and live-tests on dublin from this branch. |
Yeah, that sounds like a good call --- thanks for taking this over while I was moving! |
haha woooo |
Okay, mupdate, rack init, and basic operation including instance launch all seem fine on a racklette with this installed. Mupdate was performed from a switch zone built on this branch. Trying to get live-tests going but running into unrelated issues. There appear to be no rejected requests due to unexpected large request bodies:
|
This is awesome, thanks for being so thorough iliana! |
I may have found an issue while running live tests related to internal DNS, but it's unclear as of yet if that's caused by this PR or something else. |
No description provided.