scale must ignore oneoff containers

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
Nicolas De Loof 2021-04-16 08:56:16 +02:00
parent fb5d51f880
commit a8819763b4
No known key found for this signature in database
GPG Key ID: 9858809D6F8F6E7E
2 changed files with 6 additions and 1 deletions

View File

@ -83,6 +83,11 @@ func isNotService(services ...string) containerPredicate {
} }
} }
func isNotOneOff(c moby.Container) bool {
v, ok := c.Labels[oneoffLabel]
return !ok || v == "False"
}
// filter return Containers with elements to match predicate // filter return Containers with elements to match predicate
func (containers Containers) filter(predicate containerPredicate) Containers { func (containers Containers) filter(predicate containerPredicate) Containers {
var filtered Containers var filtered Containers

View File

@ -52,7 +52,7 @@ func (s *composeService) ensureScale(ctx context.Context, project *types.Project
return nil, nil, err return nil, nil, err
} }
observedState := cState.GetContainers() observedState := cState.GetContainers()
actual := observedState.filter(isService(service.Name)) actual := observedState.filter(isService(service.Name)).filter(isNotOneOff)
scale, err := getScale(service) scale, err := getScale(service)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err