NetApp / trident

Storage orchestrator for containers
Apache License 2.0
732 stars 218 forks source link

tridentControllerPluginNodeSelector/tridentNodePluginNodeSelector won't work with "true" value #899

Open kmizumar opened 3 months ago

kmizumar commented 3 months ago

Describe the bug

Trying to use tridentControllerPluginNodeSelector and tridentNodePluginNodeSelector with helm chart setup providing the following values per yaml file would fail:

tridentControllerPluginNodeSelector:
  node-role.kubernetes.io/worker: "true"

tridentNodePluginNodeSelector:
  node-role.kubernetes.io/worker: "true"

This bug is exactly the same one which is reported in new nodeSelectors are not working when label value contains "true".

According to this update https://github.com/NetApp/trident/issues/700#issuecomment-1195891827, it's fixed in Trident 22.07 release, but some users reported it still exists in 23.04.0, 23.07.0, 23.10, and I hit this bug with 24.02 release.

I confirmed that Parajwal V brought in this problem again on 03/06/23 98c0d9ae, which Arnav Srivastava had solved on 06/01/22 a53cf69e.

Environment Provide accurate information about the environment to help us reproduce the issue.

To Reproduce see above.

Expected behavior node selector handles the value "true" correctly.

prajwalv-netapp commented 1 day ago

Hi @kmizumar , we are using the nodeAffinity and podAffinity with IN operator, which works on the set of strings. You're trying to use node-role.kubernetes.io/worker: "true" which treats it as string and fails.

Could you try to use as below and see if it works? node-role.kubernetes.io/worker: "'true'"