trident icon indicating copy to clipboard operation
trident copied to clipboard

ClusterServiceVersion objects are placed in all the namespaces

Open kimuraos opened this issue 10 months ago • 0 comments

Describe the bug This is not a bug in Trident itself, but in PackageManifest on OpenShift OperatorHub.

Current PackageManifest specifies installModes as AllNamespaces only.

      installModes:
      - supported: true
        type: AllNamespaces

As the results, ClusterServiceVersion (CSV) objects are placed in all the namespaces:

$ oc get csv -A
NAMESPACE                                          NAME                                              DISPLAY                           VERSION               REPLACES                                          PHASE
default                                            trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded
kube-node-lease                                    trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded
kube-public                                        trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded
kube-system                                        trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded
...
openshift                                          trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded
trident                                            trident-operator.v24.10.0                         NetApp Trident                    24.10.0               trident-operator.v24.6.0                          Succeeded

Environment

  • Trident version: 24.10.0
  • Kubernetes orchestrator: OpenShift v4.16

To Reproduce Allways after installation of trident-operator on OpenShift.

Expected behavior Most of other operators provide selectable installModes like:

$ oc get packagemanifests nfd -n openshift-marketplace -o yaml
...
      displayName: Node Feature Discovery Operator
      installModes:
      - supported: true
        type: OwnNamespace
      - supported: true
        type: SingleNamespace
      - supported: false
        type: MultiNamespace
      - supported: false
        type: AllNamespaces
...

I believe ClusterServiceVersion should be placed in a namespace that the Trident operator will be installed. There is no need to place in other namespaces.

Additional context Current PackageManifest is as bellow:

$ oc get packagemanifests trident-operator -n openshift-marketplace -o yaml
apiVersion: packages.operators.coreos.com/v1
kind: PackageManifest
metadata:
  creationTimestamp: "2024-12-18T01:06:52Z"
  labels:
    catalog: community-operators
    catalog-namespace: openshift-marketplace
    operatorframework.io/arch.amd64: supported
    operatorframework.io/os.linux: supported
    provider: NetApp, Inc.
    provider-url: https://www.netapp.com/
  name: trident-operator
  namespace: openshift-marketplace
spec: {}
status:
  catalogSource: community-operators
  catalogSourceDisplayName: Community Operators
  catalogSourceNamespace: openshift-marketplace
  catalogSourcePublisher: Red Hat
  channels:
  - currentCSV: trident-operator.v24.10.0
    currentCSVDesc:
      annotations:
        alm-examples: |
          [
            {
              "apiVersion": "trident.netapp.io/v1",
              "kind": "TridentOrchestrator",
              "metadata": {
                "name": "trident"
              },
              "spec": {
                "IPv6": false,
                "debug": true,
                "enableNodePrep": false,
                "imagePullSecrets": [],
                "imageRegistry": "",
                "k8sTimeout": 30,
                "kubeletDir": "/var/lib/kubelet",
                "namespace": "trident",
                "silenceAutosupport": false
              }
            }
          ]
        capabilities: Seamless Upgrades
        categories: Storage
        containerImage: docker.io/netapp/trident-operator:24.10.0
        createdAt: "2024-11-05"
        description: Trident Operator, to manage NetApp Trident installations
        operatorhub.io/ui-metadata-max-k8s-version: "1.31"
        repository: https://github.com/netapp/trident
        support: NetApp
      apiservicedefinitions: {}
      customresourcedefinitions:
        owned:
        - description: Used to deploy Astra Trident.
          displayName: Trident Orchestrator
          kind: TridentOrchestrator
          name: tridentorchestrators.trident.netapp.io
          version: v1
      description: |
        NetApp Trident is an open source storage provisioner and orchestrator maintained by NetApp. It enables you to create storage volumes for containerized applications managed by Docker and Kubernetes. For full release information, including patch release changes, see https://docs.netapp.com/us-en/trident/trident-rn.html.
      displayName: NetApp Trident
      installModes:
      - supported: true
        type: AllNamespaces
      keywords:
      - NetApp
      - ONTAP
      - Trident
      - storage
      - performance
      - open source
      - Astra
      - Cloud Native
      - AWS
      - Azure
      - GCP
      - Cloud Volumes
      links:
      - name: GitHub Repository
        url: https://github.com/NetApp/trident
      - name: Trident documentation
        url: https://docs.netapp.com/us-en/trident/index.html
      - name: Support policy
        url: https://mysupport.netapp.com/site/info/version-support
      - name: Release Notes
        url: https://docs.netapp.com/us-en/trident/trident-rn.html
      maintainers:
      - email: [email protected]
        name: NetApp
      provider:
        name: NetApp, Inc.
        url: https://www.netapp.com/
      relatedImages:
      - docker.io/netapp/trident-operator:24.10.0
      version: 24.10.0
    entries:
    - name: trident-operator.v24.10.0
      version: 24.10.0
    - name: trident-operator.v24.6.0
      version: 24.6.0
    - name: trident-operator.v24.2.0
      version: 24.2.0
    name: stable
  defaultChannel: stable
  packageName: trident-operator
  provider:
    name: NetApp, Inc.
    url: https://www.netapp.com/

kimuraos avatar Feb 21 '25 06:02 kimuraos