From 8fd981ffb6e1f077cbea4afeac3e0d5c56aa076d Mon Sep 17 00:00:00 2001 From: DanStough Date: Thu, 11 May 2023 16:14:03 -0400 Subject: [PATCH 1/2] fix(connect envoy): set initial_fetch_timeout to wait for initial xDS indefinitely --- .changelog/104.txt | 3 +++ internal/bootstrap/bootstrap_tpl.go | 2 ++ pkg/consuldp/testdata/TestBootstrapConfig/access-logs.golden | 2 ++ pkg/consuldp/testdata/TestBootstrapConfig/basic.golden | 2 ++ .../TestBootstrapConfig/central-telemetry-config.golden | 2 ++ .../TestBootstrapConfig/custom-prometheus-scrape-path.golden | 2 ++ pkg/consuldp/testdata/TestBootstrapConfig/hcp-metrics.golden | 2 ++ .../testdata/TestBootstrapConfig/ready-listener.golden | 2 ++ .../testdata/TestBootstrapConfig/unix-socket-xds-server.golden | 2 ++ 9 files changed, 19 insertions(+) create mode 100644 .changelog/104.txt diff --git a/.changelog/104.txt b/.changelog/104.txt new file mode 100644 index 00000000..0581213b --- /dev/null +++ b/.changelog/104.txt @@ -0,0 +1,3 @@ +```release-note:bug +Fix bug with Envoy starting with partial configuration by wait indefinitely for complete, initial xDS configuration. +``` diff --git a/internal/bootstrap/bootstrap_tpl.go b/internal/bootstrap/bootstrap_tpl.go index dc374f5a..c9248b39 100644 --- a/internal/bootstrap/bootstrap_tpl.go +++ b/internal/bootstrap/bootstrap_tpl.go @@ -282,10 +282,12 @@ const bootstrapTemplate = `{ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/access-logs.golden b/pkg/consuldp/testdata/TestBootstrapConfig/access-logs.golden index 68187aa0..93788081 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/access-logs.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/access-logs.golden @@ -157,10 +157,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/basic.golden b/pkg/consuldp/testdata/TestBootstrapConfig/basic.golden index ca0741a3..4d415571 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/basic.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/basic.golden @@ -145,10 +145,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/central-telemetry-config.golden b/pkg/consuldp/testdata/TestBootstrapConfig/central-telemetry-config.golden index 8ed91715..887415e5 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/central-telemetry-config.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/central-telemetry-config.golden @@ -159,10 +159,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/custom-prometheus-scrape-path.golden b/pkg/consuldp/testdata/TestBootstrapConfig/custom-prometheus-scrape-path.golden index f21bdabe..ab51a2ba 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/custom-prometheus-scrape-path.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/custom-prometheus-scrape-path.golden @@ -234,10 +234,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/hcp-metrics.golden b/pkg/consuldp/testdata/TestBootstrapConfig/hcp-metrics.golden index 4f6d2c9a..a1c4bd17 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/hcp-metrics.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/hcp-metrics.golden @@ -182,10 +182,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/ready-listener.golden b/pkg/consuldp/testdata/TestBootstrapConfig/ready-listener.golden index 1d45d37d..830c4f8e 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/ready-listener.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/ready-listener.golden @@ -234,10 +234,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { diff --git a/pkg/consuldp/testdata/TestBootstrapConfig/unix-socket-xds-server.golden b/pkg/consuldp/testdata/TestBootstrapConfig/unix-socket-xds-server.golden index 4affbca5..7b1036b5 100644 --- a/pkg/consuldp/testdata/TestBootstrapConfig/unix-socket-xds-server.golden +++ b/pkg/consuldp/testdata/TestBootstrapConfig/unix-socket-xds-server.golden @@ -144,10 +144,12 @@ "dynamic_resources": { "lds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "cds_config": { "ads": {}, + "initial_fetch_timeout": "0s", "resource_api_version": "V3" }, "ads_config": { From d03729c9490da8b81291abafb62ded54e992ab91 Mon Sep 17 00:00:00 2001 From: DanStough Date: Fri, 12 May 2023 11:25:21 -0400 Subject: [PATCH 2/2] changelog update --- .changelog/104.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/104.txt b/.changelog/104.txt index 0581213b..a91a2c3f 100644 --- a/.changelog/104.txt +++ b/.changelog/104.txt @@ -1,3 +1,3 @@ ```release-note:bug -Fix bug with Envoy starting with partial configuration by wait indefinitely for complete, initial xDS configuration. +Fix a bug with Envoy potentially starting with incomplete configuration by not waiting enough for initial xDS configuration. ```