Repository: knative/serving
Pull request #10640 (2021-01-28 02:05:05)

Rename back to the non deprecated name

in case someone uses this field, so we don't break them (we don't think anyone uses really)

/assign @dprotaso @tcnghia 

knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative/serving/pull/10640#" title="Author self-approved">vagababov</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative%2Fserving).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[pkg/apis/OWNERS](https://github.com/knative/serving/blob/master/pkg/apis/OWNERS)~~ [vagababov]
- ~~[pkg/reconciler/OWNERS](https://github.com/knative/serving/blob/master/pkg/reconciler/OWNERS)~~ [vagababov]
- ~~[pkg/testing/OWNERS](https://github.com/knative/serving/blob/master/pkg/testing/OWNERS)~~ [vagababov]
- ~~[test/OWNERS](https://github.com/knative/serving/blob/master/test/OWNERS)~~ [vagababov]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
codecov[bot]: # [Codecov](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=h1) Report
> Merging [#10640](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=desc) (a910160) into [master](https://codecov.io/gh/knative/serving/commit/e5c5c08cc5b472c7a7787cbde5e9a4272bba62a8?el=desc) (e5c5c08) will **increase** coverage by `0.10%`.
> The diff coverage is `100.00%`.

[![Impacted file tree graph](https://codecov.io/gh/knative/serving/pull/10640/graphs/tree.svg?width=650&height=150&src=pr&token=MPpDfAj4Ui)](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #10640      +/-   ##
==========================================
+ Coverage   88.06%   88.16%   +0.10%     
==========================================
  Files         186      186              
  Lines        8890     8890              
==========================================
+ Hits         7829     7838       +9     
+ Misses        817      811       -6     
+ Partials      244      241       -3     
```


| [Impacted Files](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pkg/apis/serving/v1/revision\_types.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL2FwaXMvc2VydmluZy92MS9yZXZpc2lvbl90eXBlcy5nbw==) | `100.00% <ø> (ø)` | |
| [pkg/reconciler/revision/reconcile\_resources.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL3JlY29uY2lsZXIvcmV2aXNpb24vcmVjb25jaWxlX3Jlc291cmNlcy5nbw==) | `80.95% <100.00%> (ø)` | |
| [pkg/reconciler/route/traffic/traffic.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL3JlY29uY2lsZXIvcm91dGUvdHJhZmZpYy90cmFmZmljLmdv) | `93.06% <100.00%> (ø)` | |
| [pkg/activator/net/revision\_backends.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL2FjdGl2YXRvci9uZXQvcmV2aXNpb25fYmFja2VuZHMuZ28=) | `91.32% <0.00%> (+0.91%)` | :arrow_up: |
| [pkg/reconciler/autoscaling/kpa/scaler.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL3JlY29uY2lsZXIvYXV0b3NjYWxpbmcva3BhL3NjYWxlci5nbw==) | `90.00% <0.00%> (+1.42%)` | :arrow_up: |
| [pkg/autoscaler/statforwarder/processor.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL2F1dG9zY2FsZXIvc3RhdGZvcndhcmRlci9wcm9jZXNzb3IuZ28=) | `94.44% <0.00%> (+5.55%)` | :arrow_up: |
| [pkg/autoscaler/statforwarder/forwarder.go](https://codecov.io/gh/knative/serving/pull/10640/diff?src=pr&el=tree#diff-cGtnL2F1dG9zY2FsZXIvc3RhdGZvcndhcmRlci9mb3J3YXJkZXIuZ28=) | `96.29% <0.00%> (+5.55%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=footer). Last update [e5c5c08...39cc0cf](https://codecov.io/gh/knative/serving/pull/10640?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Patch:
diff --git a/config/core/deployments/activator-hpa.yaml b/config/core/deployments/activator-hpa.yaml
index 7bed6afde..1fdb94573 100644
--- a/config/core/deployments/activator-hpa.yaml
+++ b/config/core/deployments/activator-hpa.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: autoscaling/v2beta1
+apiVersion: autoscaling/v2beta2
 kind: HorizontalPodAutoscaler
 metadata:
   name: activator
@@ -27,15 +27,14 @@ spec:
     kind: Deployment
     name: activator
   metrics:
-    - type: Resource
-      resource:
-        name: cpu
+  - type: Resource
+    resource:
+      name: cpu
+      target:
+        type: Utilization
         # Percentage of the requested CPU
-        targetAverageUtilization: 100
-
-
+        averageUtilization: 100
 ---
-
 # Activator PDB. Currently we permit unavailability of 20% of tasks at the same time.
 # Given the subsetting and that the activators are partially stateful systems, we want
 # a slow rollout of the new versions and slow migration during node upgrades.
diff --git a/config/core/deployments/webhook-hpa.yaml b/config/core/deployments/webhook-hpa.yaml
index 17bc17843..f0393bf63 100644
--- a/config/core/deployments/webhook-hpa.yaml
+++ b/config/core/deployments/webhook-hpa.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: autoscaling/v2beta1
+apiVersion: autoscaling/v2beta2
 kind: HorizontalPodAutoscaler
 metadata:
   name: webhook
@@ -27,15 +27,14 @@ spec:
     kind: Deployment
     name: webhook
   metrics:
-    - type: Resource
-      resource:
-        name: cpu
+  - type: Resource
+    resource:
+      name: cpu
+      target:
+        type: Utilization
         # Percentage of the requested CPU
-        targetAverageUtilization: 100
-
-
+        averageUtilization: 100
 ---
-
 # Webhook PDB.
 apiVersion: policy/v1beta1
 kind: PodDisruptionBudget
diff --git a/pkg/apis/serving/v1/revision_types.go b/pkg/apis/serving/v1/revision_types.go
index d3d5ab5b4..32ac6180a 100644
--- a/pkg/apis/serving/v1/revision_types.go
+++ b/pkg/apis/serving/v1/revision_types.go
@@ -122,14 +122,14 @@ func IsRevisionCondition(t apis.ConditionType) bool {
 type RevisionStatus struct {
 	duckv1.Status `json:",inline"`
 
-	// DeprecatedServiceName holds the name of a core Kubernetes Service resource that
+	// ServiceName holds the name of a core Kubernetes Service resource that
 	// load balances over the pods backing this Revision.
-	// DEPRECATED: revision service name is effectively equal to the revision name,
+	// Deprecated: revision service name is effectively equal to the revision name,
 	// as per #10540.
 	// 0.23 — stop populating
 	// 0.25 — remove.
 	// +optional
-	DeprecatedServiceName string `json:"serviceName,omitempty"`
+	ServiceName string `json:"serviceName,omitempty"`
 
 	// LogURL specifies the generated logging url for this particular revision
 	// based on the revision url template specified in the controller's config.
diff --git a/pkg/reconciler/revision/reconcile_resources.go b/pkg/reconciler/revision/reconcile_resources.go
index 233d8b75e..8f7e1ed2e 100644
--- a/pkg/reconciler/revision/reconcile_resources.go
+++ b/pkg/reconciler/revision/reconcile_resources.go
@@ -174,7 +174,7 @@ func (c *Reconciler) reconcilePA(ctx context.Context, rev *v1.Revision) error {
 
 	// The public service name is always equal to the revision name itself.
 	// Historically it's been acquired from the PA object, so the assignment is here.
-	rev.Status.DeprecatedServiceName = rev.Name
+	rev.Status.ServiceName = rev.Name
 
 	logger.Debugf("Observed PA Status=%#v", pa.Status)
 	rev.Status.PropagateAutoscalerStatus(&pa.Status)
diff --git a/pkg/reconciler/route/traffic/traffic.go b/pkg/reconciler/route/traffic/traffic.go
index c9596e117..3582150c4 100644
--- a/pkg/reconciler/route/traffic/traffic.go
+++ b/pkg/reconciler/route/traffic/traffic.go
@@ -364,7 +364,7 @@ func (cb *configBuilder) addConfigurationTarget(tt *v1.TrafficTarget) error {
 	target := RevisionTarget{
 		TrafficTarget: *ntt,
 		Protocol:      rev.GetProtocol(),
-		ServiceName:   rev.Status.DeprecatedServiceName,
+		ServiceName:   rev.Name,
 	}
 	target.TrafficTarget.RevisionName = rev.Name
 	cb.addFlattenedTarget(target)
@@ -383,7 +383,7 @@ func (cb *configBuilder) addRevisionTarget(tt *v1.TrafficTarget) error {
 	target := RevisionTarget{
 		TrafficTarget: *ntt,
 		Protocol:      rev.GetProtocol(),
-		ServiceName:   rev.Status.DeprecatedServiceName,
+		ServiceName:   rev.Name,
 	}
 	if configName, ok := rev.Labels[serving.ConfigurationLabelKey]; ok {
 		target.TrafficTarget.ConfigurationName = configName


Test patch:
diff --git a/pkg/reconciler/route/route_test.go b/pkg/reconciler/route/route_test.go
index 566b5de21..fe129e3df 100644
--- a/pkg/reconciler/route/route_test.go
+++ b/pkg/reconciler/route/route_test.go
@@ -225,7 +225,7 @@ func TestCreateRouteForOneReserveRevision(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 100,
@@ -246,7 +246,7 @@ func TestCreateRouteForOneReserveRevision(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 100,
@@ -353,7 +353,7 @@ func TestCreateRouteWithMultipleTargets(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      cfgrev.Status.DeprecatedServiceName,
+							ServiceName:      cfgrev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 90,
@@ -364,7 +364,7 @@ func TestCreateRouteWithMultipleTargets(t *testing.T) {
 					}, {
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 10,
@@ -385,7 +385,7 @@ func TestCreateRouteWithMultipleTargets(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      cfgrev.Status.DeprecatedServiceName,
+							ServiceName:      cfgrev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 90,
@@ -396,7 +396,7 @@ func TestCreateRouteWithMultipleTargets(t *testing.T) {
 					}, {
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 10,
@@ -470,7 +470,7 @@ func TestCreateRouteWithOneTargetReserve(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      cfgrev.Status.DeprecatedServiceName,
+							ServiceName:      cfgrev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 90,
@@ -481,7 +481,7 @@ func TestCreateRouteWithOneTargetReserve(t *testing.T) {
 					}, {
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 10,
@@ -502,7 +502,7 @@ func TestCreateRouteWithOneTargetReserve(t *testing.T) {
 					Splits: []v1alpha1.IngressBackendSplit{{
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      cfgrev.Status.DeprecatedServiceName,
+							ServiceName:      cfgrev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 90,
@@ -513,7 +513,7 @@ func TestCreateRouteWithOneTargetReserve(t *testing.T) {
 					}, {
 						IngressBackend: v1alpha1.IngressBackend{
 							ServiceNamespace: testNamespace,
-							ServiceName:      rev.Status.DeprecatedServiceName,
+							ServiceName:      rev.Name,
 							ServicePort:      intstr.FromInt(80),
 						},
 						Percent: 10,
diff --git a/pkg/reconciler/route/table_test.go b/pkg/reconciler/route/table_test.go
index becf69d37..530e7dd25 100644
--- a/pkg/reconciler/route/table_test.go
+++ b/pkg/reconciler/route/table_test.go
@@ -138,7 +138,7 @@ func TestReconcile(t *testing.T) {
 			cfg("default", "ing-unknown",
 				WithConfigGeneration(1), WithLatestCreated("ing-unknown-00001"),
 				WithLatestReady("ing-unknown-00001")),
-			rev("default", "ing-unknown", 1, MarkRevisionReady, WithRevName("ing-unknown-00001"), WithServiceName("mcd")),
+			rev("default", "ing-unknown", 1, MarkRevisionReady, WithRevName("ing-unknown-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			simpleIngress(
@@ -153,7 +153,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								RevisionName:      "ing-unknown-00001",
 							},
-							ServiceName: "mcd",
+							ServiceName: "ing-unknown-00001",
 						}},
 					},
 				},
@@ -187,7 +187,7 @@ func TestReconcile(t *testing.T) {
 			Route("default", "ingress-failed", WithConfigTarget("config"), WithRouteUID("12-34"), WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleIngress(
 				Route("default", "ingress-failed", WithConfigTarget("config"), WithURL,
 					WithRouteUID("12-34")),
@@ -200,7 +200,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				}, WithLoadbalancerFailed("TestFailure", "failure"),
@@ -208,8 +208,7 @@ func TestReconcile(t *testing.T) {
 			simplePlaceholderK8sService(
 				getContext(),
 				Route("default", "ingress-failed", WithConfigTarget("config"), WithRouteUID("12-34")),
-				"",
-			),
+				"" /*targetName*/),
 		},
 		WantStatusUpdates: []clientgotesting.UpdateActionImpl{{
 			Object: Route("default", "ingress-failed", WithConfigTarget("config"),
@@ -236,7 +235,7 @@ func TestReconcile(t *testing.T) {
 				WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("bk")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			ingressWithClass(
@@ -250,7 +249,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "bk",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -260,8 +259,7 @@ func TestReconcile(t *testing.T) {
 				getContext(),
 				Route("default", "becomes-ready",
 					WithConfigTarget("config"), WithRouteUID("12-34"), WithIngressClass("custom-ingress-class")),
-				"",
-			),
+				"" /*targetName*/),
 		},
 		WantStatusUpdates: []clientgotesting.UpdateActionImpl{{
 			Object: Route("default", "becomes-ready", WithConfigTarget("config"),
@@ -289,7 +287,7 @@ func TestReconcile(t *testing.T) {
 				WithRouteUID("65-23"), WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("tb")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			simpleIngress(
@@ -305,7 +303,7 @@ func TestReconcile(t *testing.T) {
 								LatestRevision:    ptr.Bool(true),
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 					Visibility: map[string]netv1alpha1.IngressVisibility{
@@ -357,6 +355,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -493,7 +492,7 @@ func TestReconcile(t *testing.T) {
 				WithRouteGeneration(2009), MarkInRollout),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "becomes-ready", WithConfigTarget("config"), WithURL),
 				&traffic.Config{
@@ -505,6 +504,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -537,6 +537,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				}),
@@ -612,7 +613,7 @@ func TestReconcile(t *testing.T) {
 			Route("default", "ingress-create-failure", WithConfigTarget("config"), WithRouteFinalizer, WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("astrid")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 		},
 		// We induce a failure creating the Ingress.
 		WantErr: true,
@@ -633,7 +634,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "astrid",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -693,6 +694,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -757,7 +759,7 @@ func TestReconcile(t *testing.T) {
 				// The Route controller attaches our label to this Configuration.
 				WithConfigLabel("serving.knative.dev/route", "different-domain"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("my-service")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "different-domain", WithConfigTarget("config"),
 					WithAnotherDomain),
@@ -770,7 +772,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "my-service",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -790,14 +792,11 @@ func TestReconcile(t *testing.T) {
 								LatestRevision:    ptr.Bool(true),
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "my-service",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
-				WithHosts(
-					1,
-					"different-domain.default.another-example.com",
-				),
+				WithHosts(1, "different-domain.default.another-example.com"),
 			),
 		}},
 		Key: "default/different-domain",
@@ -816,7 +815,7 @@ func TestReconcile(t *testing.T) {
 				WithConfigGeneration(2), WithLatestReady("config-00001"), WithLatestCreated("config-00002"),
 				WithConfigLabel("serving.knative.dev/route", "new-latest-created"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("daisy")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// This is the name of the new revision we're referencing above.
 			rev("default", "config", 2, WithInitRevConditions, WithRevName("config-00002")),
 			simpleReadyIngress(
@@ -830,7 +829,7 @@ func TestReconcile(t *testing.T) {
 								LatestRevision:    ptr.Bool(true),
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "daisy",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -855,9 +854,9 @@ func TestReconcile(t *testing.T) {
 				// The Route controller attaches our label to this Configuration.
 				WithConfigLabel("serving.knative.dev/route", "new-latest-ready"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("magnolia")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// This is the name of the new revision we're referencing above.
-			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithServiceName("belltown")),
+			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "new-latest-ready", WithConfigTarget("config"), WithURL),
 				&traffic.Config{
@@ -869,7 +868,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "magnolia",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -890,7 +889,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName: "config-00002",
 								Percent:      ptr.Int64(100),
 							},
-							ServiceName: "belltown",
+							ServiceName: "config-00002",
 						}},
 					},
 				},
@@ -943,9 +942,9 @@ func TestReconcile(t *testing.T) {
 				// The Route controller attaches our label to this Configuration.
 				WithConfigLabel("serving.knative.dev/route", "new-latest-ready"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("magnolia")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// This is the name of the new revision we're referencing above.
-			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithServiceName("belltown")),
+			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "new-latest-ready", WithConfigTarget("config"), WithURL),
 				&traffic.Config{
@@ -957,7 +956,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "magnolia",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -978,7 +977,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName: "config-00002",
 								Percent:      ptr.Int64(100),
 							},
-							ServiceName: "belltown",
+							ServiceName: "config-00002",
 						}},
 					},
 				}),
@@ -1002,7 +1001,7 @@ func TestReconcile(t *testing.T) {
 				WithRouteUID("65-23")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("tb")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleIngress(
 				Route("default", "becomes-local", WithConfigTarget("config"), WithRouteUID("65-23")),
 				&traffic.Config{
@@ -1014,7 +1013,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1037,7 +1036,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 					Visibility: map[string]netv1alpha1.IngressVisibility{
@@ -1067,7 +1066,7 @@ func TestReconcile(t *testing.T) {
 				WithRouteUID("65-23"), WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("tb")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleIngress(
 				Route("default", "becomes-public", WithConfigTarget("config"), WithRouteUID("65-23"),
 					WithRouteLabel(map[string]string{network.VisibilityLabelKey: "cluster-local"})),
@@ -1080,7 +1079,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 					Visibility: map[string]netv1alpha1.IngressVisibility{
@@ -1104,7 +1103,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1143,9 +1142,9 @@ func TestReconcile(t *testing.T) {
 				// The Route controller attaches our label to this Configuration.
 				WithConfigLabel("serving.knative.dev/route", "update-ci-failure"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("fremont")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// This is the name of the new revision we're referencing above.
-			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithServiceName("wallingford")),
+			rev("default", "config", 2, MarkRevisionReady, WithRevName("config-00002"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "update-ci-failure", WithConfigTarget("config"), WithURL),
 				&traffic.Config{
@@ -1157,7 +1156,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "fremont",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1177,7 +1176,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName: "config-00002",
 								Percent:      ptr.Int64(100),
 							},
-							ServiceName: "wallingford",
+							ServiceName: "config-00002",
 						}},
 					},
 				}),
@@ -1224,6 +1223,7 @@ func TestReconcile(t *testing.T) {
 								LatestRevision:    ptr.Bool(true),
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1268,6 +1268,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1313,6 +1314,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1353,6 +1355,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1380,7 +1383,7 @@ func TestReconcile(t *testing.T) {
 				// The Route controller attaches our label to this Configuration.
 				WithConfigLabel("serving.knative.dev/route", "ingress-mutation"),
 			),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("windermere")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			mutateIngress(simpleReadyIngress(
 				Route("default", "ingress-mutation", WithConfigTarget("config"), WithURL),
 				&traffic.Config{
@@ -1390,7 +1393,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName: "config-00001",
 								Percent:      ptr.Int64(100),
 							},
-							ServiceName: "magnusson-park",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1409,7 +1412,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "windermere",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1482,6 +1485,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName: "config-00001",
 								Percent:      ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1515,8 +1519,8 @@ func TestReconcile(t *testing.T) {
 				WithConfigGeneration(1), WithLatestCreated("blue-00001"), WithLatestReady("blue-00001")),
 			cfg("default", "green",
 				WithConfigGeneration(1), WithLatestCreated("green-00001"), WithLatestReady("green-00001")),
-			rev("default", "blue", 1, MarkRevisionReady, WithRevName("blue-00001"), WithServiceName("blue-ridge")),
-			rev("default", "green", 1, MarkRevisionReady, WithRevName("green-00001"), WithServiceName("green-lake")),
+			rev("default", "blue", 1, MarkRevisionReady, WithRevName("blue-00001"), WithK8sServiceName),
+			rev("default", "green", 1, MarkRevisionReady, WithRevName("green-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			simpleIngress(
@@ -1537,7 +1541,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(50),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "blue-ridge",
+							ServiceName: "blue-00001",
 						}, {
 							TrafficTarget: v1.TrafficTarget{
 								ConfigurationName: "green",
@@ -1545,7 +1549,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(50),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "green-lake",
+							ServiceName: "green-00001",
 						}},
 					},
 				},
@@ -1609,7 +1613,7 @@ func TestReconcile(t *testing.T) {
 			cfg("default", "gray",
 				WithConfigGeneration(1), WithLatestCreated("gray-00001"), WithLatestReady("gray-00001")),
 			rev("default", "gray", 1, MarkRevisionReady, WithRevName("gray-00001"),
-				WithServiceName("shades")),
+				WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			simpleIngress(
@@ -1633,7 +1637,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "shades",
+							ServiceName: "gray-00001",
 						}},
 						"gray": {{
 							TrafficTarget: v1.TrafficTarget{
@@ -1642,14 +1646,14 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "shades",
+							ServiceName: "gray-00001",
 						}},
 						"also-gray": {{
 							TrafficTarget: v1.TrafficTarget{
 								RevisionName: "gray-00001",
 								Percent:      ptr.Int64(100),
 							},
-							ServiceName: "shades",
+							ServiceName: "gray-00001",
 						}},
 					},
 				},
@@ -1767,8 +1771,8 @@ func TestReconcile(t *testing.T) {
 			),
 			cfg("default", "green",
 				WithConfigGeneration(2020), WithLatestCreated("green-02021"), WithLatestReady("green-02020")),
-			rev("default", "blue", 1, MarkRevisionReady, WithRevName("blue-00001"), WithServiceName("alki-beach")),
-			rev("default", "green", 2020, MarkRevisionReady, WithRevName("green-02020"), WithServiceName("rainier-beach")),
+			rev("default", "blue", 1, MarkRevisionReady, WithRevName("blue-00001"), WithK8sServiceName),
+			rev("default", "green", 2020, MarkRevisionReady, WithRevName("green-02020"), WithK8sServiceName),
 			simpleReadyIngress(
 				Route("default", "switch-configs", WithConfigTarget("blue"), WithURL),
 				&traffic.Config{
@@ -1781,7 +1785,7 @@ func TestReconcile(t *testing.T) {
 								Percent:           ptr.Int64(100),
 								LatestRevision:    ptr.Bool(true),
 							},
-							ServiceName: "alki-beach",
+							ServiceName: "blue-00001",
 						}},
 					},
 				},
@@ -1800,7 +1804,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "green-02020",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "rainier-beach",
+							ServiceName: "green-02020",
 						}},
 					},
 				},
@@ -1902,6 +1906,7 @@ func TestReconcile(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -1998,7 +2003,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 				WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			ingressWithTLS(
@@ -2013,7 +2018,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2052,7 +2057,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 		},
 		WantCreates: []runtime.Object{
 			resources.MakeCertificates(Route("default", "becomes-ready", WithConfigTarget("config"), WithURL, WithRouteUID("12-34")),
@@ -2069,7 +2074,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2105,7 +2110,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			certificateWithStatus(resources.MakeCertificates(Route("default", "becomes-ready", WithConfigTarget("config"), WithURL, WithRouteUID("12-34")),
 				map[string]string{"becomes-ready.default.example.com": ""}, network.CertManagerCertificateClassName)[0], readyCertStatus()),
 		},
@@ -2122,7 +2127,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2163,7 +2168,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// MakeCertificates will create a certificate with DNS name "*.test-ns.example.com" which is not the host name
 			// needed by the input Route.
 			&netv1alpha1.Certificate{
@@ -2198,7 +2203,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2244,7 +2249,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			&netv1alpha1.Certificate{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "route-12-34",
@@ -2289,7 +2294,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2339,7 +2344,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34"), WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			&netv1alpha1.Certificate{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "route-12-34",
@@ -2385,7 +2390,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34"), WithRouteGeneration(1)),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// MakeCertificates will create a certificate with DNS name "*.test-ns.example.com" which is not the host name
 			// needed by the input Route.
 			&netv1alpha1.Certificate{
@@ -2420,7 +2425,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				}, nil, nil),
@@ -2462,7 +2467,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 				WithRouteUID("65-23")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("tb")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			simpleIngress(
 				Route("default", "becomes-local", WithConfigTarget("config"), WithRouteUID("65-23")),
 				&traffic.Config{
@@ -2474,7 +2479,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 				},
@@ -2497,7 +2502,7 @@ func TestReconcileEnableAutoTLS(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "tb",
+							ServiceName: "config-00001",
 						}},
 					},
 					Visibility: map[string]netv1alpha1.IngressVisibility{
@@ -2568,7 +2573,7 @@ func TestReconcileEnableAutoTLSHTTPDisabled(t *testing.T) {
 			Route("default", "becomes-ready", WithConfigTarget("config"), WithRouteUID("12-34")),
 			cfg("default", "config",
 				WithConfigGeneration(1), WithLatestCreated("config-00001"), WithLatestReady("config-00001")),
-			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithServiceName("mcd")),
+			rev("default", "config", 1, MarkRevisionReady, WithRevName("config-00001"), WithK8sServiceName),
 			// MakeCertificates will create a certificate with DNS name "*.test-ns.example.com" which is not the host name
 			// needed by the input Route.
 			&netv1alpha1.Certificate{
@@ -2603,7 +2608,7 @@ func TestReconcileEnableAutoTLSHTTPDisabled(t *testing.T) {
 								RevisionName:      "config-00001",
 								Percent:           ptr.Int64(100),
 							},
-							ServiceName: "mcd",
+							ServiceName: "config-00001",
 						}},
 					},
 				}, nil, nil),
diff --git a/pkg/reconciler/route/traffic/traffic_test.go b/pkg/reconciler/route/traffic/traffic_test.go
index f96fefdbe..fcc1fa6cc 100644
--- a/pkg/reconciler/route/traffic/traffic_test.go
+++ b/pkg/reconciler/route/traffic/traffic_test.go
@@ -151,7 +151,8 @@ func TestBuildTrafficConfigurationVanilla(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				Protocol:    net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -161,7 +162,8 @@ func TestBuildTrafficConfigurationVanilla(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			Protocol:    net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -212,7 +214,8 @@ func TestBuildTrafficConfigurationNoNameRevision(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -222,7 +225,8 @@ func TestBuildTrafficConfigurationNoNameRevision(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{goodConfig.Name: goodConfig},
 		Revisions:      map[string]*v1.Revision{goodNewRev.Name: goodNewRev},
@@ -249,7 +253,8 @@ func TestBuildTrafficConfigurationVanillaScaledToZero(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: inactiveRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -259,7 +264,8 @@ func TestBuildTrafficConfigurationVanillaScaledToZero(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: inactiveRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			inactiveConfig.Name: inactiveConfig,
@@ -304,7 +310,8 @@ func TestBuildTrafficConfigurationTwoConfigs(t *testing.T) {
 					Percent:           ptr.Int64(90),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: goodConfig.Name,
@@ -312,7 +319,8 @@ func TestBuildTrafficConfigurationTwoConfigs(t *testing.T) {
 					Percent:           ptr.Int64(10),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -322,7 +330,8 @@ func TestBuildTrafficConfigurationTwoConfigs(t *testing.T) {
 				Percent:           ptr.Int64(90),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: goodConfig.Name,
@@ -330,7 +339,8 @@ func TestBuildTrafficConfigurationTwoConfigs(t *testing.T) {
 				Percent:           ptr.Int64(10),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -364,7 +374,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfig(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -374,7 +385,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfig(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			niceConfig.Name: niceConfig,
@@ -449,7 +461,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 					Percent:           ptr.Int64(30),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: goodConfig.Name,
@@ -458,7 +471,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 					LatestRevision:    ptr.Bool(true),
 					Tag:               "robert",
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: inactiveConfig.Name,
@@ -467,7 +481,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 					LatestRevision:    ptr.Bool(true),
 					Tag:               "jackson",
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: inactiveRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}},
 			"robert": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -477,7 +492,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 					Tag:               "robert",
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"jackson": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -487,7 +503,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 					Tag:               "jackson",
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: inactiveRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -497,7 +514,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 				Percent:           ptr.Int64(30),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: goodConfig.Name,
@@ -506,7 +524,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 				LatestRevision:    ptr.Bool(true),
 				Tag:               "robert",
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: inactiveConfig.Name,
@@ -515,7 +534,8 @@ func TestBuildTrafficConfigThreeConfigs(t *testing.T) {
 				LatestRevision:    ptr.Bool(true),
 				Tag:               "jackson",
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: inactiveRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			niceConfig.Name:     niceConfig,
@@ -605,7 +625,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfigDifferentTags(t *testing.T
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"robert": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -615,7 +636,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfigDifferentTags(t *testing.T
 					Tag:               "robert",
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -625,7 +647,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfigDifferentTags(t *testing.T
 				Percent:           ptr.Int64(90),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: niceConfig.Name,
@@ -634,7 +657,8 @@ func TestBuildTrafficConfigurationTwoEntriesSameConfigDifferentTags(t *testing.T
 				LatestRevision:    ptr.Bool(true),
 				Tag:               "robert",
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			niceConfig.Name: niceConfig,
@@ -694,7 +718,8 @@ func TestBuildTrafficConfigurationCanary(t *testing.T) {
 					Percent:           ptr.Int64(90),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: goodOldRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: goodConfig.Name,
@@ -702,7 +727,8 @@ func TestBuildTrafficConfigurationCanary(t *testing.T) {
 					Percent:           ptr.Int64(10),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -712,7 +738,8 @@ func TestBuildTrafficConfigurationCanary(t *testing.T) {
 				Percent:           ptr.Int64(90),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: goodOldRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: goodConfig.Name,
@@ -720,7 +747,8 @@ func TestBuildTrafficConfigurationCanary(t *testing.T) {
 				Percent:           ptr.Int64(10),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -772,7 +800,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 					Percent:           ptr.Int64(49),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: goodOldRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					Tag:               "two",
@@ -781,7 +810,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 					Percent:           ptr.Int64(51),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"one": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -791,7 +821,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: goodOldRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}},
 			"two": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -801,7 +832,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"also-two": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -811,7 +843,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -822,7 +855,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 				Percent:           ptr.Int64(49),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: goodOldRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				Tag:               "two",
@@ -831,7 +865,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 				Percent:           ptr.Int64(50),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				Tag:               "also-two",
@@ -840,7 +875,8 @@ func TestBuildTrafficConfigurationConsolidated(t *testing.T) {
 				Percent:           ptr.Int64(1),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -880,7 +916,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisions(t *testing.T) {
 					Percent:           ptr.Int64(90),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: goodOldRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: goodConfig.Name,
@@ -888,7 +925,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisions(t *testing.T) {
 					Percent:           ptr.Int64(10),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -898,7 +936,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisions(t *testing.T) {
 				Percent:           ptr.Int64(90),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: goodOldRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: goodConfig.Name,
@@ -906,7 +945,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisions(t *testing.T) {
 				Percent:           ptr.Int64(10),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -948,7 +988,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisionsFromTwoConfigurations(t *test
 					Percent:           ptr.Int64(40),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: niceConfig.Name,
@@ -956,7 +997,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisionsFromTwoConfigurations(t *test
 					Percent:           ptr.Int64(60),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -966,7 +1008,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisionsFromTwoConfigurations(t *test
 				Percent:           ptr.Int64(40),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: niceConfig.Name,
@@ -974,7 +1017,8 @@ func TestBuildTrafficConfigurationTwoFixedRevisionsFromTwoConfigurations(t *test
 				Percent:           ptr.Int64(60),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -1009,7 +1053,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: goodOldRev.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					Tag:               "beta",
@@ -1018,7 +1063,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 					LatestRevision:    ptr.Bool(false),
 					Percent:           ptr.Int64(0),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					Tag:               "alpha",
@@ -1027,7 +1073,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 					Percent:           ptr.Int64(0),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"beta": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -1037,7 +1084,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(false),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 			"alpha": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -1047,7 +1095,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -1057,7 +1106,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(false),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: goodOldRev.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				Tag:               "beta",
@@ -1066,7 +1116,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 				LatestRevision:    ptr.Bool(false),
 				Percent:           ptr.Int64(0),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				Tag:               "alpha",
@@ -1075,7 +1126,8 @@ func TestBuildTrafficConfigurationPreliminary(t *testing.T) {
 				LatestRevision:    ptr.Bool(true),
 				Percent:           ptr.Int64(0),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			goodConfig.Name: goodConfig,
@@ -1167,7 +1219,8 @@ func TestBuildTrafficConfigurationReadyNotReadyConfig(t *testing.T) {
 					LatestRevision:    ptr.Bool(true),
 					Percent:           ptr.Int64(100),
 				},
-				Protocol: net.ProtocolHTTP1,
+				ServiceName: readyRevision.Name,
+				Protocol:    net.ProtocolHTTP1,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -1177,7 +1230,8 @@ func TestBuildTrafficConfigurationReadyNotReadyConfig(t *testing.T) {
 				LatestRevision:    ptr.Bool(true),
 				Percent:           ptr.Int64(100),
 			},
-			Protocol: net.ProtocolHTTP1,
+			ServiceName: readyRevision.Name,
+			Protocol:    net.ProtocolHTTP1,
 		}},
 		Revisions: map[string]*v1.Revision{
 			readyRevision.Name: readyRevision,
@@ -1584,7 +1638,8 @@ func TestBuildTrafficConfigurationTag0Percent(t *testing.T) {
 					Percent:           ptr.Int64(100),
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				ServiceName: niceNewRev.Name,
+				Protocol:    net.ProtocolH2C,
 			}, {
 				TrafficTarget: v1.TrafficTarget{
 					ConfigurationName: goodConfig.Name,
@@ -1593,7 +1648,8 @@ func TestBuildTrafficConfigurationTag0Percent(t *testing.T) {
 					LatestRevision:    ptr.Bool(true),
 					Tag:               "robert",
 				},
-				Protocol: net.ProtocolH2C,
+				Protocol:    net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
 			}},
 			"robert": {{
 				TrafficTarget: v1.TrafficTarget{
@@ -1603,7 +1659,8 @@ func TestBuildTrafficConfigurationTag0Percent(t *testing.T) {
 					Tag:               "robert",
 					LatestRevision:    ptr.Bool(true),
 				},
-				Protocol: net.ProtocolH2C,
+				Protocol:    net.ProtocolH2C,
+				ServiceName: goodNewRev.Name,
 			}},
 		},
 		revisionTargets: []RevisionTarget{{
@@ -1613,7 +1670,8 @@ func TestBuildTrafficConfigurationTag0Percent(t *testing.T) {
 				Percent:           ptr.Int64(100),
 				LatestRevision:    ptr.Bool(true),
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: niceNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}, {
 			TrafficTarget: v1.TrafficTarget{
 				ConfigurationName: goodConfig.Name,
@@ -1622,7 +1680,8 @@ func TestBuildTrafficConfigurationTag0Percent(t *testing.T) {
 				LatestRevision:    ptr.Bool(true),
 				Tag:               "robert",
 			},
-			Protocol: net.ProtocolH2C,
+			ServiceName: goodNewRev.Name,
+			Protocol:    net.ProtocolH2C,
 		}},
 		Configurations: map[string]*v1.Configuration{
 			niceConfig.Name: niceConfig,
diff --git a/pkg/testing/v1/revision.go b/pkg/testing/v1/revision.go
index 56af1c695..5db2740c1 100644
--- a/pkg/testing/v1/revision.go
+++ b/pkg/testing/v1/revision.go
@@ -52,7 +52,7 @@ func WithRevName(name string) RevisionOption {
 // WithServiceName propagates the given service name to the revision status.
 func WithServiceName(sn string) RevisionOption {
 	return func(rev *v1.Revision) {
-		rev.Status.DeprecatedServiceName = sn
+		rev.Status.ServiceName = sn
 	}
 }
 
@@ -139,7 +139,7 @@ func MarkActive(r *v1.Revision) {
 
 // WithK8sServiceName applies sn to the revision status field.
 func WithK8sServiceName(r *v1.Revision) {
-	r.Status.DeprecatedServiceName = r.Name
+	r.Status.ServiceName = r.Name
 }
 
 // MarkInactive calls .Status.MarkInactive on the Revision.
diff --git a/test/e2e/e2e.go b/test/e2e/e2e.go
index 6450e1165..cfbb9a22a 100644
--- a/test/e2e/e2e.go
+++ b/test/e2e/e2e.go
@@ -131,7 +131,7 @@ func waitForActivatorEndpoints(ctx *TestContext) error {
 		}
 
 		svcEps, err := ctx.clients.KubeClient.CoreV1().Endpoints(test.ServingNamespace).Get(
-			context.Background(), ctx.resources.Revision.Status.DeprecatedServiceName, metav1.GetOptions{})
+			context.Background(), ctx.resources.Revision.Name, metav1.GetOptions{})
 		if err != nil {
 			return false, err
 		}
diff --git a/third_party/cert-manager-latest/net-certmanager.yaml b/third_party/cert-manager-latest/net-certmanager.yaml
index 0e59aeaf0..70014a1a6 100644
--- a/third_party/cert-manager-latest/net-certmanager.yaml
+++ b/third_party/cert-manager-latest/net-certmanager.yaml
@@ -18,7 +18,7 @@ metadata:
   # These are the permissions needed by the `cert-manager` `Certificate` implementation.
   name: knative-serving-certmanager
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
     serving.knative.dev/controller: "true"
     networking.knative.dev/certificate-provider: cert-manager
 rules:
@@ -49,7 +49,7 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: config.webhook.net-certmanager.networking.internal.knative.dev
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
 webhooks:
   - admissionReviewVersions:
       - v1beta1
@@ -86,7 +86,7 @@ metadata:
   name: net-certmanager-webhook-certs
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
 
 ---
 # Copyright 2020 The Knative Authors
@@ -109,7 +109,7 @@ metadata:
   name: config-certmanager
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
     networking.knative.dev/certificate-provider: cert-manager
 data:
   _example: |
@@ -156,7 +156,7 @@ metadata:
   name: networking-certmanager
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
     networking.knative.dev/certificate-provider: cert-manager
 spec:
   selector:
@@ -168,14 +168,14 @@ spec:
         cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
       labels:
         app: networking-certmanager
-        serving.knative.dev/release: "v20210122-bdeb7ee"
+        serving.knative.dev/release: "v20210127-036d462b"
     spec:
       serviceAccountName: controller
       containers:
         - name: networking-certmanager
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/net-certmanager/cmd/controller@sha256:fa4db7470490af8f8d776e29c06926298786a39a8315182772a49021e4e9253c
+          image: gcr.io/knative-nightly/knative.dev/net-certmanager/cmd/controller@sha256:b733c889e971a5ea69b374021cabf01cc29e1c7d42126a4fc75c59430ca9077e
           resources:
             requests:
               cpu: 30m
@@ -213,7 +213,7 @@ kind: Service
 metadata:
   labels:
     app: networking-certmanager
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
     networking.knative.dev/certificate-provider: cert-manager
   name: networking-certmanager
   namespace: knative-serving
@@ -250,7 +250,7 @@ metadata:
   name: net-certmanager-webhook
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
 spec:
   selector:
     matchLabels:
@@ -263,14 +263,14 @@ spec:
       labels:
         app: net-certmanager-webhook
         role: net-certmanager-webhook
-        serving.knative.dev/release: "v20210122-bdeb7ee"
+        serving.knative.dev/release: "v20210127-036d462b"
     spec:
       serviceAccountName: controller
       containers:
         - name: webhook
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/net-certmanager/cmd/webhook@sha256:3b6e730fc29100220f5eba43142260012e18af0ea47cf39bc147909c6f24df89
+          image: gcr.io/knative-nightly/knative.dev/net-certmanager/cmd/webhook@sha256:14c5d2db2b1e026cbf22a57e03fc7e9b0c8fcf6e84fb4233a9e2edd82eb436e1
           resources:
             requests:
               cpu: 20m
@@ -329,7 +329,7 @@ metadata:
   namespace: knative-serving
   labels:
     role: net-certmanager-webhook
-    serving.knative.dev/release: "v20210122-bdeb7ee"
+    serving.knative.dev/release: "v20210127-036d462b"
 spec:
   ports:
     # Define metrics and profiling for them to be accessible within service meshes.
diff --git a/third_party/contour-latest/contour.yaml b/third_party/contour-latest/contour.yaml
index f3fa84e41..632cbf311 100644
--- a/third_party/contour-latest/contour.yaml
+++ b/third_party/contour-latest/contour.yaml
@@ -1482,7 +1482,7 @@ spec:
     spec:
       containers:
         - name: contour
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: Always
           command:
             - contour
@@ -1709,7 +1709,7 @@ spec:
             - --contour-key-file=/certs/tls.key
             - --config-path=/config/contour.yaml
           command: ["contour"]
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           name: contour
           ports:
@@ -1798,7 +1798,7 @@ spec:
           args:
             - envoy
             - shutdown-manager
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           lifecycle:
             preStop:
@@ -1875,7 +1875,7 @@ spec:
             - --envoy-key-file=/certs/tls.key
           command:
             - contour
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           name: envoy-initconfig
           volumeMounts:
@@ -2097,7 +2097,7 @@ spec:
     spec:
       containers:
         - name: contour
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: Always
           command:
             - contour
@@ -2217,7 +2217,7 @@ spec:
             - --contour-key-file=/certs/tls.key
             - --config-path=/config/contour.yaml
           command: ["contour"]
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           name: contour
           ports:
@@ -2306,7 +2306,7 @@ spec:
           args:
             - envoy
             - shutdown-manager
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           lifecycle:
             preStop:
@@ -2383,7 +2383,7 @@ spec:
             - --envoy-key-file=/certs/tls.key
           command:
             - contour
-          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:304f14066239d85195056c13053b2daa3c9a8619e3f448294146bf4d1a17dc42
+          image: gcr.io/knative-nightly/github.com/projectcontour/contour/cmd/contour@sha256:15a17e30bb6b62e71f3b07769a2b634450d935a2c99111486ba3f217ba0deb18
           imagePullPolicy: IfNotPresent
           name: envoy-initconfig
           volumeMounts:
diff --git a/third_party/contour-latest/net-contour.yaml b/third_party/contour-latest/net-contour.yaml
index 4be77fff4..d2b207067 100644
--- a/third_party/contour-latest/net-contour.yaml
+++ b/third_party/contour-latest/net-contour.yaml
@@ -33,7 +33,7 @@ metadata:
   namespace: knative-serving
   labels:
     networking.knative.dev/ingress-provider: contour
-    serving.knative.dev/release: "v20210126-450a7986"
+    serving.knative.dev/release: "v20210128-7bff0357"
 data:
   _example: |
     ################################
@@ -103,7 +103,7 @@ spec:
         - name: controller
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/net-contour/cmd/controller@sha256:be4df440a844425b84ea99875b66fcd3c5376aa3e430ad7985f6a9682f69c6e7
+          image: gcr.io/knative-nightly/knative.dev/net-contour/cmd/controller@sha256:1e897bc1ac290dc6025c73d223200dc3bfc16618063f78cd33d06a89a7bb2419
           resources:
             requests:
               cpu: 40m
diff --git a/third_party/istio-latest/net-istio.yaml b/third_party/istio-latest/net-istio.yaml
index 1bf582907..a1f4310f5 100644
--- a/third_party/istio-latest/net-istio.yaml
+++ b/third_party/istio-latest/net-istio.yaml
@@ -1,4 +1,4 @@
-# Generated when HEAD was 36d9877077af10c902c0d1cdb4529c0e613bf8f8
+# Generated when HEAD was cdcd5b3faf97b2e120bdc2f8dba47adc09906f1d
 #
 # Copyright 2019 The Knative Authors
 #
@@ -20,7 +20,7 @@ metadata:
   # These are the permissions needed by the Istio Ingress implementation.
   name: knative-serving-istio
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     serving.knative.dev/controller: "true"
     networking.knative.dev/ingress-provider: istio
 rules:
@@ -50,7 +50,7 @@ metadata:
   name: knative-ingress-gateway
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -87,7 +87,7 @@ metadata:
   name: knative-local-gateway
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -106,7 +106,7 @@ metadata:
   name: knative-local-gateway
   namespace: istio-system
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   type: ClusterIP
@@ -126,7 +126,7 @@ metadata:
   name: "webhook"
   namespace: "knative-serving"
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -137,11 +137,26 @@ spec:
 ---
 apiVersion: "security.istio.io/v1beta1"
 kind: "PeerAuthentication"
+metadata:
+  name: "domainmapping-webhook"
+  namespace: "knative-serving"
+  labels:
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
+    networking.knative.dev/ingress-provider: istio
+spec:
+  selector:
+    matchLabels:
+      app: domainmapping-webhook
+  mtls:
+    mode: PERMISSIVE
+---
+apiVersion: "security.istio.io/v1beta1"
+kind: "PeerAuthentication"
 metadata:
   name: "istio-webhook"
   namespace: "knative-serving"
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -170,7 +185,7 @@ kind: MutatingWebhookConfiguration
 metadata:
   name: webhook.istio.networking.internal.knative.dev
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 webhooks:
   - admissionReviewVersions:
@@ -206,7 +221,7 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: config.webhook.istio.networking.internal.knative.dev
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 webhooks:
   - admissionReviewVersions:
@@ -244,7 +259,7 @@ metadata:
   name: istio-webhook-certs
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 
 ---
@@ -268,7 +283,7 @@ metadata:
   name: config-istio
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 data:
   _example: |
@@ -342,7 +357,7 @@ metadata:
   name: networking-istio
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -358,14 +373,14 @@ spec:
         sidecar.istio.io/inject: "false"
       labels:
         app: networking-istio
-        serving.knative.dev/release: "v20210126-36d98770"
+        serving.knative.dev/release: "v20210128-cdcd5b3f"
     spec:
       serviceAccountName: controller
       containers:
         - name: networking-istio
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/net-istio/cmd/controller@sha256:f0d218d236981e532d70445c3f66782fd998b87afefffc8fd7a00f97fe99914c
+          image: gcr.io/knative-nightly/knative.dev/net-istio/cmd/controller@sha256:653c2d9e9476c8f4b226b59b6c3992b7accc8fc364349c414e0ff4f12b6dccde
           resources:
             requests:
               cpu: 30m
@@ -422,7 +437,7 @@ metadata:
   name: istio-webhook
   namespace: knative-serving
   labels:
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   selector:
@@ -436,14 +451,14 @@ spec:
       labels:
         app: istio-webhook
         role: istio-webhook
-        serving.knative.dev/release: "v20210126-36d98770"
+        serving.knative.dev/release: "v20210128-cdcd5b3f"
     spec:
       serviceAccountName: controller
       containers:
         - name: webhook
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/net-istio/cmd/webhook@sha256:781becb908b9adf4a9222fdb84968b8a832a43359491d261893c43da5f67cf18
+          image: gcr.io/knative-nightly/knative.dev/net-istio/cmd/webhook@sha256:8941cea75a30de29ca273b1cd92dbaac664277b4009e7034d201b69ede7f4e55
           resources:
             requests:
               cpu: 20m
@@ -497,7 +512,7 @@ metadata:
   namespace: knative-serving
   labels:
     role: istio-webhook
-    serving.knative.dev/release: "v20210126-36d98770"
+    serving.knative.dev/release: "v20210128-cdcd5b3f"
     networking.knative.dev/ingress-provider: istio
 spec:
   ports: