Skip to content

Knative Service failing to become ready if label is confused with annotation #13053

@salaboy

Description

@salaboy

While setting an annotation to a Knative Service (that should be a label) the service never gets ready

spec:
  template:
    metadata:
      annotations:
        networking.knative.dev/visibility: cluster-local
salaboy> k get ksvc
NAME       URL                                           LATESTCREATED    LATESTREADY      READY     REASON
agenda     http://agenda.default.34.79.9.73.sslip.io     agenda-00002     agenda-00001     Unknown   

The revision for that new version of the Knative Service shows some issues about not being observable:

salaboy> k describe revision agenda-00002
Name:         agenda-00002
Namespace:    default
Labels:       serving.knative.dev/configuration=agenda
              serving.knative.dev/configurationGeneration=2
              serving.knative.dev/configurationUID=9e5fb7d2-dcf5-4cf4-8a7c-b25bef148de1
              serving.knative.dev/routingState=active
              serving.knative.dev/service=agenda
              serving.knative.dev/serviceUID=0ce1df8f-e380-4c0b-a119-43d1398e9bcd
Annotations:  client.knative.dev/updateTimestamp: 2022-06-21T20:54:58Z
              client.knative.dev/user-image: ghcr.io/salaboy/fmtok8s-email-service:v0.0.1-native
              networking.knative.dev/visibility: cluster-local
              serving.knative.dev/creator: [email protected]
              serving.knative.dev/routes: agenda
              serving.knative.dev/routingStateModified: 2022-06-22T11:52:27Z
API Version:  serving.knative.dev/v1
Kind:         Revision
Metadata:
  Creation Timestamp:  2022-06-22T11:52:27Z
  Generation:          1
  Managed Fields:
    API Version:  serving.knative.dev/v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .:
          f:client.knative.dev/updateTimestamp:
          f:client.knative.dev/user-image:
          f:networking.knative.dev/visibility:
          f:serving.knative.dev/creator:
          f:serving.knative.dev/routes:
          f:serving.knative.dev/routingStateModified:
        f:labels:
          .:
          f:serving.knative.dev/configuration:
          f:serving.knative.dev/configurationGeneration:
          f:serving.knative.dev/configurationUID:
          f:serving.knative.dev/routingState:
          f:serving.knative.dev/service:
          f:serving.knative.dev/serviceUID:
        f:ownerReferences:
          .:
          k:{"uid":"9e5fb7d2-dcf5-4cf4-8a7c-b25bef148de1"}:
      f:spec:
        .:
        f:containerConcurrency:
        f:containers:
        f:enableServiceLinks:
        f:timeoutSeconds:
    Manager:      Go-http-client
    Operation:    Update
    Time:         2022-06-22T11:52:27Z
    API Version:  serving.knative.dev/v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:status:
        .:
        f:conditions:
        f:containerStatuses:
        f:observedGeneration:
    Manager:      Go-http-client
    Operation:    Update
    Subresource:  status
    Time:         2022-06-22T11:52:27Z
  Owner References:
    API Version:           serving.knative.dev/v1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Configuration
    Name:                  agenda
    UID:                   9e5fb7d2-dcf5-4cf4-8a7c-b25bef148de1
  Resource Version:        30637176
  UID:                     1dd8a3e1-5332-41f3-aa62-e723bf6ea91b
Spec:
  Container Concurrency:  0
  Containers:
    Image:  ghcr.io/salaboy/fmtok8s-email-service:v0.0.1-native
    Name:   user-container
    Readiness Probe:
      Success Threshold:  1
      Tcp Socket:
        Port:  0
    Resources:
  Enable Service Links:  false
  Timeout Seconds:       300
Status:
  Conditions:
    Last Transition Time:  2022-06-22T11:52:28Z
    Message:               unsuccessfully observed a new generation
    Reason:                NewObservedGenFailure
    Severity:              Info
    Status:                Unknown
    Type:                  Active
    Last Transition Time:  2022-06-22T11:52:27Z
    Reason:                Deploying
    Status:                Unknown
    Type:                  ContainerHealthy
    Last Transition Time:  2022-06-22T11:52:27Z
    Reason:                Deploying
    Status:                Unknown
    Type:                  Ready
    Last Transition Time:  2022-06-22T11:52:27Z
    Reason:                Deploying
    Status:                Unknown
    Type:                  ResourcesAvailable
  Container Statuses:
    Image Digest:       ghcr.io/salaboy/fmtok8s-email-service@sha256:86c5d010599a2d633f5dd7a75bbbff1a874008bcb3501ca3243146e4a7819adc
    Name:               user-container
  Observed Generation:  1
Events:                 <none>

/area networking
/kind bug

What version of Knative?

1.6.x
With Kourier as ingress

Expected Behavior

Setting an annotation that is not expected shouldn't break a Knative Service.

An error should help us to troubleshoot the issue.

Actual Behavior

It breaks

Steps to Reproduce the Problem

Add the cluster visibility as an annotation instead of a label

spec:
  template:
    metadata:
      annotations:
        networking.knative.dev/visibility: cluster-local

Metadata

Metadata

Assignees

Labels

area/networkingkind/bugCategorizes issue or PR as related to a bug.triage/acceptedIssues which should be fixed (post-triage)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions