Something like a "dry run mode"
This commit is contained in:
		
							parent
							
								
									63bca66187
								
							
						
					
					
						commit
						bbff2cce09
					
				| 
						 | 
					@ -78,6 +78,7 @@ type Cluster struct {
 | 
				
			||||||
	currentProcess   spec.Process
 | 
						currentProcess   spec.Process
 | 
				
			||||||
	processMu        sync.RWMutex // protects the current operation for reporting, no need to hold the master mutex
 | 
						processMu        sync.RWMutex // protects the current operation for reporting, no need to hold the master mutex
 | 
				
			||||||
	specMu           sync.RWMutex // protects the spec for reporting, no need to hold the master mutex
 | 
						specMu           sync.RWMutex // protects the spec for reporting, no need to hold the master mutex
 | 
				
			||||||
 | 
						dryRunMode       bool
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type compareStatefulsetResult struct {
 | 
					type compareStatefulsetResult struct {
 | 
				
			||||||
| 
						 | 
					@ -114,6 +115,7 @@ func New(cfg Config, kubeClient k8sutil.KubernetesClient, pgSpec spec.Postgresql
 | 
				
			||||||
		deleteOptions:    &metav1.DeleteOptions{OrphanDependents: &orphanDependents},
 | 
							deleteOptions:    &metav1.DeleteOptions{OrphanDependents: &orphanDependents},
 | 
				
			||||||
		podEventsQueue:   podEventsQueue,
 | 
							podEventsQueue:   podEventsQueue,
 | 
				
			||||||
		KubeClient:       kubeClient,
 | 
							KubeClient:       kubeClient,
 | 
				
			||||||
 | 
							dryRunMode:       false,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	cluster.logger = logger.WithField("pkg", "cluster").WithField("cluster-name", cluster.clusterName())
 | 
						cluster.logger = logger.WithField("pkg", "cluster").WithField("cluster-name", cluster.clusterName())
 | 
				
			||||||
	cluster.teamsAPIClient = teams.NewTeamsAPI(cfg.OpConfig.TeamsAPIUrl, logger)
 | 
						cluster.teamsAPIClient = teams.NewTeamsAPI(cfg.OpConfig.TeamsAPIUrl, logger)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,6 +127,14 @@ func (c *Cluster) applyActions(actions []Action) (err error) {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for _, action := range uniqueActions {
 | 
				
			||||||
 | 
							c.logger.Infof("Applying action %s", action.Name())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if c.dryRunMode {
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, action := range uniqueActions {
 | 
						for _, action := range uniqueActions {
 | 
				
			||||||
		if err := action.Process(); err != nil {
 | 
							if err := action.Process(); err != nil {
 | 
				
			||||||
			c.logger.Errorf("Can't apply action %s: %v", action.Name(), err)
 | 
								c.logger.Errorf("Can't apply action %s: %v", action.Name(), err)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue