Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClusterServiceVersion objects are placed in all the namespaces #980

Open
kimuraos opened this issue Feb 21, 2025 · 0 comments
Open

ClusterServiceVersion objects are placed in all the namespaces #980

kimuraos opened this issue Feb 21, 2025 · 0 comments
Labels

Comments

@kimuraos
Copy link

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/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant