Cleanup workload deletionTimestamp before write to work.
Signed-off-by: RainbowMango <renhongcai@huawei.com>
This commit is contained in:
parent
a2ca222aa4
commit
538462e74d
|
@ -68,14 +68,34 @@ func (a *MutatingAdmission) InjectDecoder(d *admission.Decoder) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// RemoveIrrelevantField will delete irrelevant field from workload. such as uid, timestamp, status
|
||||
// removeIrrelevantField used to remove fields that generated by kube-apiserver and no need(or can't) propagate to
|
||||
// member clusters.
|
||||
func removeIrrelevantField(workload *unstructured.Unstructured) {
|
||||
// populated by the kubernetes.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "creationTimestamp")
|
||||
|
||||
// populated by the kubernetes.
|
||||
// The kubernetes will set this fields in case of graceful deletion. This field is read-only and can't propagate to
|
||||
// member clusters.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "deletionTimestamp")
|
||||
|
||||
// populated by the kubernetes.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "generation")
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "resourceVersion")
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "selfLink")
|
||||
|
||||
// This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field.
|
||||
// Remove this field to keep 'Work' clean and tidy.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "managedFields")
|
||||
|
||||
// populated by the kubernetes.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "resourceVersion")
|
||||
|
||||
// populated by the kubernetes and has been deprecated by kubernetes.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "selfLink")
|
||||
|
||||
// populated by the kubernetes.
|
||||
unstructured.RemoveNestedField(workload.Object, "metadata", "uid")
|
||||
|
||||
unstructured.RemoveNestedField(workload.Object, "status")
|
||||
|
||||
unstructured.RemoveNestedField(workload.Object, "spec", "clusterIP")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue