don't check external network existence when swarm is enabled

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
Nicolas De Loof 2024-01-25 15:56:31 +01:00 committed by Guillaume Lours
parent cdb6eb55d5
commit da1a34a8f2
1 changed files with 7 additions and 10 deletions

View File

@ -1246,19 +1246,16 @@ func (s *composeService) resolveExternalNetwork(ctx context.Context, n *types.Ne
n.Name = networks[0].ID
return nil
case 0:
if n.Driver == "overlay" {
enabled, err := s.isSWarmEnabled(ctx)
if err != nil {
return err
}
if enabled {
// Swarm nodes do not register overlay networks that were
// created on a different node unless they're in use.
// Here we assume `driver` is relevant for a network we don't manage
// which is a non-sense, but this is our legacy ¯\(ツ)/¯
// So we can't preemptively check network exists, but
// networkAttach will later fail anyway if network actually doesn't exists
enabled, err := s.isSWarmEnabled(ctx)
if err != nil {
return err
}
if enabled {
return nil
}
return nil
}
return fmt.Errorf("network %s declared as external, but could not be found", n.Name)
default: