-
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
ecds: add dynamic config provider usage in downstream network filters #28477
ecds: add dynamic config provider usage in downstream network filters #28477
Conversation
…ration tests Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to |
Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
/assign @kyessenov |
Signed-off-by: ohadvano <[email protected]>
/unassign @kyessenov |
I'm also out for the next 1.5 weeks. @adisuissa @mattklein123 do you think you folks could take this one? Thanks. |
/unassign @lizan |
Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
Sorry I don't have time to review this in detail so will wait for @adisuissa to do a first pass, thanks. |
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.
Thanks for working on this! Looks very good!
Mostly nits and some high-level comment about further testing.
cc @yanjunxiang-google as a person who worked on this before.
test/integration/network_extension_discovery_integration_test.cc
Outdated
Show resolved
Hide resolved
test/integration/network_extension_discovery_integration_test.cc
Outdated
Show resolved
Hide resolved
test/integration/network_extension_discovery_integration_test.cc
Outdated
Show resolved
Hide resolved
test/integration/network_extension_discovery_integration_test.cc
Outdated
Show resolved
Hide resolved
EXPECT_EQ(4, network_filter_config.bytes_to_drain()); | ||
} | ||
|
||
} // namespace |
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.
2 high-level questions:
- Are there planned integration tests that test the interaction between listener updates (LDS) and network-filter updates (ECDS)?
- Can the HCM be updated? If so I think more tests are needed in that space because of the lifetime of some objects.
- Please add tests that have ongoing connections during an ECDS update and show that the "old" config is still used for these filters.
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 added LDS integration and a test that verifies that old config is used for connections that were established before ECDS update. Due to (3), I believe the behavior here would be the same, connections will get the HCM config that is updated at the time of connection establishment. Did you have another behavior in mind which I missed?
Co-authored-by: Adi (Suissa) Peleg <[email protected]> Signed-off-by: ohadvano <[email protected]>
Co-authored-by: Adi (Suissa) Peleg <[email protected]> Signed-off-by: ohadvano <[email protected]>
Co-authored-by: Adi (Suissa) Peleg <[email protected]> Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
Signed-off-by: ohadvano <[email protected]>
@adisuissa thanks for the thorough review, I addressed your comment and will appreciate another pass |
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.
Thanks, LGTM.
/assign-from @envoyproxy/senior-maintainers
@envoyproxy/senior-maintainers assignee is @mattklein123 |
// The two filters drain 4 + 5 bytes. | ||
sendDataVerifyResults(9); | ||
} | ||
|
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 is valuable to add integration test cases for pure static filters as this:
TEST_P(ListenerExtensionDiscoveryIntegrationTest, TwoStaticFilters) { |
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.
@yanjunxiang-google can you please elaborate on the value that you see? Is it not just like not using ECDS at all (which I believe is covered in regular network filter tests)?
Signed-off-by: ohadvano <[email protected]>
@mattklein123 seems lke Adi approved, could you please take a look? |
@mattklein123 can you merge the PR please? |
…ig missing (#28742) Follow up to #28477, increasing a metric in cases where a downstream connection is missing a network filter configuration. Risk Level: low Testing: Unit test Docs Changes: Changelog, ECDS docs, listener docs Signed-off-by: ohadvano <[email protected]>
Additional Description: Follow up to #28407, this PR adds dynamic config provider usage in downstream network filters, with relevant integration tests. A follow up PR will add support for upstream network filters. Link: #14696.
Risk Level: low (guarded by config)
Testing: Integration tests
Docs Changes: ECDS API doc, network filter, ECDS config doc
Release Notes: None
Platform Specific Features: None