1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-02 07:24:20 +00:00

fix the bug where the value of delete_local_data is dropped by the ghodssyaml.Marshal function due to the same field has different names in YAML tag and JSON tag

This commit is contained in:
Jiaqi Luo
2024-02-28 17:39:46 -07:00
parent dbf3a46c7c
commit 2d51c6f13e

View File

@@ -687,10 +687,15 @@ func parseNodeDrainInput(clusterFile string, rkeConfig *v3.RancherKubernetesEngi
nodeDrainInput.GracePeriod = DefaultNodeDrainGracePeriod
update = true
} else {
// TODO: ghodssyaml.Marshal is losing the user provided value for GracePeriod, investigate why, till then assign the provided value explicitly
// add back user's value because ghodssyaml.Marshal drops the value due to the same field has different names in YAML tag and JSON tag
nodeDrainInput.GracePeriod = int(providedGracePeriod)
}
// add back user's value because ghodssyaml.Marshal drops the value due to the same field has different names in YAML tag and JSON tag
if val, ok := nodeDrainInputMap["delete_local_data"].(bool); ok {
nodeDrainInput.DeleteLocalData = val
}
if update {
rkeConfig.UpgradeStrategy.DrainInput = &nodeDrainInput
}