Bug 1784674 - KnativeServing instance can not be created successfully
Summary: KnativeServing instance can not be created successfully
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Serverless
Classification: Red Hat
Component: Serving
Version: unspecified
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Ben Browning
QA Contact: Nobody
URL:
Whiteboard:
Depends On:
Blocks: 1780392
TreeView+ depends on / blocked
 
Reported: 2019-12-18 03:11 UTC by Yadan Pei
Modified: 2021-12-16 11:20 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-12-16 11:20:26 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Yadan Pei 2019-12-18 03:11:56 UTC
Description of problem:
OpenShift Serverless Operator is successfully installed but KnativeServing instance can't be created succesfully, it reports Install not attempted: The KnativeServing resource needs to be created as knative-serving/knative-serving, otherwise it will be ignored

Version-Release number of selected component (if applicable):
4.3.0-0.nightly-2019-12-13-180405

How reproducible:
Always

Steps to Reproduce:
1. admin user subscribe OpenShift Serverless Operator via Operator Hub and wait it to be succeed
$ oc get csv -n openshift-operators
NAME                                         DISPLAY                          VERSION               REPLACES                     PHASE
serverless-operator.v1.2.0                   OpenShift Serverless Operator    1.2.0                 serverless-operator.v1.1.0   Succeeded
servicemeshoperator.v1.0.3                   Red Hat OpenShift Service Mesh   1.0.3                 servicemeshoperator.v1.0.2   Succeeded
2. Since operator is successfully installed, try to create custom resource Knative Serving by Operators -> Installed Operators -> OpenShift Serverless Operator -> Knative Serving tab -> Create Knative Serving -> Create


Actual results:
2. Knative serving can't be created sucessfully, 
$ oc get knativeservings --all-namespaces
NAMESPACE             NAME              VERSION   READY   REASON
openshift-operators   knative-serving             False   Ignored
$ oc describe knativeservings knative-serving -n openshift-operators
Name:         knative-serving
Namespace:    openshift-operators
Labels:       <none>
Annotations:  <none>
API Version:  serving.knative.dev/v1alpha1
Kind:         KnativeServing
Metadata:
  Creation Timestamp:  2019-12-18T02:02:55Z
  Generation:          1
  Resource Version:    34831
  Self Link:           /apis/serving.knative.dev/v1alpha1/namespaces/openshift-operators/knativeservings/knative-serving
  UID:                 0518ac53-4454-4740-8539-239a0a41f449
Spec:
  Config:
    Autoscaler:
      Container - Concurrency - Target - Default:     100
      Container - Concurrency - Target - Percentage:  1.0
      Enable - Scale - To - Zero:                     true
      Max - Scale - Up - Rate:                        10
      Panic - Threshold - Percentage:                 200.0
      Panic - Window:                                 6s
      Panic - Window - Percentage:                    10.0
      Scale - To - Zero - Grace - Period:             30s
      Stable - Window:                                60s
      Tick - Interval:                                2s
    Defaults:
      Revision - Cpu - Limit:        1000m
      Revision - Cpu - Request:      400m
      Revision - Memory - Limit:     200M
      Revision - Memory - Request:   100M
      Revision - Timeout - Seconds:  300
    Deployment:
      Registries Skipping Tag Resolving:  ko.local,dev.local
    Gc:
      Stale - Revision - Create - Delay:         24h
      Stale - Revision - Lastpinned - Debounce:  5h
      Stale - Revision - Minimum - Generations:  1
      Stale - Revision - Timeout:                15h
    Logging:
      loglevel.activator:   info
      loglevel.autoscaler:  info
      loglevel.controller:  info
      loglevel.queueproxy:  info
      loglevel.webhook:     info
    Observability:
      logging.enable-var-log-collection:  false
      metrics.backend-destination:        prometheus
    Tracing:
      Backend:        none
      Sample - Rate:  0.1
Status:
  Conditions:
    Last Transition Time:  2019-12-18T02:02:55Z
    Status:                Unknown
    Type:                  DependenciesInstalled
    Last Transition Time:  2019-12-18T02:02:55Z
    Status:                Unknown
    Type:                  DeploymentsAvailable
    Last Transition Time:  2019-12-18T02:02:55Z
    Message:               Install not attempted: The KnativeServing resource needs to be created as knative-serving/knative-serving, otherwise it will be ignored
    Reason:                Ignored
    Status:                False
    Type:                  InstallSucceeded
    Last Transition Time:  2019-12-18T02:02:55Z
    Message:               Install not attempted: The KnativeServing resource needs to be created as knative-serving/knative-serving, otherwise it will be ignored
    Reason:                Ignored
    Status:                False
    Type:                  Ready
Events:                    <none>

Expected results:
2. Knative serving should be created successfully

Additional info:

Comment 1 Yadan Pei 2019-12-18 03:15:44 UTC
Please help re assign to correct component if it don't look right.

Comment 2 Yadan Pei 2020-01-13 05:27:18 UTC
I followed the steps in https://access.redhat.com/documentation/en-us/openshift_container_platform/4.2/html/serverless_applications/installing-openshift-serverless but still can't get a successful Knative running

$ oc get knativeserving/knative-serving -n knative-serving -o yaml
apiVersion: serving.knative.dev/v1alpha1
kind: KnativeServing
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"serving.knative.dev/v1alpha1","kind":"KnativeServing","metadata":{"annotations":{},"name":"knative-serving","namespace":"knative-serving"}}
  creationTimestamp: "2020-01-13T03:17:30Z"
  finalizers:
  - knative-serving
  generation: 2
  name: knative-serving
  namespace: knative-serving
  resourceVersion: "59666"
  selfLink: /apis/serving.knative.dev/v1alpha1/namespaces/knative-serving/knativeservings/knative-serving
  uid: f75509a6-7ddd-41fd-a7b7-94ecfc180f52
spec: {}
status:
  conditions:
  - lastTransitionTime: "2020-01-13T03:17:30Z"
    status: Unknown
    type: DependenciesInstalled
  - lastTransitionTime: "2020-01-13T03:17:30Z"
    status: Unknown
    type: DeploymentsAvailable
  - lastTransitionTime: "2020-01-13T03:17:32Z"
    message: 'Install in progress: SMCP not yet ready'
    reason: NotReady
    status: "False"
    type: InstallSucceeded
  - lastTransitionTime: "2020-01-13T03:17:32Z"
    message: 'Install in progress: SMCP not yet ready'
    reason: NotReady
    status: "False"
    type: Ready

Comment 3 Tim Kaczynski 2020-01-20 21:52:14 UTC
We have seen the same condition here, "Install in progress: SMCP not yet ready".

It's not clear what SMCP is, or how we can cause it to be ready.

Comment 4 Ben Browning 2020-01-24 22:01:24 UTC
"SMCP" is short for "ServiceMeshControlPlane". We're in the process of removing our direct dependency on this particular component. Otherwise, I'd create an issue for us to expand that acronym to its full form.

What the error is telling you is that for some reason the ServiceMeshControlPlane we're installing to handle traffic for Knative is not yet ready. To diagnose this, you'd want to `oc describe smcp -n knative-serving-ingress`. If you include the output of that here, I'm happy to help diagnose. In the status block we should be able to determine which Service Mesh component is not yet ready and hopefully why.

Comment 5 Yadan Pei 2020-02-04 10:32:06 UTC
Sorry for late response, here's the requested info

[yapei@localhost test-files]$ oc get knativeserving/knative-serving -n knative-serving --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}'
DependenciesInstalled=Unknown
DeploymentsAvailable=Unknown
InstallSucceeded=False
Ready=False
[yapei@localhost test-files]$ oc describe knativeserving/knative-serving -n knative-serving
Name:         knative-serving
Namespace:    knative-serving
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"serving.knative.dev/v1alpha1","kind":"KnativeServing","metadata":{"annotations":{},"name":"knative-serving","namespace":"kn...
API Version:  serving.knative.dev/v1alpha1
Kind:         KnativeServing
Metadata:
  Creation Timestamp:  2020-02-04T10:29:15Z
  Finalizers:
    knative-serving
  Generation:        2
  Resource Version:  632140
  Self Link:         /apis/serving.knative.dev/v1alpha1/namespaces/knative-serving/knativeservings/knative-serving
  UID:               1a5a35f5-7824-46cc-a939-d7d4c346b926
Spec:
Status:
  Conditions:
    Last Transition Time:  2020-02-04T10:29:15Z
    Status:                Unknown
    Type:                  DependenciesInstalled
    Last Transition Time:  2020-02-04T10:29:15Z
    Status:                Unknown
    Type:                  DeploymentsAvailable
    Last Transition Time:  2020-02-04T10:29:17Z
    Message:               Install in progress: SMCP not yet ready
    Reason:                NotReady
    Status:                False
    Type:                  InstallSucceeded
    Last Transition Time:  2020-02-04T10:29:17Z
    Message:               Install in progress: SMCP not yet ready
    Reason:                NotReady
    Status:                False
    Type:                  Ready
Events:                    <none>
[yapei@localhost test-files]$ oc describe smcp -n knative-serving-ingress
Name:         basic-install
Namespace:    knative-serving-ingress
Labels:       serving.knative.openshift.io/ownerName=knative-serving
              serving.knative.openshift.io/ownerNamespace=knative-serving
Annotations:  manifestival: new
API Version:  maistra.io/v1
Kind:         ServiceMeshControlPlane
Metadata:
  Creation Timestamp:  2020-02-04T10:29:16Z
  Finalizers:
    maistra.io/istio-operator
  Generation:        1
  Resource Version:  632091
  Self Link:         /apis/maistra.io/v1/namespaces/knative-serving-ingress/servicemeshcontrolplanes/basic-install
  UID:               ded560b1-cbc7-4ba3-b06d-9aedd8153f17
Spec:
  Istio:
    Gateways:
      Cluster - Local - Gateway:
        Autoscale Enabled:  false
        Enabled:            true
        Labels:
          App:                        cluster-local-gateway
          Istio:                      cluster-local-gateway
          Maistra - Control - Plane:  knative-serving-ingress
        Ports:
          Name:         status-port
          Port:         15020
          Name:         http2
          Port:         80
          Target Port:  8080
          Name:         https
          Port:         443
      Istio - Egressgateway:
        Enabled:  false
      Istio - Ingressgateway:
        Autoscale Enabled:  false
        Labels:
          Maistra - Control - Plane:  knative-serving-ingress
        Type:                         LoadBalancer
    Global:
      Default Pod Disruption Budget:
        Enabled:                         false
      Disable Policy Checks:             false
      Multitenant:                       true
      Omit Sidecar Injector Config Map:  true
      Proxy:
        Auto Inject:  disabled
    Grafana:
      Enabled:  false
    istio_cni:
      Enabled:  true
    Kiali:
      Enabled:  false
    Mixer:
      Enabled:  false
      Policy:
        Enabled:  false
      Telemetry:
        Enabled:  false
    Pilot:
      Autoscale Enabled:  false
      Sidecar:            false
    Prometheus:
      Enabled:  false
    Sidecar Injector Webhook:
      Enabled:  false
    Tracing:
      Enabled:  false
Status:
  Components:  <nil>
  Conditions:
    Last Transition Time:  2020-02-04T10:29:16Z
    Message:               Installing mesh generation 1.0.6-1.el8-1
    Reason:                ResourceCreated
    Status:                False
    Type:                  Installed
    Last Transition Time:  2020-02-04T10:29:16Z
    Message:               Installing mesh generation 1.0.6-1.el8-1
    Reason:                ResourceCreated
    Status:                False
    Type:                  Reconciled
    Last Transition Time:  2020-02-04T10:29:16Z
    Message:               Installing mesh generation 1.0.6-1.el8-1
    Reason:                ResourceCreated
    Status:                False
    Type:                  Ready
  Last Applied Configuration:
Events:
  Type     Reason      Age                From                                Message
  ----     ------      ----               ----                                -------
  Normal   Installing  100s               servicemeshcontrolplane-controller  Installing mesh generation 1.0.6-1.el8-1
  Warning  Installing  6s (x14 over 57s)  servicemeshcontrolplane-controller  Error processing component security: error: no matches for kind "Deployment" in version "extensions/v1beta1"

Comment 6 Ben Browning 2020-02-04 19:26:03 UTC
There is a known bug where Service Mesh does not yet work in OCP 4.4 builds and fails with the `error: no matches for kind "Deployment" in version "extensions/v1beta1"` error you've shown above. However, this is a 4.3 cluster you're testing this with? This API should not be disabled in 4.3 and we have continuous integration tests that run against OpenShift 4.3 and do not see this error.

If this is something newer than an OCP 4.3 release, then it's a known issue. If it's a 4.3 release then we have an unknown issue that needs to be tracked down.

Comment 7 Yadan Pei 2020-02-05 01:15:13 UTC
This is tested against 4.4 cluster, thanks for your response.

Comment 8 Yadan Pei 2020-02-05 01:21:52 UTC
Do we have bug tracking the known issue on 4.4, can I use this bz to track it or shall I close it ? Let me know what should I do

Comment 9 Ben Browning 2020-02-05 19:18:10 UTC
We have two JIRA issues tracking this currently - one for OpenShift Serverless and one for Service Mesh. The underlying issue is in Service Mesh, but since Serverless depends on Service Mesh we created issues for both.

Serverless - https://issues.redhat.com/browse/SRVKS-382

Service Mesh - https://issues.redhat.com/browse/MAISTRA-1078

Comment 10 Martin Murphy 2021-12-16 11:20:26 UTC
Closing as addressed in OpenShift Serverless 1.5.0 - https://issues.redhat.com/browse/SRVKS-382
Service Mesh issue addressed in https://issues.redhat.com/browse/MAISTRA-1078


Note You need to log in before you can comment on or make changes to this bug.