Skip to content

Merge changes up to istio-proxy:release-1.1.#40

Merged
PiotrSikora merged 52 commits intoistio:wasmfrom
jplevyak:wasm
Mar 11, 2019
Merged

Merge changes up to istio-proxy:release-1.1.#40
PiotrSikora merged 52 commits intoistio:wasmfrom
jplevyak:wasm

Conversation

@jplevyak
Copy link

Merge changes up to istio-proxy:release-1.1.

knightXun and others added 30 commits February 1, 2019 09:57
Signed-off-by: knightXun <100481562@qq.com>
Signed-off-by: Suhail Patel <me@suhailpatel.com>
Signed-off-by: Dan Zhang <danzh@google.com>
1) Add request/response trailer matching
2) Output request/response trailers
3) Refactor matchers to reduce boilerplate and make it harder
   to make mistakes when adding new update functions.
4) Split out a match configuration for HTTP request and response
   into individual things like request headers, request trailers,
   etc. This will make it easier and more logical to add various
   types of body matching and wire it up using the existing and/or
   logic.

Signed-off-by: Matt Klein <mklein@lyft.com>
Adds support for fixing errors via the pedantic spell checker.
Runs pedantic comment spelling checking during builds.
Adds the location where python deps are installed during
do_ci.sh (to avoid spurrious format check errors).

*Risk Level*: low
*Testing*: checks comment spelling
*Docs Changes*: n/a
*Release Notes*: n/a

Signed-off-by: Stephan Zuercher <zuercher@gmail.com>
Signed-off-by: Dan Zhang <danzh@google.com>
Per:

https://github.com/envoyproxy/envoy/blob/master/include/envoy/http/header_map.h#L148

`setReference()` needs a std::string ref that will live beyond
the lifetime of a request/response, but it's currently receiving
a string literal which is used to construct a temporary
std::string.

So instead pass an integer.

Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
Signed-off-by: Joshua Marantz <jmarantz@google.com>
… files (envoyproxy#5775)

(sort of) part of envoyproxy#5638
This and the follow-up should remove a bunch of code from all the integration tests which link http_integration.cc

Risk Level: low (test only)
Testing: integration tests pass
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Kim Saabye Pedersen <k.epost@gmail.com>
…xy#5760)

Risk Level: Low (logging only)
Testing: new unit tests
Docs Changes: n/a
Release Notes: not included
Part of envoyproxy#5559

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
E.g. from https://circleci.com/gh/envoyproxy/envoy/159452?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

we're seeing:

Error: No available formula with the name "bazelbuild/tap/bazel"
Please tap it and then try again: brew tap bazelbuild/tap

Looks like some additional steps are needed for the brew tap based on
https://docs.bazel.build/versions/master/install-os-x.html.

Risk Level: Low
Testing: CI

Fixes envoyproxy#5830

Signed-off-by: Harvey Tuch <htuch@google.com>
…y#5826)

* test: fix several clang-tidy warnings from envoyproxy#5811

Signed-off-by: Joshua Marantz <jmarantz@google.com>
…ts of a common TestBase class. (envoyproxy#5837)

Signed-off-by: Joshua Marantz <jmarantz@google.com>
…ec checks (envoyproxy#5773)

Signed-off-by: Auni Ahsan <auni@google.com>
Signed-off-by: Maxime Bedard <maxime.bedard@shopify.com>
…roxy#5764)

As discussed with @snowp in [envoyproxy/java-control-plane#87 (comment)](envoyproxy/java-control-plane#87 (comment)) and [envoyproxy/java-control-plane#87 (comment)](envoyproxy/java-control-plane#87 (comment)), adding these options will avoid the risk of having API breaking changes on the generated java code as the proto files evolve.

Risk Level_: Medium
Note that e.g. [envoyproxy/java-control-plane](https://github.com/envoyproxy/java-control-plane) will have to do a refactoring when they sync the proto files next time.

Signed-off-by: Penn (Dapeng) Zhang <zdapeng@google.com>
…proxy#5832)

Add quic_client_stats_impl.h to QUICHE platform implementation, with everything being no-op.

_Risk Level_: minimal: code not used yet
_Testing_: bazel test test/extensions/quic_listeners/quiche/platform:quic_platform_test --test_output=all
_Docs Changes_: none
_Release Notes_: none

Signed-off-by: Bin Wu <wub@google.com>
Disable quic_platform_test by default. Enable it only when "--define quiche=enabled" is specified in the bazel command line.

This is needed to workaround a issue with --experimental_remap_main_repo + ci asan build, see here for details.

Risk Level: minimal: build only
Testing: I introduced a failure in quic_platform_test, then confirmed quic_platform_test still passes by default(since it does nothing), and failed when "--define enable_quiche=enabled" is specified.

Signed-off-by: Bin Wu <wub@google.com>
…stem in various places. (envoyproxy#5660)

* Put Event::TimeSystem& into API and plumb that instead of TimeSystem in various places.

Signed-off-by: Joshua Marantz <jmarantz@google.com>
Fix some incorrect comments about the range of valid host weights, and updated Maglev LB implementation to assume weights are always non-zero.

Risk Level: Low
Testing: Existing tests, including maglev_lb_test and upstream_impl_test.

Signed-off-by: Dan Rosen <mergeconflict@google.com>
Do not allow Filesystem::fileReadToEnd() for files in
/dev, /proc and /sys.

Risk Level: Low
Testing: New unit test.
Fixes: envoyproxy#3170

Signed-off-by: Sergey Glushchenko <gsserge@gmail.com>
This class allows clients to map keys to connection pools, returning the
existing pool if it already exists.

Signed-off-by: Kyle Larose <kyle@agilicus.com>
Due to the external_cmake changes (amongst others), we've regressed on
the fuzzer build. We need to do the final link now inside the cc_binary,
as external_cmake has issues with transitivity and unrelated binaries
(see bazel-contrib/rules_foreign_cc#222).

Risk level: Low
Testing: oss-fuzz Docker build for Envoy's fuzzers.

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Penn (Dapeng) Zhang <zdapeng@google.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
* fuzz: avoid leaking time system singleton.

Previously we were seeing:

FAIL: Active singletons exist:
Unexpected active singleton: N5Envoy5Event25SingletonTimeSystemHelperE

at the end of each fuzz test.

Risk level: Low
Testing: bazel test //test/common/access_log:access_log_formatter_fuzz_test  --test_output=streamed
--test_arg="-l trace" -c dbg --config=clang-asan --test_output=all

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
Description: Moves integration tests that are dependent on the ssl implementation (e.g. boringssl vs openssl) to extensions. See envoyproxy#5762
Risk Level: Low
Testing: All standard tests passing
Docs Change: None
Release Notes: None

Signed-off-by: William DeCoste <bdecoste@gmail.com>
…eritance order. (envoyproxy#5855)

Signed-off-by: Joshua Marantz <jmarantz@google.com>

Previously the TestBase destructor was running the singleton quiescence check and printing the results, but not actually failing the tests..

There are two changes here:

* use a RELEASE_ASSERT in the quiescence check helper function, rather than returning a bool
* change a bunch of tests that multiply inherited from the TestBase class to always specify the TestBase class first.
perlun and others added 19 commits February 7, 2019 11:47
- `realpath` is now in `coreutils`.

Signed-off-by: Per Lundberg <perlun@gmail.com>
…onst (envoyproxy#5793)

Signed-off-by: Randy Smith <rdsmith@google.com>
* Modified docs and variable names

Signed-off-by: Randy Smith <rdsmith@google.com>

* Changed name in a couple of neglected files

Signed-off-by: Randy Smith <rdsmith@google.com>

* Fixed format

Signed-off-by: Randy Smith <rdsmith@google.com>

* Fix typo

Signed-off-by: Randy Smith <rdsmith@google.com>

* Changed name of coroutines

Signed-off-by: Randy Smith <rdsmith@google.com>

* Fixed format

Signed-off-by: Randy Smith <rdsmith@google.com>
Fixes oss-fuzz issue
https://oss-fuzz.com/testcase-detail/5137346677178368.

Risk level: Low
Testing: Corpus entry added.

Signed-off-by: Harvey Tuch <htuch@google.com>
…xy#5870)

Fixes oss-fuzz issue https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12293.

Risk level: Low
Testing: Corpus entry and unit test added.

Signed-off-by: Harvey Tuch <htuch@google.com>
…5849)

* Make the creation of a test time system threadsafe.

I am not aware of a situation where we might race the creation of our
thread-system singleton between two threads, but it's not that hard or
slow to make that work. So it seems easier to do this proactively than
to wait for a flake.

Signed-off-by: Joshua Marantz <jmarantz@google.com>
We were still failing ClusterFuzz builds for ubsan, another external_cmake regression.

Risk level: Low
Testing: oss-fuzz undefined Docker build.

Signed-off-by: Harvey Tuch <htuch@google.com>
Modify EVP_MD_CTX instantiation in common/crypto to support openssl. Instantiating via "EVP_MD_CTX ctx" fails compilation. Openssl required EVP_MD_CTX_new().

Risk Level: Low
Testing: Standard tests pass

Signed-off-by: William DeCoste <bdecoste@gmail.com>
Mark //test/test_common:test_base testonly for environments that enforce that bit.

Risk Level: Low: Build change, any errors should be quick to surface.
Testing: Built all of envoy.

Signed-off-by: Randy Smith <rdsmith@google.com>
Change the gen_compilation_database.py command to accept a --vscode
flag. If this flag is on, create such a compilation database which can
be used by Visual Studio Code for code analysis. At the moment it only
changes "-iquote" compiler options to old-style "-I" options to prevent
Visual Studio Code from falling back to tag parser mode.

*Risk Level*: low
*Testing*: Visual Studio Code v1.31
*Docs Changes*: N/A
*Release Notes*: N/A

Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Same issue as in envoyproxy#4940, but on the config_validation side.

Risk level: Low
Testing: corpus entry added.

Signed-off-by: Harvey Tuch <htuch@google.com>
Using buildifier failed without virtualenv so noting in the bazel README file. Also did some cleanup of the ordered list to always use "1.", see https://guides.github.com/features/mastering-markdown/#syntax.

Risk Level: Low

Signed-off-by: Frank Fort <ffort@google.com>
…voyproxy#5649)

Adds a DEGRADED HealthStatus value that can be set on a host through
LoadAssignment, allowing for a host to be marked degraded without
the need for active health checking.

Moves the mapping of EDS flag to health flag to inside
`registerHostForPriority`, which means that we're now consistently setting
the EDS health flag for EDS/STATIC/STRICT_DNS/LOGICAL_DNS.

Simplifies the check for whether the health flag value of a host has
changed during EDS updates.

Adds tests for the EDS mapping as well as tests to verify that we're
honoring the EDS flag for non-EDS cluster types.

Risk Level: High, substantial refactoring of how we determine whether health flag has changed.
Testing: UTs coverage for new health flag values.
Docs Changes: n/a
Release Notes: n/a

Fixes envoyproxy#5637
envoyproxy#5063

Signed-off-by: Snow Pettersen <snowp@squareup.com>
…yproxy#5758)

Add quic_logging_impl.(h|cc) and unit tests to QUICHE platform implementation.

QUICHE code uses stream-style logging macros to do logging, e.g.:
QUIC_LOG(INFO) << "x = " << x;

The implementation in this PR uses a temporary std::ostringstream (one per macro invocation) to convert the stream into a std::string, then send the string to spdlog.

Risk Level: minimal: code not used yet
Testing:
[Unit test in release mode] bazel test --experimental_remap_main_repo -c opt test/extensions/quic_listeners/quiche/platform:quic_platform_test
[Unit test in debug mode] bazel test --experimental_remap_main_repo test/extensions/quic_listeners/quiche/platform:quic_platform_test

Signed-off-by: Bin Wu <wub@google.com>
Now that envoyproxy#5218 has been merged, we can enable release builds on Windows. This PR updates `ci/do_ci.ps1` to build release + fastbuild versions in addition to debug versions. It also removes support for build scripts in `ci/build_container/build_recipes/` on Windows, as there is no clean way to pass information from Bazel regarding the type of build to those scripts

Risk Level: Low
Testing: `bazel build //source/... && bazel test //test/...`

Signed-off-by: Sam Smith <sesmith177@gmail.com>
Remove a superfluous line of three back-ticks that caused improper formatting of the http_proxy section.

Signed-off-by: Larry West <Larry_West@intuit.com>
…proxy#5814)

This PR uses hash func that generates deterministic result for proto.

Background -
When integrate envoy SDS with Istio, we found envoy sends out multiple requests for same sdsconfig(details in envoyproxy#5744);

After some debugging, we found the issue describes in [protocolbuffers/protobuf#5668](protocolbuffers/protobuf#5668).

Signed-off-by: Quanjie Lin <quanlin@google.com>
@istio-testing
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:

If they are not already assigned, you can assign the PR to them by writing /assign in a comment when ready.

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@googlebot
Copy link

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the cla label to yes (if enabled on your project), and then merge this pull request when appropriate.

ℹ️ Googlers: Go here for more info.

@PiotrSikora PiotrSikora merged commit 7acc5d9 into istio:wasm Mar 11, 2019
rlenglet pushed a commit that referenced this pull request Aug 13, 2019
Signed-off-by: Pengyuan Bian <bianpengyuan@google.com>
fpesce pushed a commit that referenced this pull request Jun 30, 2020
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.