diff --git a/cmd/activator/main.go b/cmd/activator/main.go index 69e80f03682a..891a375a9553 100644 --- a/cmd/activator/main.go +++ b/cmd/activator/main.go @@ -143,11 +143,6 @@ func (a *activationHandler) handler(w http.ResponseWriter, r *http.Request) { proxy.Transport = retryRoundTripper{ logger: a.logger, } - - // TODO: Clear the host to avoid 404's. - // https://github.com/knative/serving/issues/964 - r.Host = "" - proxy.ServeHTTP(w, r) } diff --git a/pkg/controller/route/resources/virtual_service.go b/pkg/controller/route/resources/virtual_service.go index 937027b216dc..7724602de805 100644 --- a/pkg/controller/route/resources/virtual_service.go +++ b/pkg/controller/route/resources/virtual_service.go @@ -35,19 +35,6 @@ const ( PortNumber = 80 PortName = "http" - // There is a bug in Istio 0.8 preventing the timeout to - // be set more than 15 seconds. The bug is now fixed at HEAD, - // but not yet released. 15 seconds is too short for our 0->1 - // use case (see https://github.com/knative/serving/issues/1297). - // - // HACK: This applies the workaround suggested in - // https://github.com/istio/istio/issues/6230 - // to allow setting a longer timeout than 15s. - // - // TODO: Remove hack when Istio 1.0 is out. - IstioTimeoutHackHeaderKey = "x-envoy-upstream-rq-timeout-ms" - IstioTimeoutHackHeaderValue = "0" - DefaultRouteTimeout = "60s" ) @@ -143,9 +130,6 @@ func makeVirtualServiceRoute(domains []string, ns string, targets []traffic.Revi Match: matches, Route: weights, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, } // Add traffic rules for activator. return addActivatorRoutes(&route, ns, inactive) @@ -193,8 +177,10 @@ func addActivatorRoutes(r *v1alpha3.HTTPRoute, ns string, inactive []traffic.Rev }, Weight: totalInactivePercent, }) - r.AppendHeaders[controller.GetRevisionHeaderName()] = maxInactiveTarget.RevisionName - r.AppendHeaders[controller.GetRevisionHeaderNamespace()] = ns + r.AppendHeaders = map[string]string{ + controller.GetRevisionHeaderName(): maxInactiveTarget.RevisionName, + controller.GetRevisionHeaderNamespace(): ns, + } return r } diff --git a/pkg/controller/route/resources/virtual_service_test.go b/pkg/controller/route/resources/virtual_service_test.go index 5cc0f5651233..9f148bbdab0d 100644 --- a/pkg/controller/route/resources/virtual_service_test.go +++ b/pkg/controller/route/resources/virtual_service_test.go @@ -123,9 +123,6 @@ func TestMakeVirtualServiceSpec_CorrectRoutes(t *testing.T) { Weight: 100, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, }, { Match: []v1alpha3.HTTPMatchRequest{{ Authority: &v1alpha3.StringMatch{Exact: "v1.domain.com"}, @@ -138,9 +135,6 @@ func TestMakeVirtualServiceSpec_CorrectRoutes(t *testing.T) { Weight: 100, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, }} routes := MakeVirtualService(r, &traffic.TrafficConfig{Targets: targets}).Spec.Http if diff := cmp.Diff(expected, routes); diff != "" { @@ -214,9 +208,6 @@ func TestMakeVirtualServiceRoute_Vanilla(t *testing.T) { Weight: 100, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, } if diff := cmp.Diff(&expected, route); diff != "" { t.Errorf("Unexpected route (-want +got): %v", diff) @@ -254,9 +245,6 @@ func TestMakeVirtualServiceRoute_ZeroPercentTarget(t *testing.T) { Weight: 100, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, } if diff := cmp.Diff(&expected, route); diff != "" { t.Errorf("Unexpected route (-want +got): %v", diff) @@ -301,9 +289,6 @@ func TestMakeVirtualServiceRoute_TwoTargets(t *testing.T) { Weight: 10, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, } if diff := cmp.Diff(&expected, route); diff != "" { t.Errorf("Unexpected route (-want +got): %v", diff) @@ -339,7 +324,6 @@ func TestMakeVirtualServiceRoute_VanillaScaledToZero(t *testing.T) { AppendHeaders: map[string]string{ "knative-serving-revision": "revision", "knative-serving-namespace": "test-ns", - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, }, Timeout: DefaultRouteTimeout, } @@ -382,7 +366,6 @@ func TestMakeVirtualServiceRoute_TwoInactiveTargets(t *testing.T) { AppendHeaders: map[string]string{ "knative-serving-revision": "revision", "knative-serving-namespace": "test-ns", - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, }, Timeout: DefaultRouteTimeout, } @@ -423,9 +406,6 @@ func TestMakeVirtualServiceRoute_ZeroPercentNamedTargetScaledToZero(t *testing.T Weight: 100, }}, Timeout: DefaultRouteTimeout, - AppendHeaders: map[string]string{ - IstioTimeoutHackHeaderKey: IstioTimeoutHackHeaderValue, - }, } if diff := cmp.Diff(&expected, route); diff != "" { t.Errorf("Unexpected route (-want +got): %v", diff) diff --git a/pkg/controller/route/route_test.go b/pkg/controller/route/route_test.go index 0079e3b44890..d34bab42a4f1 100644 --- a/pkg/controller/route/route_test.go +++ b/pkg/controller/route/route_test.go @@ -315,9 +315,8 @@ func TestCreateRouteForOneReserveRevision(t *testing.T) { }}, Route: []v1alpha3.DestinationWeight{getActivatorDestinationWeight(100)}, AppendHeaders: map[string]string{ - ctrl.GetRevisionHeaderName(): "test-rev", - ctrl.GetRevisionHeaderNamespace(): testNamespace, - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, + ctrl.GetRevisionHeaderName(): "test-rev", + ctrl.GetRevisionHeaderNamespace(): testNamespace, }, Timeout: resources.DefaultRouteTimeout, }}, @@ -407,9 +406,6 @@ func TestCreateRouteWithMultipleTargets(t *testing.T) { Weight: 10, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }}, } if diff := cmp.Diff(expectedSpec, vs.Spec); diff != "" { @@ -493,9 +489,8 @@ func TestCreateRouteWithOneTargetReserve(t *testing.T) { Weight: 90, }, getActivatorDestinationWeight(10)}, AppendHeaders: map[string]string{ - ctrl.GetRevisionHeaderName(): "test-rev", - ctrl.GetRevisionHeaderNamespace(): testNamespace, - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, + ctrl.GetRevisionHeaderName(): "test-rev", + ctrl.GetRevisionHeaderNamespace(): testNamespace, }, Timeout: resources.DefaultRouteTimeout, }}, @@ -600,9 +595,6 @@ func TestCreateRouteWithDuplicateTargets(t *testing.T) { Weight: 50, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }, { Match: []v1alpha3.HTTPMatchRequest{{Authority: &v1alpha3.StringMatch{Exact: "test-revision-1." + domain}}}, Route: []v1alpha3.DestinationWeight{{ @@ -613,9 +605,6 @@ func TestCreateRouteWithDuplicateTargets(t *testing.T) { Weight: 100, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }, { Match: []v1alpha3.HTTPMatchRequest{{Authority: &v1alpha3.StringMatch{Exact: "test-revision-2." + domain}}}, Route: []v1alpha3.DestinationWeight{{ @@ -626,9 +615,6 @@ func TestCreateRouteWithDuplicateTargets(t *testing.T) { Weight: 100, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }}, } if diff := cmp.Diff(expectedSpec, vs.Spec); diff != "" { @@ -716,9 +702,6 @@ func TestCreateRouteWithNamedTargets(t *testing.T) { Weight: 50, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }, { Match: []v1alpha3.HTTPMatchRequest{{Authority: &v1alpha3.StringMatch{Exact: "bar." + domain}}}, Route: []v1alpha3.DestinationWeight{{ @@ -729,9 +712,6 @@ func TestCreateRouteWithNamedTargets(t *testing.T) { Weight: 100, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }, { Match: []v1alpha3.HTTPMatchRequest{{Authority: &v1alpha3.StringMatch{Exact: "foo." + domain}}}, Route: []v1alpha3.DestinationWeight{{ @@ -742,9 +722,6 @@ func TestCreateRouteWithNamedTargets(t *testing.T) { Weight: 100, }}, Timeout: resources.DefaultRouteTimeout, - AppendHeaders: map[string]string{ - resources.IstioTimeoutHackHeaderKey: resources.IstioTimeoutHackHeaderValue, - }, }}, } if diff := cmp.Diff(expectedSpec, vs.Spec); diff != "" {