Skip to content

Service's RoutesReady is 'Unknown' when Route's Ready is 'False' #4561

@dgerd

Description

@dgerd

In what area(s)?

/area API

/area autoscale
/area build
/area monitoring
/area networking
/area test-and-release

What version of Knative?

0.2.x
0.3.x
0.7
HEAD

Expected Behavior

When my Route is marked as "Ready" = False then "RouteReady" should be False.

Likely the Route is not doing the right thing with observedGeneration when marking the it as Ready = False.

Actual Behavior

Service's "RoutesReady" stays in "Unknown"

Service

...
    generation: 16
...
  status:
    address:
      url: http://runtime-test-image.default.svc.cluster.local
    conditions:
    - lastTransitionTime: 2019-06-27T21:50:31Z
      status: "True"
      type: ConfigurationsReady
    - lastTransitionTime: 2019-06-27T21:58:41Z
      message: The Route is still working to reflect the latest desired specification.
      reason: OutOfDate
      status: Unknown
      type: Ready
    - lastTransitionTime: 2019-06-27T21:58:41Z
      message: The Route is still working to reflect the latest desired specification.
      reason: OutOfDate
      status: Unknown
      type: RoutesReady
    latestCreatedRevisionName: runtime-test-image-byo4
    latestReadyRevisionName: runtime-test-image-byo4
    observedGeneration: 16

Route

...
    generation: 7
...
  status:
    address:
      url: http://runtime-test-image.default.svc.cluster.local
    conditions:
    - lastTransitionTime: 2019-06-27T21:58:41Z
      message: Revision "runtime-test-image-byo5" referenced in traffic not found.
      reason: RevisionMissing
      status: "False"
      type: AllTrafficAssigned
    - lastTransitionTime: 2019-06-27T17:06:07Z
      message: Certificate route-99873488-9849-11e9-90f6-42010a80008e is not ready.
      reason: CertificateNotReady
      severity: Warning
      status: Unknown
      type: CertificateProvisioned
    - lastTransitionTime: 2019-06-27T17:06:08Z
      status: "True"
      type: IngressReady
    - lastTransitionTime: 2019-06-27T21:58:41Z
      message: Revision "runtime-test-image-byo5" referenced in traffic not found.
      reason: RevisionMissing
      status: "False"
      type: Ready
    observedGeneration: 6
    traffic:
    - latestRevision: false
      percent: 100
      revisionName: runtime-test-image-byo4

Steps to Reproduce the Problem

Apply the following YAML that refers to a BYO Revision that does not exist.

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: runtime-test-image
  namespace: default
spec:
  template:
    metadata:
      name: runtime-test-image-byo4
    spec:
      containers:
      - image: github.com/knative/serving/test/test_images/runtime
        securityContext:
          runAsUser: 2020
  traffic:
  - percent: 100
    revisionName: runtime-test-image-byo5

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/APIAPI objects and controllerskind/bugCategorizes issue or PR as related to a bug.kind/specDiscussion of how a feature should be exposed to customers.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions