ClusterClass in different namespace than Cluster not supported by CSO

Open
#336 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
go, kubernetes

Research direction

Start by reproducing the kubectl sequence in the issue with the Cluster in tenant-1 and the ClusterClass or ClusterStackRelease in cluster-stacks. Trace the validation lookup that reports the ClusterStackRelease as missing; done means the cross-namespace ClusterClass and ClusterStackRelease are found and the warning no longer occurs.

Written by the indexing model from the issue text.

Description

/kind bug

@garloff @janiskemper @jschoone

What steps did you take and what happened:

Namespace A:

kubectl get clusterstack -n cluster-stacks
NAME                 PROVIDER    CLUSTERSTACK   K8S    CHANNEL   AUTOSUBSCRIBE   USABLE   LATEST                             AGE    REASON   MESSAGE    
openstack-scs-1-35   openstack   scs            1.35   stable    true            v4       openstack-scs-1-35-v4 | v1.35.3    6d5h      
kubectl get clusterclasses.cluster.x-k8s.io -n cluster-stacks
NAME                    VARIABLES READY   AGE
openstack-scs-1-34-v1   True              6d4h
openstack-scs-1-35-v3   True              6d4h
openstack-scs-1-35-v4   True              28m

Namespace B:

kubectl get clusteraddons.clusterstack.x-k8s.io -n tenant-1
NAME                                 CLUSTER                    HOOK   READY   AGE    REASON   MESSAGE
cluster-addon-tenant-1-cluster-1     tenant-1-cluster-1                true    20d
kubectl get cluster -n tenant-1
NAME                   CLUSTERCLASS            AVAILABLE   CP DESIRED   CP AVAILABLE   CP UP-TO-DATE   W DESIRED   W AVAILABLE   W UP-TO-DATE   PHASE         AGE    VERSION
tenant-1-cluster-1     openstack-scs-1-35-v4   True        3            3              3               4           4             4              Provisioned   641d   v1.35.3
kubectl get cluster -n tenant-1 tenant-1-cluster-1 -o yaml
apiVersion: cluster.x-k8s.io/v1beta2
kind: Cluster
metadata:
[...]
  name: cluster-1
  namespace: tenant-1-cluster-1
[...]
spec:
  topology:
    classRef:
      name: openstack-scs-1-35-v4
      namespace: cluster-stacks
[...]

Leads to:

Warning: cannot validate clusterClass and Kubernetes version. Getting clusterStackRelease object failed: clusterclass does not exist: ClusterStackRelease.clusterstack.x-k8s.io "openstack-scs-1-35-v4" not found
cluster.cluster.x-k8s.io/tenant-1-cluster-1 configured
What did you expect to happen:

ClusterClass / ClusterStackRelease is found.

Anything else you would like to add:

Maybe CSO does not correctly support storing the ClusterStack in another namespace than the cluster?

Environment:
  • cluster-stack-operator version: v0.2.0-alpha.1
Dominant language
Go
Stars
18
Forks
5
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SovereignCloudStack/cluster-stack-operator

All issues in SovereignCloudStack/cluster-stack-operator

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.