Skip to content
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

[#6050] http: add edge_accept_request_id field #1

Merged
merged 70 commits into from
Mar 23, 2020

Conversation

atrifan
Copy link
Collaborator

@atrifan atrifan commented May 30, 2019

Description

Add edge_accept_request_id property for the envoy.http_connection_manager filter. Field added to resolve envoyproxy#6050 and also maintain backward compatibility

Risk

Low - small feature disabled by default and maintaining backward compatibility

Testing

Added 2 additional integration tests in test/common/http/conn_manager_utility_test.c to validate behaviour for:

  1. edge request - activated edge_accept_request_id set to true but no x-request-id header sent - expected to generate a new one
  2. edge request - activated edge_accept_request_id set to true and sent x-request-id header sent - expected to keep the old one.
  3. all previous tests regarding edge requests resetting the x-request-id should still pass

Issues

Fixes envoyproxy#6050

lambdai and others added 9 commits May 29, 2019 09:14
* ci: add make_unique rule to check_format

Signed-off-by: Yuchen Dai <silentdai@gmail.com>
Add an http filter to extract the original source on a per-http-request basis

Signed-off-by: Kyle Larose <kyle@agilicus.com>
Signed-off-by: Elisha Ziskind <eziskind@google.com>
…or in libstdc+++ (envoyproxy#7099)

With libstdc++ the the std::tuple constructor picked by a {x,y,z} parameter is "explicit tuple(TP_&&...) ", which causes a compilation error, remove the usage of std::tuple to make the test code more compatible w/ libstdc++.

Risk Level: LOW
Testing: Unit test.

Signed-off-by: Xin Zhuang <stevenzzz@google.com>
…y#7081)

Certain clusters have cluster specific load balancers. This change
allows a cluster to explicitly provide one, both allowing extension
clusters to easily provide a dedicated load balancer, as well as
allowing for future cleanup of the original DST LB configuration.

This change is needed for Redis Cluster as well as
envoyproxy#1606.

Risk Level: Low
Testing: New UTs and integration tests.

Signed-off-by: Matt Klein <mklein@lyft.com>
)

Bring back the v1 original_dst that is available in cds_json.cc (translateCluster, original_dst clusters must have no hosts configured) to v2.

Bonus: convert most of the v1 json config to v2, will remove the last two when we do translateCluster sweeping, cc @derekargueta.

Risk Level: Low
Testing: Unit tests

Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
…#7102)

Signed-off-by: Michael Puncel <mpuncel@squareup.com>
To support TDS and to provide operator flexibility in how it relates to
existing runtime layering, this PR introduces support for explicit
control over layering. This eliminates the distinguished role of
subdirectory and override_subdirectory, for example, in favor of
arbitrary disk overlay layers.

This PR deprecates the existing runtime configuration in favor of the
new layered variant.

As a bonus, the PR fixes some of the runtime stats and related docs.

Risk level: Low
Testing: various unit tests (including server_test) additions.

Part of envoyproxy#6708.

Signed-off-by: Harvey Tuch <htuch@google.com>
Filter through headers to add and remove in the header parser fuzzer.

Risk level: Low
Testing: Added corpus entry with null characters in headers to add.

Signed-off-by: Asra Ali <asraa@google.com>
alyssawilk and others added 20 commits May 30, 2019 08:52
…nvoyproxy#7093)

Fixing a bug where if pausing with StopIterationNoBuffer, continuing with fin-only payload wouldn't result in the filter chain continuing.

Risk Level: High (tweak to the HCM)
Testing: new integration test
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Sumukh Shivaprakash <sumukhs@microsoft.com>
…yproxy#6913)

This patch changed sendLocalReply to send GrpcMessage in percent-encoded
instead of plain string.

Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
This PR provides the TDS API config. The implementation and docs will be
added in a followup, the idea is to unblock some projects that depend on
the details here.

Risk level: Low
Testing: @envoy_api build

Part of envoyproxy#6708

Signed-off-by: Harvey Tuch <htuch@google.com>
Risk Level: LOW
Testing: code move only.

Signed-off-by: Xin Zhuang <stevenzzz@google.com>
Enforce Harvey to review any API changes.

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
Signed-off-by: Dan Zhang <danzh@google.com>
…voyproxy#7063)

* Add InlineStorage mixin supplying the allocation overrides needed to make it easier to create variable-size structures.

Signed-off-by: Joshua Marantz <jmarantz@google.com>
Migration from the build recipes to foreign_cc rules resulted
in dependencies being built with different compiler flags.

Among other things, those compiler flags were added:

    -ffunction-sections -fdata-sections

use of which leads to LuaJIT panicking:

    PANIC: unprotected error in call to Lua API

and Envoy subsequently crashing.

Broken in envoyproxy#6168.

Fixes istio/istio#13722.

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Description: When multiple test validations are mentioned in the `validation` section, 
eg: 
```
"validate": {
        "host_rewrite": "api.lyft.com",
        "virtual_host_name": "api",
        "path_rewrite": "/pre/test",
        "cluster_name": "www2"
      }
```
`finalizeRequestHeaders` is called multiple times causing ASSERT failures. None of the existing tests covered this scenario. Now few tests have been added to simulate the error.

Before the fix the failure looked like this
```
[2019-05-29 19:47:48.210][1405009][critical][assert] [source/common/router/config_impl.cc:557] assert failure: case_sensitive_ ? absl::StartsWith(path, matched_path) : absl::StartsWithIgnoreCase(path, matched_path).
```

Risk Level: Low
Testing: 
 - Added breaking tests and fixed them using the fix.
 - Tested the tool against lyft's routes

Signed-off-by: Jyoti Mahapatra <jmahapatra@lyft.com>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Followup to envoyproxy#7114.

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Joshua Marantz <jmarantz@google.com>
This PR also fully deprecates the tcp_proxy v1 configuration.
This will be deleted following the standard deprecation cycle.
All new uses should use filter chain matching.

Fixes envoyproxy#4457

Signed-off-by: Matt Klein <mklein@lyft.com>
…oxy#7110)

Delta services other than DeltaClusters were missing. Also added those services to proto_descriptors.cc. Also added some other things that proto_descriptors.cc was missing. envoyproxy#4991

Risk Level: low

Signed-off-by: Fred Douglas <fredlas@google.com>
…#7115)

They include fixes for future Bazel changes. In particular, the
repository can now build with --incompatible_depset_is_not_iterable,
which will be included in Bazel 0.27.

Description:
Risk Level: low
Testing: bazel build --nobuild ... --incompatible_depset_is_not_iterable

envoyproxy#6995

Signed-off-by: Laurent Le Brun <laurentlb@gmail.com>
…proxy#7098)

I copied @oquenchil's changes from envoyproxy#6968 (comment) and fixed the python formatting errors. This let us link our exe w/ the new flag default (--incompatible_do_not_split_linking_cmdline) and with the old value. When Envoy upgrades to bazel 0.27 we should remove the old functions in this file.

Risk Level: Low
Testing: Ran bazel test --incompatible_do_not_split_linking_cmdline //test/exe/... and bazel test //test/exe/...
Docs Changes: N/A
Release Notes: N/A

Fixes envoyproxy#6968

Signed-off-by: Frank Fort <ffort@google.com>
Remove duplicated words in sentences and fix some typos caught by linter.

Risk Level: LOW
Testing: doc only changes.
Docs Changes: N/A

Signed-off-by: Xin Zhuang <stevenzzz@google.com>
Fix a time conversion signed int overflow (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11852).

Risk Level: low
Testing: fuzz

Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@atrifan atrifan force-pushed the 6050/x_req_id_sanitzation branch 4 times, most recently from 7601e22 to 7faed7b Compare June 5, 2019 13:41
atrifan added 16 commits June 5, 2019 16:51
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
…n_manager_utility.cc

Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
@atrifan atrifan force-pushed the 6050/x_req_id_sanitzation branch from 7faed7b to e1588f6 Compare June 5, 2019 13:52
atrifan and others added 6 commits June 5, 2019 16:53
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
Signed-off-by: trifan <trifan@adobe.com>
@atrifan atrifan merged commit fb54bda into master Mar 23, 2020
@atrifan atrifan deleted the 6050/x_req_id_sanitzation branch March 23, 2020 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet