Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1811512

Summary: failed to subscribe couchbase-operator v1.2.1
Product: OpenShift Container Platform Reporter: Yadan Pei <yapei>
Component: ISV OperatorsAssignee: Matt Dorn <mdorn>
Status: CLOSED DUPLICATE QA Contact: Bruno Andrade <bandrade>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.4CC: aos-bugs, mdorn, sd-ecosystem
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-19 19:25:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Yadan Pei 2020-03-09 05:48:01 UTC
Description of problem:
failed to subscribe couchbase-operator v1.2.1 due to invalid spec.customresourcedefinitions.owned.specDescriptors.value 

Version-Release number of selected component (if applicable):
Couchbase Operator 1.2.1
4.4.0-0.nightly-2020-03-08-213224

How reproducible:
Always

Steps to Reproduce:
1. cluster admin tries to install Couchbase Operator 1.2.1 from Operator Hub, subscribe it to All namespaces on the cluster (default) or a specific namespace
2. Check operator status


Actual results:
2. It shows UpgradePending on Installed Operators list page, installplan failed 
# oc describe ip install-8tqsb -n yapei-1
Name:         install-8tqsb
Namespace:    yapei-1
Labels:       <none>
Annotations:  <none>
API Version:  operators.coreos.com/v1alpha1
Kind:         InstallPlan
Metadata:
  Creation Timestamp:  2020-03-09T03:54:40Z
  Generate Name:       install-
  Generation:          1
  Owner References:
    API Version:           operators.coreos.com/v1alpha1
    Block Owner Deletion:  false
    Controller:            false
    Kind:                  Subscription
    Name:                  amq-streams
    UID:                   2c46de8e-b491-4762-a54a-500c36eab10d
    API Version:           operators.coreos.com/v1alpha1
    Block Owner Deletion:  false
    Controller:            false
    Kind:                  Subscription
    Name:                  couchbase-enterprise-certified
    UID:                   f12cdeef-ec7c-47d1-9083-65b42f3b1fb4
  Resource Version:        70427
  Self Link:               /apis/operators.coreos.com/v1alpha1/namespaces/yapei-1/installplans/install-8tqsb
  UID:                     072ffa5e-625c-4991-9a4e-707000832b37
Spec:
  Approval:  Automatic
  Approved:  true
  Cluster Service Version Names:
    couchbase-operator.v1.2.1
Status:
  Catalog Sources:
    certified-operators
  Conditions:
    Last Transition Time:  2020-03-09T03:54:40Z
    Last Update Time:      2020-03-09T03:54:40Z
    Message:               error creating csv couchbase-operator.v1.2.1: ClusterServiceVersion.operators.coreos.com "couchbase-operator.v1.2.1" is invalid: spec.customresourcedefinitions.owned.specDescriptors.value: Invalid value: "": spec.customresourcedefinitions.owned.specDescriptors.value in body must be of type byte: ""
    Reason:                InstallComponentFailed
    Status:                False
    Type:                  Installed
  Phase:                   Failed
  Plan:
    Resolving:  couchbase-operator.v1.2.1

# oc rsh -n openshift-marketplace certified-operators-59c984b6b6-2hm2s
sh-4.2$ cat downloaded/
sh-4.2$ cat downloaded/couchbase-enterprise-certified/couchbase-operator.v1.2.1.clusterserviceversion.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "couchbase.com/v1",
          "kind": "CouchbaseCluster",
          "metadata": {
            "name": "cb-example"
          },
          "spec": {
            "adminConsoleServiceType": "NodePort",
            "exposedFeatureServiceType": "NodePort",
            "adminConsoleServices": [
              "data"
            ],
            "authSecret": "cb-example-auth",
            "baseImage": "registry.connect.redhat.com/couchbase/server",
            "buckets": [
              {
                "conflictResolution": "seqno",
                "enableFlush": true,
                "enableIndexReplica": false,
                "evictionPolicy": "fullEviction",
                "ioPriority": "high",
                "memoryQuota": 128,
                "name": "default",
                "replicas": 1,
                "type": "couchbase",
                "compressionMode": "passive"
              }
            ],
            "cluster": {
              "analyticsServiceMemoryQuota": 1024,
              "autoFailoverMaxCount": 3,
              "autoFailoverOnDataDiskIssues": true,
              "autoFailoverOnDataDiskIssuesTimePeriod": 120,
              "autoFailoverServerGroup": false,
              "autoFailoverTimeout": 120,
              "dataServiceMemoryQuota": 256,
              "eventingServiceMemoryQuota": 256,
              "indexServiceMemoryQuota": 256,
              "indexStorageSetting": "memory_optimized",
              "searchServiceMemoryQuota": 256
            },
            "exposeAdminConsole": true,
            "servers": [
              {
                "name": "all_services",
                "services": [
                  "data",
                  "index",
                  "query",
                  "search",
                  "eventing",
                  "analytics"
                ],
                "size": 3
              }
            ],
            "version": "6.0.1-1"
          }
        }
      ]
    capabilities: Full Lifecycle
    categories: Database
    certified: "true"
    containerImage: registry.connect.redhat.com/couchbase/operator:1.2.1-1
    createdAt: 2019/08/30
    description: The Couchbase Autonomous Operator allows users to easily deploy,
      manage, and maintain Couchbase deployments
    support: Couchbase, Inc
  creationTimestamp: null
  name: couchbase-operator.v1.2.1
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: Manages Couchbase clusters
      displayName: Couchbase Cluster
      kind: CouchbaseCluster
      name: couchbaseclusters.couchbase.com
      resources:
      - kind: Service
        name: ""
        version: v1
      - kind: Pod
        name: ""
        version: v1
      specDescriptors:
      - description: The name of the secret object that stores the admin credentials.
        displayName: Auth Secret
        path: authSecret
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes:Secret
      - description: The name of the secret object that stores the server's TLS certificate.
        displayName: Server TLS Secret
        path: tls.static.member.serverSecret
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes:Secret
      - description: The name of the secret object that stores the Operator's TLS
          certificate.
        displayName: Operator TLS Secret
        path: tls.static.operatorSecret
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes:Secret
      - description: Specifies if the Operator will manage this cluster.
        displayName: Paused
        path: paused
        value: false
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:booleanSwitch
      - description: Specifies if the Couchbase Server Web Console will be exposed
          externally.
        displayName: Expose Console
        path: exposeAdminConsole
        value: false
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:booleanSwitch
      - description: Specifies whether or not two pods in this cluster can be deployed
          on the same Kubernetes node.
        displayName: Anti Affinity
        path: antiAffinity
        value: false
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:booleanSwitch
      - description: Specifies if update notifications will be displayed in the Couchbase
          UI.
        displayName: Show Update Notifications
        path: softwareUpdateNotifications
        value: false
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:booleanSwitch
      - description: Specifies if the Operator will create or delete buckets.
        displayName: Disable Bucket Management
        path: disableBucketManagement
        value: false
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:booleanSwitch
      - description: The desired number of member Pods for the Couchbase cluster.
        displayName: Size
        path: servers[0].size
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:podCount
      - description: The maximum number of failover events tolerated before manual
          intervention is required.
        displayName: Auto Failover Max Count
        path: cluster.autoFailoverMaxCount
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:slider
        - urn:alm:descriptor:com.tectonic.ui:sliderStart:1
      - description: Limits describes the minimum/maximum amount of compute resources
          required/allowed.
        displayName: Resource Requirements
        path: servers[0].pod.resources
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:resourceRequirements
      statusDescriptors:
      - description: The desired number of member Pods for the deployment.
        displayName: Size
        path: size
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:podCount
      - description: The current status of the Couchbase cluster.
        displayName: Status
        path: phase
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes.phase
      - description: Explanation for the current status of the application.
        displayName: Status Details
        path: reason
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes.phase:reason
      - description: The status of each of the member Pods for the Couchbase cluster.
        displayName: Member Status
        path: members
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:podStatuses
      - description: The current version of the Couchbase cluster.
        displayName: Current Version
        path: currentVersion
      - description: The cluster identifier as provided by the Couchbase cluster.
        displayName: Cluster ID
        path: clusterID
      - description: Specifies if the Operator is currently managing this cluster.
        displayName: Control Paused
        path: controlPaused
      - description: The port that the web console can be accessed on from any node
          in the Kubernetes cluster.
        displayName: Admin Console Port
        path: adminConsolePort
      - description: The SSL port that the web console can be accessed on from any
          node in the Kubernetes cluster.
        displayName: SSL Admin Console Port
        path: adminConsolePortSSL
      - description: Conditions for the cluster
        displayName: Conditions
        path: conditions
        x-descriptors:
        - urn:alm:descriptor:io.kubernetes.conditions
      version: v1
  description: |
........

Expected results:
couchbase-operator.v1.2.1 should be subscribed successfully


Additional info:

Comment 1 Matt Dorn 2020-03-19 19:25:05 UTC

*** This bug has been marked as a duplicate of bug 1790612 ***