Merge pull request #2415 from Garrybest/pr_pv
retain PersistentVolume fields
This commit is contained in:
commit
f70fe8a0e6
|
@ -22,6 +22,7 @@ func getAllDefaultRetentionInterpreter() map[schema.GroupVersionKind]retentionIn
|
||||||
s[corev1.SchemeGroupVersion.WithKind(util.ServiceKind)] = lifted.RetainServiceFields
|
s[corev1.SchemeGroupVersion.WithKind(util.ServiceKind)] = lifted.RetainServiceFields
|
||||||
s[corev1.SchemeGroupVersion.WithKind(util.ServiceAccountKind)] = lifted.RetainServiceAccountFields
|
s[corev1.SchemeGroupVersion.WithKind(util.ServiceAccountKind)] = lifted.RetainServiceAccountFields
|
||||||
s[corev1.SchemeGroupVersion.WithKind(util.PersistentVolumeClaimKind)] = retainPersistentVolumeClaimFields
|
s[corev1.SchemeGroupVersion.WithKind(util.PersistentVolumeClaimKind)] = retainPersistentVolumeClaimFields
|
||||||
|
s[corev1.SchemeGroupVersion.WithKind(util.PersistentVolumeKind)] = retainPersistentVolumeFields
|
||||||
s[batchv1.SchemeGroupVersion.WithKind(util.JobKind)] = retainJobSelectorFields
|
s[batchv1.SchemeGroupVersion.WithKind(util.JobKind)] = retainJobSelectorFields
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
@ -74,6 +75,20 @@ func retainPersistentVolumeClaimFields(desired, observed *unstructured.Unstructu
|
||||||
return desired, nil
|
return desired, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func retainPersistentVolumeFields(desired, observed *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
||||||
|
// claimRef is updated by kube-controller-manager.
|
||||||
|
claimRef, ok, err := unstructured.NestedFieldNoCopy(observed.Object, "spec", "claimRef")
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to retrieve claimRef from pv: %v", err)
|
||||||
|
}
|
||||||
|
if ok {
|
||||||
|
if err = unstructured.SetNestedField(desired.Object, claimRef, "spec", "claimRef"); err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to set claimRef for pv: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return desired, nil
|
||||||
|
}
|
||||||
|
|
||||||
func retainJobSelectorFields(desired, observed *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
func retainJobSelectorFields(desired, observed *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
||||||
matchLabels, exist, err := unstructured.NestedStringMap(observed.Object, "spec", "selector", "matchLabels")
|
matchLabels, exist, err := unstructured.NestedStringMap(observed.Object, "spec", "selector", "matchLabels")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue