Skip to content

Adding ECDS config dump support.#23902

Merged
kyessenov merged 21 commits intoenvoyproxy:mainfrom
yanjunxiang-google:ecds_config_dump
Nov 29, 2022
Merged

Adding ECDS config dump support.#23902
kyessenov merged 21 commits intoenvoyproxy:mainfrom
yanjunxiang-google:ecds_config_dump

Conversation

@yanjunxiang-google
Copy link
Contributor

@yanjunxiang-google yanjunxiang-google commented Nov 8, 2022

For issue: #20086

Signed-off-by: Yanjun Xiang yanjunxiang@google.com

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@repokitteh-read-only
Copy link

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @adisuissa
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

🐱

Caused by: #23902 was opened by yanjunxiang-google.

see: more, trace.

@yanjunxiang-google
Copy link
Contributor Author

/assign @kyessenov @adisuissa

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Copy link
Contributor

@adisuissa adisuissa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!
Overall the API LGTM.
2 high level comments/questions:

  1. Memory consumption could be non-negligible here. Is there anything we can do to only impact those that want to use this feature?
  2. Should there be a way to filter for a specific ECDS config (e.g., using https://www.envoyproxy.io/docs/envoy/latest/operations/admin#get--config_dump?name_regex=)?

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
…lter config dump case

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
…the for loop in the dumpEcdsConfig() function

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Merge branch 'main' of https://github.com/envoyproxy/envoy into ecds_config_dump

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@yanjunxiang-google
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #23902 (comment) was created by @yanjunxiang-google.

see: more, trace.

@yanjunxiang-google
Copy link
Contributor Author

@envoyproxy/api-shepherds PTAL

@yanjunxiang-google
Copy link
Contributor Author

/assign @yanavlasov

Copy link
Contributor

@adisuissa adisuissa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall code changes LGTM.
I would suggest rethinking about the tests, as they seem to be complex and validate multiple things. See if you can make them more hermetic by targeting specific validations.
/lgtm api

@yanjunxiang-google
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Check envoy-presubmit didn't fail.

🐱

Caused by: a #23902 (comment) was created by @yanjunxiang-google.

see: more, trace.

…config_dump

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@yanjunxiang-google
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #23902 (comment) was created by @yanjunxiang-google.

see: more, trace.

@yanjunxiang-google
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Check envoy-presubmit didn't fail.

🐱

Caused by: a #23902 (comment) was created by @yanjunxiang-google.

see: more, trace.

@yanjunxiang-google
Copy link
Contributor Author

@kyessenov @adisuissa The PR had been updated. Please approve again if no further comments.

@yanjunxiang-google
Copy link
Contributor Author

@yanavlasov PTAL

@kyessenov kyessenov merged commit 3752119 into envoyproxy:main Nov 29, 2022
@alyssawilk
Copy link
Contributor

I believe this was the other half of breaking coverage for main
Again I'd be inclined to roll back and roll forward when it has sufficient testing of new code
#24320

alyssawilk added a commit to alyssawilk/envoy that referenced this pull request Dec 5, 2022
@yanjunxiang-google
Copy link
Contributor Author

I believe this was the other half of breaking coverage for main Again I'd be inclined to roll back and roll forward when it has sufficient testing of new code #24320

When working on #23902 , we found the code : UpstreamHttpFilterConfigProviderManagerImpl in config_discovery_impl.h is not tested,

class UpstreamHttpFilterConfigProviderManagerImpl

which is causing the test coverage in that file is low.

@alyssawilk
Copy link
Contributor

Coverage passed on main before your PR, and your PR made additions to a file. I have never seen this then fail without the reason being your new code lowered overall coverage. I'm sorry about this mix up and happy to point you at the coverage results when you try to reinstate it and help you sort out how to do it. The greater problem was this PR was unintentionally merged without the correct approvals so we have to fix that up as well.

@alyssawilk
Copy link
Contributor

yeah looks like you were penalized for 2 comments (stupid sorry) but also didn't test an early return: https://storage.googleapis.com/envoy-postsubmit/main/coverage/source/common/filter/config_discovery_impl.h.gcov.html

@yanjunxiang-google
Copy link
Contributor Author

yanjunxiang-google commented Dec 5, 2022

Thanks for sharing the coverage link. Yes, let me refactor the code to remove that early return. This is done in most other config dump code. Also removing those two comments line to increase the coverage.
However, the main piece in this file not tested is the class I mentioned above which I had a little bit concern. But understood it might not be the reason of flaky since the issue was pre-existing.

@yanjunxiang-google
Copy link
Contributor Author

Hi, @alyssawilk , I quickly created this PR to address the test flaky issue in config_discovery_impl.h: #24362

alyssawilk added a commit that referenced this pull request Dec 5, 2022
yanjunxiang-google added a commit to yanjunxiang-google/envoy that referenced this pull request Dec 6, 2022
History:
ECDS config dump is first committed by : envoyproxy#23902.

There are some tests issues which is fixed by: envoyproxy#24362

This PR is to:
  revert envoyproxy#24354, at same time add a couple lines added in envoyproxy#24362, to re-commit ECDS config dump functionality.

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
yanjunxiang-google added a commit to yanjunxiang-google/envoy that referenced this pull request Dec 6, 2022
…verted by (envoyproxy#24354)

This reverts commit c5d6160.

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
yanavlasov pushed a commit that referenced this pull request Dec 7, 2022
* Adding back ECDS config dump support. (#23902)" which is reverted by (#24354)

This reverts commit c5d6160.

* Fixing test coverage issue due to an early return and a couple of comment lines.

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants