Uploaded image for project: 'Knative Serving'
  1. Knative Serving
  2. SRVKS-344

knative-serving-ingress SMCP/SMMR deleted by k8s gc whenever gc runs, existing ksvc routes gets 404s

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 1.2.0
    • 1.2.0
    • None
    • Serverless Sprint 175

      knative-serving-ingress ServiceMeshControlPlane has

          ownerReferences:
          - apiVersion: serving.knative.dev/v1alpha1
            blockOwnerDeletion: true
            controller: true
            kind: KnativeServing
            name: knative-serving
            uid: 222b1c2a-0610-11ea-bdbe-069014e085
      

      which is invalid, as it doesn't exist in the same namespace.

      This causes the SMCP and SMMR to be deleted by the k8s garbage collector whenever it runs.

      This causes:

      • Existing ksvc to stop working (Ingress cease to exist, so the routes starts returning 404s, even if the ksvc are still being reported as "ready")
      • The istio-ingressgateway LoadBalancer is recreated when SMCP gets recreated, so its hostname may change
      • Namespaces already added to SMMR will not be added there when the new one is generated.

      To reproduce:

      • Find the kube-controller-manager pod with the lease in openshift-kube-controller-manager
      • kill it, e.g.: (oc delete pod doesn't work on those)
        • oc rsh kube-controller-manager-ip-10-0-137-180.us-west-1.compute.internal /bin/sh -c "kill 1"

              Unassigned Unassigned
              maschmid@redhat.com Marek Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: