Open lgfa29 opened 6 months ago
Had the same issue, downgrading to 1.27.0 fixed it for me.
Wondering timeline on this - is a fix as simple as doing an intersection of the two maps? Not crucial, but is blocking our team from upgrading our csi driver.
Starting in v1.28.0, the AWS EBS CSI plugin introduced a new segment key to the repose of
NodeGetInfo
.When this version of the plugin is used, the Nomad client receives the following accessible topology segments.
But dynamic volume creation does not add the
topology.kubernetes.io/zone
key, even if requested.This causes the volume to fail scheduling because the topology segments are compared with strict equality. https://github.com/hashicorp/nomad/blob/3193ac204f6564711004e00948e43146ce1399c4/nomad/structs/node.go#L63-L68
Any job that tries to use it will fail placement with a constraint violation.
I've skimmed the spec a few times, but it's not clear to me how to handle this scenario.
As pointed out in https://github.com/kubernetes-sigs/aws-ebs-csi-driver/issues/729#issuecomment-1984130759, Kubernetes ignores additional node segments, so the additional segments in the node may be safe to ignore.
Reproduction steps
mysql.nomad.hcl
job.Expected Result
Job starts successfully.
Actual Result
Job fails placement with constraint error: