Skip to content

WIP: config: implement delta CDS client in Envoy#5466

Closed
fredlas wants to merge 691 commits intoenvoyproxy:masterfrom
fredlas:IMP_inc_sub_impl
Closed

WIP: config: implement delta CDS client in Envoy#5466
fredlas wants to merge 691 commits intoenvoyproxy:masterfrom
fredlas:IMP_inc_sub_impl

Conversation

@fredlas
Copy link
Copy Markdown
Contributor

@fredlas fredlas commented Jan 3, 2019

Description: Code for Envoy to speak incremental CDS with a management server. Provided as a second implementation of the CdsApi interface (along with some other new behind-the-scenes classes, analogous to the non-incremental implementation). INCREMENTAL_GRPC added to config_source.proto's ApiTypes, to allow bootstrap configs to ask for incremental xDS.

Part of #4991.

Risk Level: medium
Testing: new integration test, new code will (TODO) have unit tests

@htuch htuch self-assigned this Jan 9, 2019
@htuch
Copy link
Copy Markdown
Member

htuch commented Jan 14, 2019

@fredlas can you merge master to deal with the conflicts here?

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

This looks like a great start to the incremental xDS work, exciting to see this happening! I've left mostly design & code architecture comments, with a few nits. I think we should converge on the right code structure before spending too much time in the weeds of implementation/tests as a next step.

@htuch htuch added the waiting label Jan 18, 2019
htuch pushed a commit that referenced this pull request Jan 24, 2019
Refactor necessary for #5466 to avoid completely duplicating this logic.

Risk Level: low
Testing: existing tests

Signed-off-by: Fred Douglas <fredlas@google.com>
danzh2010 pushed a commit to danzh2010/envoy that referenced this pull request Jan 31, 2019
…roxy#5681)

Refactor necessary for envoyproxy#5466 to avoid completely duplicating this logic.

Risk Level: low
Testing: existing tests

Signed-off-by: Fred Douglas <fredlas@google.com>

Signed-off-by: Fred Douglas <43351173+fredlas@users.noreply.github.com>
@fredlas fredlas changed the title WIP: config: implement incremental CDS client in Envoy WIP: config: implement delta CDS client in Envoy Feb 4, 2019
Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

Some more high-level feedback.

@fredlas
Copy link
Copy Markdown
Contributor Author

fredlas commented Feb 13, 2019

Ok, I believe it is now ready for a full review.

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

Design wise, I think this is looking pretty good. To me, there are two remaining design issues:

  1. The path to making DeltaSubscriptionImpl muxable, supporting ADS and as a special case individual xDS types.
  2. Unifying onConfigUpdate.

The rest are just implementation comments, will look at tests later.

/wait

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

Great, this looks like it's on the right track!

/wait

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

LG modulo CI fixes and comments.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

aunu53 and others added 2 commits March 5, 2019 16:21
Bump up max configurable max_request_headers_kb to 96 KiB.
Add a check to http1/codec_impl.cc for headers size.
Raise the default library limits in http_parser nghttp2 so we'll rely on our own codec check.

Risk Level: Medium.
Testing: Moved all the large request headers tests to ProtocolIntegrationTest.
Part of envoyproxy#5626.

Signed-off-by: Auni Ahsan <auni@google.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
@fredlas fredlas force-pushed the IMP_inc_sub_impl branch from 932139c to 24d50df Compare March 5, 2019 21:27
fredlas added a commit to fredlas/envoy that referenced this pull request Mar 5, 2019
…roxy#5681)

Refactor necessary for envoyproxy#5466 to avoid completely duplicating this logic.

Risk Level: low
Testing: existing tests

Signed-off-by: Fred Douglas <fredlas@google.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
@fredlas fredlas force-pushed the IMP_inc_sub_impl branch from 24d50df to 220098e Compare March 5, 2019 21:28
fredlas added 2 commits March 5, 2019 16:54
Signed-off-by: Fred Douglas <fredlas@google.com>
@fredlas fredlas force-pushed the IMP_inc_sub_impl branch from 04c6937 to 8d06f25 Compare March 5, 2019 22:07
@htuch
Copy link
Copy Markdown
Member

htuch commented Mar 6, 2019

@fredlas docs still broken!

@fredlas fredlas force-pushed the IMP_inc_sub_impl branch from 3694b59 to 7995563 Compare March 6, 2019 15:16
fredlas and others added 6 commits March 6, 2019 10:18
Signed-off-by: Fred Douglas <fredlas@google.com>
This provides genhtml, which is needed for Bazel native coverage report
generation.

Signed-off-by: Harvey Tuch <htuch@google.com>
Remove the last prebuilt dependencies and switches to foreign_cc with a slight wrapper script.

Risk Level: Low
Testing: CI

Signed-off-by: Lizan Zhou <lizan@tetrate.io>
In order to compile envoy for iOS we need this commit
protocolbuffers/protobuf@0894e07
from protobuf. This also includes the previous commits that required us
to use a non-release version.

Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
…database, bazelbuild/bazel-skylib, gogo/protobuf (envoyproxy#6183)

Signed-off-by: Michael Payne <michael@sooper.org>
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
@fredlas
Copy link
Copy Markdown
Contributor Author

fredlas commented Mar 6, 2019

Fixed the docs, but somehow DCO got rebroken, and after following DCO bot's suggested fix, it doesn't look very fixable. Starting over in #6191.

@fredlas fredlas closed this Mar 6, 2019
htuch pushed a commit that referenced this pull request Mar 7, 2019
Description: Code for Envoy to speak delta CDS with a management server. DELTA_GRPC added to config_source.proto's ApiTypes, to allow bootstrap configs to ask for incremental xDS.

Part of #4991. Was #5466; giving up on broken DCO craziness.

Risk Level: medium
Testing: new integration test

Signed-off-by: Fred Douglas <fredlas@google.com>
@fredlas fredlas deleted the IMP_inc_sub_impl branch March 11, 2019 17:40
htuch pushed a commit that referenced this pull request Mar 21, 2019
Refactor requested in #5466 by @htuch. Move all of delta_cds_integration_test.cc into cds_integration_test.cc, with some cute code sharing. Move the config fragment strings into test/config/utility.cc.

Risk Level: none

Signed-off-by: Fred Douglas <fredlas@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.