-
Notifications
You must be signed in to change notification settings - Fork 4.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
API: Unready Targets Dump #12554
API: Unready Targets Dump #12554
Conversation
Signed-off-by: ping sun <pingsun@google.com>
Signed-off-by: ping sun <pingsun@google.com>
Signed-off-by: ping sun <pingsun@google.com>
…view; targetHandle->name(); remove target_names_ vector Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: ping sun <pingsun@google.com>
Signed-off-by: ping sun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
…y-unready-targets
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
…II/envoy into init-manager-query-unready-targets
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
api/envoy/admin/v3/config_dump.proto
Outdated
@@ -381,3 +381,18 @@ message EndpointsConfigDump { | |||
// The dynamically loaded endpoint configs. | |||
repeated DynamicEndpointConfig dynamic_endpoint_configs = 3; | |||
} | |||
|
|||
// Envoy's admin fills this message with init managers, which provides the information of their unready targets. | |||
message UnreadyTargetsConfigDumpList { |
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.
Is this actually configuration? It's definitely implied by configuration when interpreted by Envoy, but I'm wondering if it belongs on a different endpoint. @envoyproxy/api-shepherds
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.
Is this actually configuration? It's definitely implied by configuration when interpreted by Envoy, but I'm wondering if it belongs on a different endpoint. @envoyproxy/api-shepherds
I suppose it does not belong to an actual endpoint. This is just a protobuf message designed to show the unready targets in configs.
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.
I think it's kind of weird to include as part of config dump, but I'll defer to what other @envoyproxy/api-shepherds reckon. @mattklein123 as well as he did the original config dump.
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.
+1, can we spit this out somewhere else? This is not really config in the normal sense of the word. Maybe a new /init_manager
or other endpoint?
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.
got it. I will move it somewhere else, and create a new init_dump.proto
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.
Sorry I'm late to this thread, I feel this should be part of config_dump, otherwise it will be hard to tell what config made the targets unready, querying two endpoints might end up in inconsistent (racy) dump.
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.
Isn't this a problem that applies to the admin endpoint in general? If we query /config_dump
and /clusters
, we might see inconsistent output. Same goes for /listeners
. Would it make sense to try solve this through some mechanism for batching, e.g. an API endpoint, rather than trying to atomically group things?
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.
I feel like /config_dump or the potential is an inspection endpoint.
The configs/targets are stale as soon as these init manager status are on the wire.
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.
rst has been updated.
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
I've removed unready targets from config dumps and introduced a new init_dump to display that information. @mattklein123 @htuch |
Could you update the commit message reflecting the new init dump endpoint ? |
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Sure, Updated |
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
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.
/lgtm api
I noticed that config_dump has been sealed in a unique class |
Signed-off-by: pingsun <pingsun@google.com>
Signed-off-by: pingsun <pingsun@google.com>
Description: Taking advantage of the new feature introduced in #12035, which introduced quick visibility for init managers to check unready targets, this pull request adds protobuf message for unready targets and enables admin to dump configs of unready targets. An example of config dump for listeners’ unready targets is given in this pull request.
Introduce
InitDumpHandler
withhandlerInitDump
method to help dump information of unready targets.Add
dumpUnreadyTargets
function forinit::manager
.The new proto introduced: