Improve error when connecting service to network

The error didn't hint at how to resolve it. Google auto-suggest
also implies that people have been Googling this error.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Upstream-commit: 70acb89fa2e889393d33664bc780cf116795f3e4
Component: engine
This commit is contained in:
Ben Firshman
2016-11-24 14:26:11 +00:00
parent 604d842f1a
commit 64b693348d

View File

@ -1764,7 +1764,7 @@ func (c *Cluster) populateNetworkID(ctx context.Context, client swarmapi.Control
apiNetwork, err := getNetwork(ctx, client, n.Target)
if err != nil {
if ln, _ := c.config.Backend.FindNetwork(n.Target); ln != nil && !ln.Info().Dynamic() {
err = fmt.Errorf("network %s is not eligible for docker services", ln.Name())
err = fmt.Errorf("The network %s cannot be used with services. Only networks scoped to the swarm can be used, such as those created with the overlay driver.", ln.Name())
return apierrors.NewRequestForbiddenError(err)
}
return err