Skip to content

Commit

Permalink
connect: add support for envoy 1.16.0, drop support for 1.12.x, and b…
Browse files Browse the repository at this point in the history
…ump point releases as well (#8944)

Supported versions will be: "1.16.0", "1.15.2", "1.14.5", "1.13.6"
  • Loading branch information
rboyer authored Oct 22, 2020
1 parent 8ffebeb commit a2c50d3
Show file tree
Hide file tree
Showing 191 changed files with 54 additions and 73 deletions.
24 changes: 12 additions & 12 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -739,13 +739,13 @@ jobs:
command: bash <(curl -s https://codecov.io/bash) -v -c -C $CIRCLE_SHA1 -F ui
- run: *notify-slack-failure

envoy-integration-test-1.12.6:
envoy-integration-test-1.13.6:
docker:
# We only really need bash and docker-compose which is installed on all
# Circle images but pick Go since we have to pick one of them.
- image: *GOLANG_IMAGE
environment:
ENVOY_VERSION: "1.12.6"
ENVOY_VERSION: "1.13.6"
steps: &ENVOY_INTEGRATION_TEST_STEPS
- checkout
# Get go binary from workspace
Expand Down Expand Up @@ -774,25 +774,25 @@ jobs:
path: *TEST_RESULTS_DIR
- run: *notify-slack-failure

envoy-integration-test-1.13.4:
envoy-integration-test-1.14.5:
docker:
- image: *GOLANG_IMAGE
environment:
ENVOY_VERSION: "1.13.4"
ENVOY_VERSION: "1.14.5"
steps: *ENVOY_INTEGRATION_TEST_STEPS

envoy-integration-test-1.14.4:
envoy-integration-test-1.15.2:
docker:
- image: *GOLANG_IMAGE
environment:
ENVOY_VERSION: "1.14.4"
ENVOY_VERSION: "1.15.2"
steps: *ENVOY_INTEGRATION_TEST_STEPS

envoy-integration-test-1.15.0:
envoy-integration-test-1.16.0:
docker:
- image: *GOLANG_IMAGE
environment:
ENVOY_VERSION: "1.15.0"
ENVOY_VERSION: "1.16.0"
steps: *ENVOY_INTEGRATION_TEST_STEPS

# run integration tests for the connect ca providers
Expand Down Expand Up @@ -929,16 +929,16 @@ workflows:
- nomad-integration-0_8:
requires:
- dev-build
- envoy-integration-test-1.12.6:
- envoy-integration-test-1.13.6:
requires:
- dev-build
- envoy-integration-test-1.13.4:
- envoy-integration-test-1.14.5:
requires:
- dev-build
- envoy-integration-test-1.14.4:
- envoy-integration-test-1.15.2:
requires:
- dev-build
- envoy-integration-test-1.15.0:
- envoy-integration-test-1.16.0:
requires:
- dev-build
website:
Expand Down
17 changes: 1 addition & 16 deletions agent/xds/envoy_versioning.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,9 @@ import (
var (
// minSupportedVersion is the oldest mainline version we support. This should always be
// the zero'th point release of the last element of proxysupport.EnvoyVersions.
minSupportedVersion = version.Must(version.NewVersion("1.12.0"))
minSupportedVersion = version.Must(version.NewVersion("1.13.0"))

specificUnsupportedVersions = []unsupportedVersion{
{
Version: version.Must(version.NewVersion("1.12.0")),
UpgradeTo: "1.12.3+",
Why: "does not support RBAC rules using url_path",
},
{
Version: version.Must(version.NewVersion("1.12.1")),
UpgradeTo: "1.12.3+",
Why: "does not support RBAC rules using url_path",
},
{
Version: version.Must(version.NewVersion("1.12.2")),
UpgradeTo: "1.12.3+",
Why: "does not support RBAC rules using url_path",
},
{
Version: version.Must(version.NewVersion("1.13.0")),
UpgradeTo: "1.13.1+",
Expand Down
15 changes: 9 additions & 6 deletions agent/xds/envoy_versioning_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ func TestDetermineEnvoyVersionFromNode(t *testing.T) {

func TestDetermineSupportedProxyFeaturesFromString(t *testing.T) {
const (
err1_12 = "is too old of a point release and is not supported by Consul because it does not support RBAC rules using url_path. Please upgrade to version 1.12.3+."
err1_13 = "is too old of a point release and is not supported by Consul because it does not support RBAC rules using url_path. Please upgrade to version 1.13.1+."
errTooOld = "is too old and is not supported by Consul"
)
Expand All @@ -87,18 +86,22 @@ func TestDetermineSupportedProxyFeaturesFromString(t *testing.T) {
"1.9.0": {expectErr: "Envoy 1.9.0 " + errTooOld},
"1.10.0": {expectErr: "Envoy 1.10.0 " + errTooOld},
"1.11.0": {expectErr: "Envoy 1.11.0 " + errTooOld},
"1.12.0": {expectErr: "Envoy 1.12.0 " + err1_12},
"1.12.1": {expectErr: "Envoy 1.12.1 " + err1_12},
"1.12.2": {expectErr: "Envoy 1.12.2 " + err1_12},
"1.12.0": {expectErr: "Envoy 1.12.0 " + errTooOld},
"1.12.1": {expectErr: "Envoy 1.12.1 " + errTooOld},
"1.12.2": {expectErr: "Envoy 1.12.2 " + errTooOld},
"1.12.3": {expectErr: "Envoy 1.12.3 " + errTooOld},
"1.12.4": {expectErr: "Envoy 1.12.4 " + errTooOld},
"1.12.5": {expectErr: "Envoy 1.12.5 " + errTooOld},
"1.12.6": {expectErr: "Envoy 1.12.6 " + errTooOld},
"1.12.7": {expectErr: "Envoy 1.12.7 " + errTooOld},
"1.13.0": {expectErr: "Envoy 1.13.0 " + err1_13},
}

// Insert a bunch of valid versions.
for _, v := range []string{
"1.12.3", "1.12.4", "1.12.5", "1.12.6", "1.12.7",
"1.13.1", "1.13.2", "1.13.3", "1.13.4", "1.13.6", "1.14.1",
"1.14.2", "1.14.3", "1.14.4", "1.14.5",
"1.15.0", "1.15.1", "1.15.2",
"1.15.0", "1.15.1", "1.15.2", "1.16.0",
} {
cases[v] = testcase{expect: supportedProxyFeatures{}}
}
Expand Down
8 changes: 4 additions & 4 deletions agent/xds/proxysupport/proxysupport.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ package proxysupport
//
// see: https://www.consul.io/docs/connect/proxies/envoy#supported-versions
var EnvoyVersions = []string{
"1.15.0",
"1.14.4",
"1.13.4",
"1.12.6",
"1.16.0",
"1.15.2",
"1.14.5",
"1.13.6",
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/access-log-path.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/defaults.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/existing-ca-file.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/existing-ca-path.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/extra_-multiple.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/extra_-single.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/grpc-addr-config.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/grpc-addr-env.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/grpc-addr-flag.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/grpc-addr-unix.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "ingress-gateway",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "ingress-gateway",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "my-gateway-123",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "my-gateway",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/ingress-gateway.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "ingress-gateway-1",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/token-arg.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/token-env.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/token-file-arg.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion command/connect/envoy/testdata/token-file-env.golden
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "test-proxy",
"metadata": {
"namespace": "default",
"envoy_version": "1.15.0"
"envoy_version": "1.16.0"
}
},
"static_resources": {
Expand Down
2 changes: 1 addition & 1 deletion test/integration/connect/envoy/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ readonly self_name="$0"
DEBUG=${DEBUG:-}

# ENVOY_VERSION to run each test against
ENVOY_VERSION=${ENVOY_VERSION:-"1.15.0"}
ENVOY_VERSION=${ENVOY_VERSION:-"1.16.0"}
export ENVOY_VERSION

if [ ! -z "$DEBUG" ] ; then
Expand Down
9 changes: 1 addition & 8 deletions test/integration/connect/envoy/test-envoy-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,12 @@ unset CDPATH
cd "$(dirname "$0")"

## no rbac url_path support
# 1.12.0
# 1.12.1
# 1.12.2
# 1.13.0

## does not exist in docker
# 1.13.5
# 1.14.0
versions=(
1.12.3
1.12.4
1.12.5
1.12.6
1.12.7
1.13.1
1.13.2
1.13.3
Expand All @@ -34,6 +26,7 @@ versions=(
1.15.0
1.15.1
1.15.2
1.16.0
)

for v in "${versions[@]}"; do
Expand Down
2 changes: 1 addition & 1 deletion website/pages/commands/connect/envoy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ proxy configuration needed.
allowed to access by [Connect intentions](/docs/connect/intentions).

- `-envoy-version` - The version of envoy that is being started. Default is
`1.15.0`. This is required so that the correct configuration can be generated.
`1.16.0`. This is required so that the correct configuration can be generated.

- `-no-central-config` - By default the proxy's bootstrap configuration can be
customized centrally. This requires that the command run on the same agent
Expand Down
Loading

0 comments on commit a2c50d3

Please sign in to comment.