Address first part of the code review

This commit is contained in:
Sergey Dudoladov 2019-05-03 11:21:09 +02:00
parent b2d7034b48
commit 6dc97d6fc1
3 changed files with 12 additions and 12 deletions

View File

@ -487,9 +487,10 @@ func compareResoucesAssumeFirstNotNil(a *v1.ResourceRequirements, b *v1.Resource
}
// Update changes Kubernetes objects according to the new specification. Unlike the sync case, the missing object.
// Update changes Kubernetes objects according to the new specification. Unlike the sync case, the missing object
// (i.e. service) is treated as an error
// logical backup cron jobs are an exception: they can be freely created/deleted by users
// logical backup cron jobs are an exception: a user-initiated Update can enable a logical backup job
// for a cluster that had no such job before. In this case a missing job is not an error.
func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error {
updateFailed := false
@ -602,7 +603,7 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error {
// apply schedule changes
// this is the only parameter of logical backups a user can overwrite in the cluster manifest
if (newSpec.Spec.EnableLogicalBackup) &&
if (oldSpec.Spec.EnableLogicalBackup && newSpec.Spec.EnableLogicalBackup) &&
(newSpec.Spec.LogicalBackupSchedule != oldSpec.Spec.LogicalBackupSchedule) {
c.logger.Debugf("updating schedule of the backup cron job")
if err := c.syncLogicalBackupJob(); err != nil {
@ -1059,10 +1060,3 @@ func (c *Cluster) deletePatroniClusterConfigMaps() error {
return c.deleteClusterObject(get, deleteConfigMapFn, "configmap")
}
func (c *Cluster) deleteLogicalBackupJob() error {
c.logger.Debug("removing the logical backup job")
return c.KubeClient.CronJobsGetter.CronJobs(c.Namespace).Delete(c.getLogicalBackupJobName(), c.deleteOptions)
}

View File

@ -648,6 +648,13 @@ func (c *Cluster) patchLogicalBackupJob(newJob *batchv1beta1.CronJob) error {
return nil
}
func (c *Cluster) deleteLogicalBackupJob() error {
c.logger.Info("removing the logical backup job")
return c.KubeClient.CronJobsGetter.CronJobs(c.Namespace).Delete(c.getLogicalBackupJobName(), c.deleteOptions)
}
// GetServiceMaster returns cluster's kubernetes master Service
func (c *Cluster) GetServiceMaster() *v1.Service {
return c.Services[Master]

View File

@ -540,7 +540,6 @@ func (c *Cluster) syncLogicalBackupJob() error {
c.setProcessName("syncing the logical backup job")
// sync the job if it exists
// NB operator pod at startup syncs all clusters, c.logicalBackupJob will be nil during such Sync
jobName := c.getLogicalBackupJobName()
if job, err = c.KubeClient.CronJobsGetter.CronJobs(c.Namespace).Get(jobName, metav1.GetOptions{}); err == nil {
@ -554,7 +553,7 @@ func (c *Cluster) syncLogicalBackupJob() error {
if err = c.patchLogicalBackupJob(desiredJob); err != nil {
return fmt.Errorf("could not update logical backup job to match desired state: %v", err)
}
c.logger.Info("the logical backup job is in the desired state now")
c.logger.Info("the logical backup job is synced")
}
return nil
}