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

[BUG] defaultSettings taintToleration is not applied to engine-image daemon set. #8549

Closed
debugger24 opened this issue May 11, 2024 · 6 comments
Labels
kind/bug require/backport Require backport. Only used when the specific versions to backport have not been definied. require/qa-review-coverage Require QA to review coverage

Comments

@debugger24
Copy link

debugger24 commented May 11, 2024

Describe the bug

defaultSettings taintToleration config in the helm chart and in longhorn-default-setting is not applied to engine-image daemon set.

longhorn/longhorn-tests#192 doesn't test engine-image-ei daemonset.

To Reproduce

Expected behavior

defaultSettings taintToleration should be applied to all daemonsets.

Support bundle for troubleshooting

Environment

  • Longhorn version: v1.6.1
  • Impacted volume (PV):
  • Installation method (e.g. Rancher Catalog App/Helm/Kubectl):
  • Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: K3s v1.28.4+k3s2
    • Number of control plane nodes in the cluster: 3
    • Number of worker nodes in the cluster: 3
  • Node config
    • OS type and version:
    • Kernel version:
    • CPU per node:
    • Memory per node:
    • Disk type (e.g. SSD/NVMe/HDD):
    • Network bandwidth between the nodes (Gbps):
  • Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
  • Number of Longhorn volumes in the cluster: 0

Additional context

@debugger24 debugger24 added kind/bug require/backport Require backport. Only used when the specific versions to backport have not been definied. require/qa-review-coverage Require QA to review coverage labels May 11, 2024
@derekbit
Copy link
Member

Ref: #4843

@PhanLe1010
Copy link
Contributor

I will try to reproduce this

@PhanLe1010
Copy link
Contributor

Cannot reproduce this issue @debugger24 . I tried to install Longhorn v1.6.1 Helm using this default setting:

defaultSettings:
  taintToleration: "key=value:NoSchedule"

The outcome is that engine-image-ei daemonset does have the correct toleration:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: '1'
    longhorn.io/last-applied-tolerations: '[{"key":"key","operator":"Equal","value":"value","effect":"NoSchedule"}]'
  name: engine-image-ei-ad735e4a
  namespace: longhorn-system
spec:
  selector:
    matchLabels:
      longhorn.io/component: engine-image
      longhorn.io/engine-image: ei-ad735e4a
  template:
    metadata:
    spec:
      tolerations:
        - effect: NoSchedule
          key: key
          operator: Equal
          value: value

Could you give more details about how you reproduced it? @debugger24

@debugger24
Copy link
Author

debugger24 commented May 17, 2024

I am using same 1.6.1,

- repoURL: "https://charts.longhorn.io"
  targetRevision: 1.6.1
  chart: longhorn

This was my values override, I didn't pass defaultSettings.taintToleration as string but as array.

longhornDriver:
  tolerations:
    - key: "###"
      operator: "Equal"
      value: "core"
      effect: "NoSchedule"
longhornManager:
  tolerations:
    - key: "###"
      operator: "Equal"
      value: "core"
      effect: "NoSchedule"
preUpgradeChecker:
  jobEnabled: false
defaultSettings:
  taintToleration:
    - key: "###"
      operator: "Equal"
      value: "core"
      effect: "NoSchedule"
longhornUI:
  replicas: 1
ingress:
  enabled: true
  host: "###"
  ingressClassName: traefik
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
csi:
  attacherReplicaCount: 2
  provisionerReplicaCount: 2
  snapshotterReplicaCount: 2
  resizerReplicaCount: 2

@debugger24
Copy link
Author

Ah yea, my bad, it was mentioned

Specify values using a semicolon-separated list in kubectl taint syntax (Example: key1=value1:effect; key2=value2:effect).

@debugger24
Copy link
Author

Working fine. Thanks @PhanLe1010

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug require/backport Require backport. Only used when the specific versions to backport have not been definied. require/qa-review-coverage Require QA to review coverage
Projects
Development

No branches or pull requests

3 participants