Skip to content

bootstrap/runtime: remove support for v2 bootstrap runtime field.#16274

Merged
htuch merged 2 commits intoenvoyproxy:mainfrom
htuch:remove-v2-runtime
May 4, 2021
Merged

bootstrap/runtime: remove support for v2 bootstrap runtime field.#16274
htuch merged 2 commits intoenvoyproxy:mainfrom
htuch:remove-v2-runtime

Conversation

@htuch
Copy link
Copy Markdown
Member

@htuch htuch commented May 3, 2021

This is the first PR in a series to remove v2 API support from Envoy.

The process is as follows:

  1. Identify uses of a hidden_envoy_deprecated_* field in source/.
  2. Remove implementation support for occurences identified in (1).
  3. Remove any tests in test/ covering (1). It is necessary to validate
    manually that other tests exist for replacement functionality; in
    some cases the deprecated test might be providing functional coverage
    not applied to the deprecated feature's replacement.
  4. Wash, rinse and repeat.

Risk level: Low
Testing: Added a unit test to cover otherwise missing behaviors in
runtime.

Signed-off-by: Harvey Tuch htuch@google.com

This is the first PR in a series to remove v2 API support from Envoy.

The process is as follows:
1. Identify uses of a hidden_envoy_deprecated_* field in source/.
2. Remove implementation support for occurences identified in (1).
3. Remove any tests in test/ covering (1). It is necessary to validate
   manually that other tests exist for replacement functionality; in
   some cases the deprecated test might be providing functional coverage
   not applied to the deprecated feature's replacement.
4. Wash, rinse and repeat.

Risk level: Low
Testing: Added a unit test to cover otherwise missing behaviors in
runtime.

Signed-off-by: Harvey Tuch <htuch@google.com>
@ankatare
Copy link
Copy Markdown
Contributor

ankatare commented May 3, 2021

Thanks a lot @htuch .. let me check this

@ankatare
Copy link
Copy Markdown
Contributor

ankatare commented May 3, 2021

would like to work on this with you... :) . please suggest how to proceed , means from any particular tree which i can target ?

@htuch
Copy link
Copy Markdown
Member Author

htuch commented May 3, 2021

@ankatare follow the set of steps 1-4 described in the commit message above.

Signed-off-by: Harvey Tuch <htuch@google.com>
@ggreenway ggreenway self-assigned this May 3, 2021
@ggreenway
Copy link
Copy Markdown
Member

/retest

@repokitteh-read-only
Copy link
Copy Markdown

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

🐱

Caused by: a #16274 (comment) was created by @ggreenway.

see: more, trace.

@htuch htuch merged commit 15cd9a6 into envoyproxy:main May 4, 2021
@htuch htuch deleted the remove-v2-runtime branch May 4, 2021 00:26
@ankatare
Copy link
Copy Markdown
Contributor

ankatare commented May 4, 2021

@ankatare follow the set of steps 1-4 described in the commit message above.

@htuch Ok. Sure. will get back for any query

gokulnair pushed a commit to gokulnair/envoy that referenced this pull request May 5, 2021
…voyproxy#16274)

This is the first PR in a series to remove v2 API support from Envoy.

The process is as follows:
1. Identify uses of a hidden_envoy_deprecated_* field in source/.
2. Remove implementation support for occurences identified in (1).
3. Remove any tests in test/ covering (1). It is necessary to validate
   manually that other tests exist for replacement functionality; in
   some cases the deprecated test might be providing functional coverage
   not applied to the deprecated feature's replacement.
4. Wash, rinse and repeat.

Risk level: Low
Testing: Added a unit test to cover otherwise missing behaviors in
runtime.

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Gokul Nair <gnair@twitter.com>
gokulnair pushed a commit to gokulnair/envoy that referenced this pull request May 6, 2021
…voyproxy#16274)

This is the first PR in a series to remove v2 API support from Envoy.

The process is as follows:
1. Identify uses of a hidden_envoy_deprecated_* field in source/.
2. Remove implementation support for occurences identified in (1).
3. Remove any tests in test/ covering (1). It is necessary to validate
   manually that other tests exist for replacement functionality; in
   some cases the deprecated test might be providing functional coverage
   not applied to the deprecated feature's replacement.
4. Wash, rinse and repeat.

Risk level: Low
Testing: Added a unit test to cover otherwise missing behaviors in
runtime.

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Gokul Nair <gnair@twitter.com>
@ankatare
Copy link
Copy Markdown
Contributor

@htuch Just thinking if we have any milestone set for this activity ?

@htuch
Copy link
Copy Markdown
Member Author

htuch commented Jul 21, 2021

@ankatare I'd hope we could have all v2 dependencies gone by next release.

@ankatare
Copy link
Copy Markdown
Contributor

@htuch Ok. Gt it. Thanks

@ankatare
Copy link
Copy Markdown
Contributor

ankatare commented Sep 3, 2021

@htuch @tyxia just thinking if below code also need to be removed ?

https://github.com/envoyproxy/envoy/blob/main/source/common/protobuf/utility.cc#L372-L396

please suggest.

@htuch
Copy link
Copy Markdown
Member Author

htuch commented Sep 5, 2021

I think so, but we might want to wait until generated_api_shadow/ is gone to be sure; I'll be doing the PR for this in the next week.

@tyxia
Copy link
Copy Markdown
Member

tyxia commented Sep 5, 2021

@htuch @tyxia just thinking if below code also need to be removed ?

https://github.com/envoyproxy/envoy/blob/main/source/common/protobuf/utility.cc#L372-L396

please suggest.
@ankatare

Yea, this is being worked on in PR #17924, but as htuch suggested we will wait for the generated_api_shadow/ removal first.

@ankatare
Copy link
Copy Markdown
Contributor

ankatare commented Sep 6, 2021

@tyxia @htuch cool. Thanks for Confirmation 👍

@ankatare
Copy link
Copy Markdown
Contributor

Hi @tyxia cc @htuch i Could see some pending work in my local main. Please let me know if you are working on those OR i can take anyone if not.
/envoy$ grep -rnw ./source/ -e 'hidden_envoy_deprecated_.*'
./source/extensions/tracers/zipkin/span_buffer.cc:53: "hidden_envoy_deprecated_HTTP_JSON_V1 has been deprecated. Please use a non-default "
./source/common/protobuf/utility.cc:372: if (absl::StartsWith(field.name(), "hidden_envoy_deprecated_")) {
./source/common/protobuf/utility.cc:380: "Illegal use of hidden_envoy_deprecated_ V2 field '", field.full_name(),

@ankatare
Copy link
Copy Markdown
Contributor

also under test/ Directory as below
envoy$ grep -rnw ./test/ -e 'hidden_envoy_deprecated_.*'
./test/extensions/tracers/zipkin/span_buffer_test.cc:469: "hidden_envoy_deprecated_HTTP_JSON_V1 has been deprecated. Please use a non-default "
./test/proto/deprecated.proto:41: string hidden_envoy_deprecated_is_deprecated = 2 [deprecated = true];
./test/proto/deprecated.proto:42: string hidden_envoy_deprecated_is_deprecated_fatal = 3 [deprecated = true];
./test/proto/deprecated.proto:45: string hidden_envoy_deprecated_inner_deprecated = 2 [deprecated = true];
./test/proto/deprecated.proto:46: string hidden_envoy_deprecated_inner_deprecated_fatal = 3 [deprecated = true];
./test/proto/deprecated.proto:48: InnerMessage hidden_envoy_deprecated_deprecated_message = 4 [deprecated = true];
./test/proto/deprecated.proto:51: repeated InnerMessage hidden_envoy_deprecated_deprecated_repeated_message = 7 [deprecated = true];
./test/proto/deprecated.proto:56: hidden_envoy_deprecated_DEPRECATED_DEFAULT = 0 [deprecated = true];
./test/proto/deprecated.proto:58: hidden_envoy_deprecated_DEPRECATED_NOT_DEFAULT = 2 [deprecated = true];
./test/server/server_corpus/clusterfuzz-testcase-minimized-config_fuzz_test-5702999713513472:196: hidden_envoy_deprecated_config {
./test/server/server_corpus/crash-ac725507195d840cdb90bed3079b877e6e9419e3:6:hidden_envoy_deprecated_runtime {
./test/server/server_corpus/clusterfuzz-testcase-minimized-config_fuzz_test-5186283155750912:40: hidden_envoy_deprecated_disable_overprovisioning: true
./test/server/server_corpus/clusterfuzz-testcase-minimized-config_fuzz_test-5186283155750912:51: hidden_envoy_deprecated_config {
./test/common/protobuf/utility_test.cc:1889: hidden_envoy_deprecated_is_deprecated: hidden_field1
./test/common/protobuf/utility_test.cc:1900: "Illegal use of hidden_envoy_deprecated_ V2 field "
./test/common/protobuf/utility_test.cc:1901: "'envoy.test.deprecation_test.UpgradedBase.hidden_envoy_deprecated_is_deprecated'");

@ankatare
Copy link
Copy Markdown
Contributor

@tyxia would you please look on my above comments.

@ankatare
Copy link
Copy Markdown
Contributor

i am seeing below WI is pending.. please suggest if i can take this to mark "remove v2 support "as finished

envoy$ grep -rnw ./source/ -e 'hidden_envoy_deprecated_.*'
./source/extensions/tracers/zipkin/span_buffer.cc:53: "hidden_envoy_deprecated_HTTP_JSON_V1 has been deprecated. Please use a non-default "

@ankatare
Copy link
Copy Markdown
Contributor

@htuch Need your inputs on this remaining WI.

@ankatare
Copy link
Copy Markdown
Contributor

@htuch @tyxia Sorry, It's My Bad :( .
i can see, now there is no pending WI for V2 support removal. Above cases are just exceptions which is required to handle the cases.

@tyxia
Copy link
Copy Markdown
Member

tyxia commented Sep 30, 2021

@htuch @tyxia Sorry, It's My Bad :( . i can see, now there is no pending WI for V2 support removal. Above cases are just exceptions which is required to handle the cases.

@ankatare Yea, the remaining hidden_envoy_deprecated*s are either used for exceptions to catch invalid configs or used to skip unused cases . So, in short I think there is no pending work for removing hidden_envoy_deprecated*. There are a few cleanup work though and I have a draft CL.

Thank you for your help on this task!

@ankatare
Copy link
Copy Markdown
Contributor

@tyxia Great, Thanks for update.

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.

4 participants