Merge pull request #24158 from mavenugo/smissues

Fixed a few network UI issues in swarm-mode
This commit is contained in:
Arnaud Porterie 2016-07-05 20:28:20 +00:00 committed by GitHub
commit 5b41316815
2 changed files with 14 additions and 0 deletions

View file

@ -81,6 +81,10 @@ func (n *networkRouter) postNetworkCreate(ctx context.Context, w http.ResponseWr
return err
}
if _, err := n.clusterProvider.GetNetwork(create.Name); err == nil {
return libnetwork.NetworkNameError(create.Name)
}
nw, err := n.backend.CreateNetwork(create)
if err != nil {
if _, ok := err.(libnetwork.ManagerRedirectError); !ok {

View file

@ -292,6 +292,10 @@ func (daemon *Daemon) UpdateContainerServiceConfig(containerName string, service
return nil
}
func errClusterNetworkConnect() error {
return fmt.Errorf("cannot connect or disconnect managed containers on a network")
}
// ConnectContainerToNetwork connects the given container to the given
// network. If either cannot be found, an err is returned. If the
// network cannot be set up, an err is returned.
@ -300,6 +304,9 @@ func (daemon *Daemon) ConnectContainerToNetwork(containerName, networkName strin
if err != nil {
return err
}
if container.Managed {
return errClusterNetworkConnect()
}
return daemon.ConnectToNetwork(container, networkName, endpointConfig)
}
@ -313,6 +320,9 @@ func (daemon *Daemon) DisconnectContainerFromNetwork(containerName string, netwo
}
return err
}
if container.Managed {
return errClusterNetworkConnect()
}
return daemon.DisconnectFromNetwork(container, network, force)
}