Skip to content

Commit

Permalink
apache#1199: fix cronjob conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolaferraro committed Jan 28, 2020
1 parent 88a6532 commit 938b786
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions pkg/trait/cron.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,21 +169,36 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {

// Fallback strategy can be implemented in any other controller
if t.Fallback != nil && *t.Fallback {
if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionCronJobAvailable,
corev1.ConditionFalse,
v1.IntegrationConditionCronJobNotAvailableReason,
"fallback strategy selected",
)
}
return true, nil
}

// CronJob strategy requires common schedule
strategy, err := e.DetermineControllerStrategy(t.ctx, t.client)
if err != nil {
return false, err
}
if strategy != ControllerStrategyCronJob {
e.Integration.Status.SetCondition(
e.Integration.Status.SetErrorCondition(
v1.IntegrationConditionCronJobAvailable,
corev1.ConditionFalse,
v1.IntegrationConditionCronJobNotAvailableReason,
"controller strategy: "+string(strategy),
err,
)
return false, err
}
if strategy != ControllerStrategyCronJob {
if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionCronJobAvailable,
corev1.ConditionFalse,
v1.IntegrationConditionCronJobNotAvailableReason,
"controller strategy: "+string(strategy),
)
}
return false, nil
}

Expand Down

0 comments on commit 938b786

Please sign in to comment.