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

View File

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