Something like a "dry run mode"

This commit is contained in:
erthalion 2018-06-13 12:03:59 +02:00
parent 63bca66187
commit bbff2cce09
2 changed files with 10 additions and 0 deletions

View File

@ -78,6 +78,7 @@ type Cluster struct {
currentProcess spec.Process
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
dryRunMode bool
}
type compareStatefulsetResult struct {
@ -114,6 +115,7 @@ func New(cfg Config, kubeClient k8sutil.KubernetesClient, pgSpec spec.Postgresql
deleteOptions: &metav1.DeleteOptions{OrphanDependents: &orphanDependents},
podEventsQueue: podEventsQueue,
KubeClient: kubeClient,
dryRunMode: false,
}
cluster.logger = logger.WithField("pkg", "cluster").WithField("cluster-name", cluster.clusterName())
cluster.teamsAPIClient = teams.NewTeamsAPI(cfg.OpConfig.TeamsAPIUrl, logger)

View File

@ -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 {
if err := action.Process(); err != nil {
c.logger.Errorf("Can't apply action %s: %v", action.Name(), err)