in controllers/util/common.go [411:494]
func CopyPodTemplates(from, to *corev1.PodTemplateSpec, basePath string, logger logr.Logger) (requireUpdate bool) {
if basePath == "" {
logger = logger.WithValues("kind", "pod")
}
if !DeepEqualWithNils(to.Labels, from.Labels) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Labels", "from", to.Labels, "to", from.Labels)
to.Labels = from.Labels
}
if !DeepEqualWithNils(to.Annotations, from.Annotations) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Annotations", "from", to.Annotations, "to", from.Annotations)
to.Annotations = from.Annotations
}
requireUpdate = CopyPodContainers(&from.Spec.Containers, &to.Spec.Containers, basePath+"Spec.Containers", logger) || requireUpdate
requireUpdate = CopyPodContainers(&from.Spec.InitContainers, &to.Spec.InitContainers, basePath+"Spec.InitContainers", logger) || requireUpdate
requireUpdate = CopyPodVolumes(&from.Spec.Volumes, &to.Spec.Volumes, basePath+"Spec.Volumes", logger) || requireUpdate
if !DeepEqualWithNils(to.Spec.HostAliases, from.Spec.HostAliases) {
requireUpdate = true
to.Spec.HostAliases = from.Spec.HostAliases
logger.Info("Update required because field changed", "field", basePath+"Spec.HostAliases", "from", to.Spec.HostAliases, "to", from.Spec.HostAliases)
}
if !DeepEqualWithNils(to.Spec.ImagePullSecrets, from.Spec.ImagePullSecrets) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.ImagePullSecrets", "from", to.Spec.ImagePullSecrets, "to", from.Spec.ImagePullSecrets)
to.Spec.ImagePullSecrets = from.Spec.ImagePullSecrets
}
if !DeepEqualWithNils(to.Spec.Affinity, from.Spec.Affinity) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.Affinity", "from", to.Spec.Affinity, "to", from.Spec.Affinity)
to.Spec.Affinity = from.Spec.Affinity
}
if !DeepEqualWithNils(to.Spec.SecurityContext, from.Spec.SecurityContext) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.SecurityContext", "from", to.Spec.SecurityContext, "to", from.Spec.SecurityContext)
to.Spec.SecurityContext = from.Spec.SecurityContext
}
if !DeepEqualWithNils(to.Spec.NodeSelector, from.Spec.NodeSelector) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.NodeSelector", "from", to.Spec.NodeSelector, "to", from.Spec.NodeSelector)
to.Spec.NodeSelector = from.Spec.NodeSelector
}
if !DeepEqualWithNils(to.Spec.Tolerations, from.Spec.Tolerations) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.Tolerations", "from", to.Spec.Tolerations, "to", from.Spec.Tolerations)
to.Spec.Tolerations = from.Spec.Tolerations
}
if !DeepEqualWithNils(to.Spec.PriorityClassName, from.Spec.PriorityClassName) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.PriorityClassName", "from", to.Spec.PriorityClassName, "to", from.Spec.PriorityClassName)
to.Spec.PriorityClassName = from.Spec.PriorityClassName
}
if !DeepEqualWithNils(to.Spec.TerminationGracePeriodSeconds, from.Spec.TerminationGracePeriodSeconds) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.TerminationGracePeriodSeconds", "from", to.Spec.TerminationGracePeriodSeconds, "to", from.Spec.TerminationGracePeriodSeconds)
to.Spec.TerminationGracePeriodSeconds = from.Spec.TerminationGracePeriodSeconds
}
if !DeepEqualWithNils(to.Spec.ServiceAccountName, from.Spec.ServiceAccountName) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.ServiceAccountName", "from", to.Spec.ServiceAccountName, "to", from.Spec.ServiceAccountName)
to.Spec.ServiceAccountName = from.Spec.ServiceAccountName
}
if !DeepEqualWithNils(to.Spec.TopologySpreadConstraints, from.Spec.TopologySpreadConstraints) {
requireUpdate = true
logger.Info("Update required because field changed", "field", basePath+"Spec.TopologySpreadConstraints", "from", to.Spec.TopologySpreadConstraints, "to", from.Spec.TopologySpreadConstraints)
to.Spec.TopologySpreadConstraints = from.Spec.TopologySpreadConstraints
}
return requireUpdate
}