mayadata-io / mayadata-io/cstorpoolauto

bug: scale down of pools does not work

Open
#80 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
8
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Title: scaling down pools does not work in CStorClusterConfig
Recreation Steps: Create CStorClusterConfig with defaults auto set by controller. Edit the CStorClusterConfig with MinPoolCount set to 2.
Expect: CStor pools should scale down from 3 to 2.
Actual: CStor pools remain at 3
Other Details: There is a visible skew in MinPoolCount in last applied state vs. specs.

  basic > kubectl -n openebs get cstorclusterconfig -oyaml
apiVersion: v1
items:
- apiVersion: dao.mayadata.io/v1alpha1
  kind: CStorClusterConfig
  metadata:
    annotations:
      52234ef9-4702-11ea-a70d-42010a800115/gctl-last-applied: '{"apiVersion":"dao.mayadata.io/v1alpha1","kind":"CStorClusterConfig","metadata":{"name":"my-cstor-cluster","namespace":"openebs"},"spec":{"diskConfig":{"minCapacity":107374182400,"minCount":2},"maxPoolCount":0,"minPoolCount":3,"poolConfig":{"raidType":"mirror"}}}'
      52234ef9-4702-11ea-a70d-42010a800115/updated-due-to-watch: dao.mayadata.io-v1alpha1-CStorClusterConfig-openebs-my-cstor-cluster
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"dao.mayadata.io/v1alpha1","kind":"CStorClusterConfig","metadata":{"annotations":{},"name":"my-cstor-cluster","namespace":"openebs"},"spec":{"diskConfig":{"externalProvisioner":{"csiAttacherName":"pd.csi.storage.gke.io","storageClassName":"csi-gce-pd"}},"poolConfig":{"raidType":"mirror"}}}
    creationTimestamp: "2020-02-04T03:56:28Z"
    generation: 3
    name: my-cstor-cluster
    namespace: openebs
    resourceVersion: "23778614"
    selfLink: /apis/dao.mayadata.io/v1alpha1/namespaces/openebs/cstorclusterconfigs/my-cstor-cluster
    uid: 52234ef9-4702-11ea-a70d-42010a800115
  spec:
    diskConfig:
      externalProvisioner:
        csiAttacherName: pd.csi.storage.gke.io
        storageClassName: csi-gce-pd
      minCapacity: 107374182400
      minCount: 2
    maxPoolCount: 0
    minPoolCount: 2
    poolConfig:
      raidType: mirror
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""
  basic > kubectl -n openebs get cstorclusterplan -oyaml
apiVersion: v1
items:
- apiVersion: dao.mayadata.io/v1alpha1
  kind: CStorClusterPlan
  metadata:
    annotations:
      52234ef9-4702-11ea-a70d-42010a800115/gctl-last-applied: '{"apiVersion":"dao.mayadata.io/v1alpha1","kind":"CStorClusterPlan","metadata":{"annotations":{"dao.mayadata.io/cstorclusterconfig-uid":"52234ef9-4702-11ea-a70d-42010a800115"},"name":"my-cstor-cluster","namespace":"openebs"},"spec":{"nodes":[{"name":"gke-amitd-dao-d-default-pool-fcc50975-wt3x","uid":"bb3318c7-1b11-11ea-a90b-42010a800016"},{"name":"gke-amitd-dao-d-default-pool-fcc50975-blz8","uid":"bb3c94a2-1b11-11ea-a90b-42010a800016"},{"name":"gke-amitd-dao-d-default-pool-fcc50975-fvsb","uid":"ba217ce0-1b11-11ea-a90b-42010a800016"}]}}'
      dao.mayadata.io/cstorclusterconfig-uid: 52234ef9-4702-11ea-a70d-42010a800115
      metac.openebs.io/created-due-to-watch: 52234ef9-4702-11ea-a70d-42010a800115
    creationTimestamp: "2020-02-04T03:56:28Z"
    generation: 1
    name: my-cstor-cluster
    namespace: openebs
    resourceVersion: "23774136"
    selfLink: /apis/dao.mayadata.io/v1alpha1/namespaces/openebs/cstorclusterplans/my-cstor-cluster
    uid: 5226123b-4702-11ea-a70d-42010a800115
  spec:
    nodes:
    - name: gke-amitd-dao-d-default-pool-fcc50975-wt3x
      uid: bb3318c7-1b11-11ea-a90b-42010a800016
    - name: gke-amitd-dao-d-default-pool-fcc50975-blz8
      uid: bb3c94a2-1b11-11ea-a90b-42010a800016
    - name: gke-amitd-dao-d-default-pool-fcc50975-fvsb
      uid: ba217ce0-1b11-11ea-a90b-42010a800016
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with the reconciliation paths for CStorClusterConfig and CStorClusterPlan, focusing on how minPoolCount changes are reflected in the plan. Reproduce the reported change from 3 to 2 and trace the mismatch between the last-applied state and spec; done means the plan and CStor pools both reduce to 2.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.