-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
CSDS: add new config status ACKED #13121
Changes from 2 commits
e142072
78c118c
ef87599
8f2fb64
15a4491
abd2351
5fb88f0
87b889f
0ba9254
f7f38af
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,7 +34,7 @@ service ClientStatusDiscoveryService { | |
} | ||
} | ||
|
||
// Status of a config. | ||
// Status of a config from a management server view. | ||
enum ConfigStatus { | ||
// Status info is not available/unknown. | ||
UNKNOWN = 0; | ||
|
@@ -53,6 +53,22 @@ enum ConfigStatus { | |
ERROR = 4; | ||
} | ||
|
||
// Config status from a client-side view. | ||
enum ClientSideConfigStatus { | ||
// Config status is not available/unknown. | ||
CLIENT_UNKNOWN = 0; | ||
|
||
// Client requested the config but hasn't received any config from management | ||
// server yet. | ||
CLIENT_REQUESTED = 1; | ||
|
||
// Client received the config and replied with ACK. | ||
CLIENT_ACKED = 2; | ||
|
||
// Client received the config and replied with NACK. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's explicitly document that the resource content that is returned in this case will be the most recent version accepted, if any, not the version that was NACKed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Documented the expected config dump behavior here and in the PerXdsConfig message. |
||
CLIENT_NACKED = 3; | ||
} | ||
|
||
// Request for client status of clients identified by a list of NodeMatchers. | ||
message ClientStatusRequest { | ||
option (udpa.annotations.versioning).previous_message_type = | ||
|
@@ -73,6 +89,7 @@ message PerXdsConfig { | |
"envoy.service.status.v2.PerXdsConfig"; | ||
|
||
ConfigStatus status = 1; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's probably worth adding a comment here that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Comments added. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (It's too bad that we can't use a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggest adding There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Annotation added, TIL. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @htuch Can you advice what should we use in v4alpha? The format suggests that the migration annotation is expected to be expanded into real There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's fine -- v4alpha will be a new major version (if it ever actually happens), so breaking changes are okay. This is actually the whole point of the annotation, to make sure this change happens when the next major version bump occurs. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, but it looks like this didn't actually work for some reason. The annotation was carried forward to v4alpha instead of being turned into a oneof. Maybe the annotation has the wrong syntax or something? |
||
ClientSideConfigStatus client_side_config_status = 7; | ||
lidizheng marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
oneof per_xds_config { | ||
admin.v3.ListenersConfigDump listener_config = 2; | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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.
Suggest calling this
ClientConfigStatus
.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.
Changed to
ClientConfigStatus
.In this proto definition, there is the
ClientConfig
message. It might be a bit confusing to readers that whyClientConfigStatus
is not the status for theClientConfig
message, but the client-side view of config status. On the other hand, theClientSideConfigStatus
is not much better.Better naming is still welcomed. Picking
ClientConfigStatus
since it is simpler.