Skip to content

Commit

Permalink
warn destructive update only when count > 1 (#13103)
Browse files Browse the repository at this point in the history
  • Loading branch information
yaroot committed Sep 2, 2022
1 parent fe9e453 commit d33f1ea
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .changelog/13103.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:improvement
cli: warn destructive update only when count is greater than 1
```
2 changes: 1 addition & 1 deletion nomad/structs/structs.go
Original file line number Diff line number Diff line change
Expand Up @@ -6764,7 +6764,7 @@ func (tg *TaskGroup) Warnings(j *Job) error {
// Validate the update strategy
if u := tg.Update; u != nil {
// Check the counts are appropriate
if u.MaxParallel > tg.Count && !(j.IsMultiregion() && tg.Count == 0) {
if tg.Count > 1 && u.MaxParallel > tg.Count && !(j.IsMultiregion() && tg.Count == 0) {
mErr.Errors = append(mErr.Errors,
fmt.Errorf("Update max parallel count is greater than task group count (%d > %d). "+
"A destructive change would result in the simultaneous replacement of all allocations.", u.MaxParallel, tg.Count))
Expand Down
30 changes: 30 additions & 0 deletions nomad/structs/structs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,36 @@ func TestJob_Warnings(t *testing.T) {
},
},
},
{
Name: "Update.MaxParallel warning",
Expected: []string{"Update max parallel count is greater than task group count (5 > 2). A destructive change would result in the simultaneous replacement of all allocations."},
Job: &Job{
Type: JobTypeService,
TaskGroups: []*TaskGroup{
{
Count: 2,
Update: &UpdateStrategy{
MaxParallel: 5,
},
},
},
},
},
{
Name: "Update.MaxParallel no warning",
Expected: []string{},
Job: &Job{
Type: JobTypeService,
TaskGroups: []*TaskGroup{
{
Count: 1,
Update: &UpdateStrategy{
MaxParallel: 5,
},
},
},
},
},
}

for _, c := range cases {
Expand Down

0 comments on commit d33f1ea

Please sign in to comment.