Skip to content

Commit 424d472

Browse files
author
github-actions
committedDec 19, 2024
Merge tag '1.22.7' into tetrate-release-1.22
Istio release 1.22.7
2 parents 1a8764e + 4c10d78 commit 424d472

File tree

11 files changed

+69
-13
lines changed

11 files changed

+69
-13
lines changed
 

‎.devcontainer/devcontainer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "istio build-tools",
3-
"image": "gcr.io/istio-testing/build-tools:release-1.22-02098ccc0766fde1c577cf9f9258fb43a08ec8c8",
3+
"image": "gcr.io/istio-testing/build-tools:release-1.22-70caecf3832f7f72fccfc9aaa536acb3a69bdc6a",
44
"privileged": true,
55
"remoteEnv": {
66
"USE_GKE_GCLOUD_AUTH_PLUGIN": "True",

‎Makefile.core.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ endif
4949
export VERSION
5050

5151
# Base version of Istio image to use
52-
BASE_VERSION ?= 1.22-2024-09-17T19-00-54
52+
BASE_VERSION ?= 1.22-2024-11-26T19-01-41
5353
ISTIO_BASE_REGISTRY ?= gcr.io/istio-release
5454

5555
export GO111MODULE ?= on

‎common/.commonfiles.sha

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2f988bb7f975a3426624f4d9e92ea26d542b1b6f
1+
2c0d7e2143bb1e1f698b4ec4c2d586340a8d21b9

‎common/scripts/setup_env.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ fi
7575
TOOLS_REGISTRY_PROVIDER=${TOOLS_REGISTRY_PROVIDER:-gcr.io}
7676
PROJECT_ID=${PROJECT_ID:-istio-testing}
7777
if [[ "${IMAGE_VERSION:-}" == "" ]]; then
78-
IMAGE_VERSION=release-1.22-02098ccc0766fde1c577cf9f9258fb43a08ec8c8
78+
IMAGE_VERSION=release-1.22-70caecf3832f7f72fccfc9aaa536acb3a69bdc6a
7979
fi
8080
if [[ "${IMAGE_NAME:-}" == "" ]]; then
8181
IMAGE_NAME=build-tools

‎go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ require (
106106
gopkg.in/yaml.v2 v2.4.0
107107
gopkg.in/yaml.v3 v3.0.1
108108
helm.sh/helm/v3 v3.14.3
109-
istio.io/api v1.22.4-0.20240808015337-e0ff1ca45c33
110-
istio.io/client-go v1.22.4-0.20240808020015-3d90011dbcfe
109+
istio.io/api v1.22.7-0.20241205190107-5d7b98128323
110+
istio.io/client-go v1.22.7-0.20241205190906-f1b3ac5102a8
111111
k8s.io/api v0.30.0
112112
k8s.io/apiextensions-apiserver v0.30.0
113113
k8s.io/apimachinery v0.30.0

‎go.sum

+4-4
Original file line numberDiff line numberDiff line change
@@ -1102,10 +1102,10 @@ helm.sh/helm/v3 v3.14.3/go.mod h1:v6myVbyseSBJTzhmeE39UcPLNv6cQK6qss3dvgAySaE=
11021102
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
11031103
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
11041104
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1105-
istio.io/api v1.22.4-0.20240808015337-e0ff1ca45c33 h1:/IeYCiL05FL8ZxndwibKznhLsrZRDH0xaHwsk/roU7I=
1106-
istio.io/api v1.22.4-0.20240808015337-e0ff1ca45c33/go.mod h1:S3l8LWqNYS9yT+d4bH+jqzH2lMencPkW7SKM1Cu9EyM=
1107-
istio.io/client-go v1.22.4-0.20240808020015-3d90011dbcfe h1:8E+07PR3a1LypFLxNksDYcTwyMPB06797cavwK5zWds=
1108-
istio.io/client-go v1.22.4-0.20240808020015-3d90011dbcfe/go.mod h1:pCCBfkXZVAxptGlL5gdGIonPxFsNQZ+iBxvYIUF9z7c=
1105+
istio.io/api v1.22.7-0.20241205190107-5d7b98128323 h1:Rxuq0NqDMqBsfagJzNV5Ts+tQ2QE6isnoUYKARA3YI4=
1106+
istio.io/api v1.22.7-0.20241205190107-5d7b98128323/go.mod h1:S3l8LWqNYS9yT+d4bH+jqzH2lMencPkW7SKM1Cu9EyM=
1107+
istio.io/client-go v1.22.7-0.20241205190906-f1b3ac5102a8 h1:z2yB/AZIE1ND+gjlfoMuhFslRE2DI3nvVLPoLTlSBNc=
1108+
istio.io/client-go v1.22.7-0.20241205190906-f1b3ac5102a8/go.mod h1:noO8SoyMxLwni3w+yGK67aydi2klExjmiqnXyeRS/00=
11091109
k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78=
11101110
k8s.io/api v0.18.4/go.mod h1:lOIQAKYgai1+vz9J7YcDZwC26Z0zQewYOGWdyIPUUQ4=
11111111
k8s.io/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA=

‎istio.deps

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"name": "PROXY_REPO_SHA",
55
"repoName": "proxy",
66
"file": "",
7-
"lastStableSHA": "59080172cb101a90727fb6fbf829bf514d63cb53"
7+
"lastStableSHA": "d17e607ff67ff7b6eccbf396d370d7a2c53a5238"
88
},
99
{
1010
"_comment": "",
1111
"name": "ZTUNNEL_REPO_SHA",
1212
"repoName": "ztunnel",
1313
"file": "",
14-
"lastStableSHA": "2eaa669fecf8505c9abb9676b64ff6a50f124a37"
14+
"lastStableSHA": "2a6c8147207af15724336c0b6191149f6d1a8ca9"
1515
}
1616
]

‎pilot/pkg/networking/core/cluster_builder_test.go

+12
Original file line numberDiff line numberDiff line change
@@ -2090,6 +2090,18 @@ func TestShouldH2Upgrade(t *testing.T) {
20902090
},
20912091
upgrade: false,
20922092
},
2093+
{
2094+
name: "mesh upgrade - dr useClientProtocol",
2095+
clusterName: "bar",
2096+
port: &model.Port{Protocol: protocol.HTTP},
2097+
mesh: &meshconfig.MeshConfig{H2UpgradePolicy: meshconfig.MeshConfig_UPGRADE},
2098+
connectionPool: &networking.ConnectionPoolSettings{
2099+
Http: &networking.ConnectionPoolSettings_HTTPSettings{
2100+
UseClientProtocol: true,
2101+
},
2102+
},
2103+
upgrade: false,
2104+
},
20932105
{
20942106
name: "non-http",
20952107
clusterName: "bar",

‎pilot/pkg/networking/core/cluster_traffic_policy.go

+6
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ func shouldH2Upgrade(clusterName string, port *model.Port, mesh *meshconfig.Mesh
195195
// Upgrade if tls.GetMode() == networking.TLSSettings_ISTIO_MUTUAL
196196
if connectionPool != nil && connectionPool.Http != nil {
197197
override := connectionPool.Http.H2UpgradePolicy
198+
// If useClientProtocol is set, do not upgrade
199+
if connectionPool.Http.UseClientProtocol {
200+
log.Debugf("Not upgrading cluster because useClientProtocol is set: %v (%v %v)",
201+
clusterName, mesh.H2UpgradePolicy, override)
202+
return false
203+
}
198204
// If user wants an upgrade at destination rule/port level that means he is sure that
199205
// it is a Http port - upgrade in such case. This is useful incase protocol sniffing is
200206
// enabled and user wants to upgrade/preserve http protocol from client.

‎pilot/pkg/networking/core/route/route.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,12 @@ func ApplyRedirect(out *route.Route, redirect *networking.HTTPRedirect, port int
781781
action.Redirect.ResponseCode = route.RedirectAction_PERMANENT_REDIRECT
782782
default:
783783
log.Warnf("Redirect Code %d is not yet supported", redirect.RedirectCode)
784-
action = nil
784+
// Can't just set action to nil here because the proto marshaller will still see
785+
// the Route_Redirect type of the variable and assume that the value is set
786+
// (and panic because it's not). What we need to do is set out.Action directly to
787+
// (a typeless) nil so that type assertions to Route_Redirect will fail.
788+
out.Action = nil
789+
return
785790
}
786791

787792
out.Action = action

‎pilot/pkg/networking/core/route/route_test.go

+33
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,19 @@ func TestBuildHTTPRoutes(t *testing.T) {
943943
g.Expect(redirectAction.Redirect.ResponseCode).To(Equal(envoyroute.RedirectAction_PERMANENT_REDIRECT))
944944
})
945945

946+
t.Run("for invalid redirect code", func(t *testing.T) {
947+
g := NewWithT(t)
948+
cg := core.NewConfigGenTest(t, core.TestOptions{})
949+
950+
routes, err := route.BuildHTTPRoutesForVirtualService(node(cg), virtualServiceWithInvalidRedirect, serviceRegistry,
951+
nil, 8080, gatewayNames, route.RouteOptions{})
952+
g.Expect(err).NotTo(HaveOccurred())
953+
g.Expect(len(routes)).To(Equal(1))
954+
955+
_, ok := routes[0].Action.(*envoyroute.Route_Redirect)
956+
g.Expect(ok).To(BeFalse())
957+
})
958+
946959
t.Run("for path prefix redirect", func(t *testing.T) {
947960
g := NewWithT(t)
948961
cg := core.NewConfigGenTest(t, core.TestOptions{})
@@ -1872,6 +1885,26 @@ var virtualServiceWithRedirect = config.Config{
18721885
},
18731886
}
18741887

1888+
var virtualServiceWithInvalidRedirect = config.Config{
1889+
Meta: config.Meta{
1890+
GroupVersionKind: gvk.VirtualService,
1891+
Name: "acme",
1892+
},
1893+
Spec: &networking.VirtualService{
1894+
Hosts: []string{},
1895+
Gateways: []string{"some-gateway"},
1896+
Http: []*networking.HTTPRoute{
1897+
{
1898+
Redirect: &networking.HTTPRedirect{
1899+
Uri: "example.org",
1900+
Authority: "some-authority.default.svc.cluster.local",
1901+
RedirectCode: 317,
1902+
},
1903+
},
1904+
},
1905+
},
1906+
}
1907+
18751908
var virtualServiceWithRedirectPathPrefix = config.Config{
18761909
Meta: config.Meta{
18771910
GroupVersionKind: gvk.VirtualService,

0 commit comments

Comments
 (0)