mirror of https://github.com/docker/docs.git
remove refresh networks
Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
parent
7447576786
commit
5492f4ab82
|
|
@ -427,12 +427,32 @@ func (e *Engine) RemoveImage(image *Image, name string, force bool) ([]*dockercl
|
|||
|
||||
}
|
||||
|
||||
// RemoveNetwork deletes a network from the engine.
|
||||
// RemoveNetwork removes a network from the engine.
|
||||
func (e *Engine) RemoveNetwork(network *Network) error {
|
||||
err := e.client.RemoveNetwork(network.ID)
|
||||
e.CheckConnectionErr(err)
|
||||
e.RefreshNetworks()
|
||||
return err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Remove the container from the state. Eventually, the state refresh loop
|
||||
// will rewrite this.
|
||||
e.DeleteNetwork(network)
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteNetwork deletes a network from the internal engine state.
|
||||
func (e *Engine) DeleteNetwork(network *Network) {
|
||||
e.Lock()
|
||||
delete(e.networks, network.ID)
|
||||
e.Unlock()
|
||||
}
|
||||
|
||||
// AddNetwork adds a network to the internal engine state.
|
||||
func (e *Engine) AddNetwork(network *Network) {
|
||||
e.Lock()
|
||||
e.networks[network.ID] = network
|
||||
e.Unlock()
|
||||
}
|
||||
|
||||
// RemoveVolume deletes a volume from the engine.
|
||||
|
|
|
|||
|
|
@ -216,7 +216,11 @@ func (c *Cluster) RemoveContainer(container *cluster.Container, force, volumes b
|
|||
// RemoveNetwork removes a network from the cluster
|
||||
func (c *Cluster) RemoveNetwork(network *cluster.Network) error {
|
||||
err := network.Engine.RemoveNetwork(network)
|
||||
c.refreshNetworks()
|
||||
if err == nil {
|
||||
for _, engine := range c.engines {
|
||||
engine.DeleteNetwork(network)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
@ -434,18 +438,6 @@ func (c *Cluster) RemoveImages(name string, force bool) ([]*dockerclient.ImageDe
|
|||
return out, err
|
||||
}
|
||||
|
||||
func (c *Cluster) refreshNetworks() {
|
||||
var wg sync.WaitGroup
|
||||
for _, e := range c.engines {
|
||||
wg.Add(1)
|
||||
go func(e *cluster.Engine) {
|
||||
e.RefreshNetworks()
|
||||
wg.Done()
|
||||
}(e)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func (c *Cluster) refreshVolumes() {
|
||||
var wg sync.WaitGroup
|
||||
for _, e := range c.engines {
|
||||
|
|
@ -477,7 +469,12 @@ func (c *Cluster) CreateNetwork(request *dockerclient.NetworkCreate) (response *
|
|||
}
|
||||
if nodes != nil {
|
||||
resp, err := c.engines[nodes[0].ID].CreateNetwork(request)
|
||||
c.refreshNetworks()
|
||||
if err == nil {
|
||||
network := c.engines[nodes[0].ID].Networks().Get(resp.ID)
|
||||
for _, engine := range c.engines {
|
||||
engine.AddNetwork(network)
|
||||
}
|
||||
}
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
|
|
|
|||
Loading…
Reference in New Issue