fix(provisioning): register topologyKeys from driver env (#395)

Signed-off-by: shubham <shubham14bajpai@gmail.com>
This commit is contained in:
Shubham Bajpai 2021-10-12 19:39:47 +05:30 committed by GitHub
parent 37a5cb80e2
commit a6462c5234
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 109 additions and 20 deletions

View file

@ -1,3 +1,4 @@
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
/*

View file

@ -235,8 +235,24 @@ func (ns *node) NodeGetInfo(
* }
*/
// support all the keys that node has
topology := node.Labels
topology := map[string]string{}
// support topologykeys from env ALLOWED_TOPOLOGIES
allowedTopologies := strings.Trim(os.Getenv("ALLOWED_TOPOLOGIES"), " ")
if strings.ToLower(allowedTopologies) == "all" {
topology = node.Labels
} else {
allowedKeys := strings.Split(allowedTopologies, ",")
for _, key := range allowedKeys {
if key != "" {
if value, ok := node.Labels[key]; ok {
topology[key] = value
} else {
klog.Warningf("failed to get value for topology key: %s", key)
}
}
}
}
// add driver's topology key if not labelled already
if _, ok := topology[zfs.ZFSTopologyKey]; !ok {