diff --git a/controller.go b/controller.go index 225f7fa609..14dea4d515 100644 --- a/controller.go +++ b/controller.go @@ -49,6 +49,7 @@ import ( "net" "path/filepath" "runtime" + "runtime/debug" "strings" "sync" "time" @@ -1052,7 +1053,8 @@ func (c *controller) NewSandbox(containerID string, options ...SandboxOption) (S if containerID == "" { return nil, types.BadRequestErrorf("invalid container ID") } - + logrus.Debugf("SAANVIIIIII %s", containerID) + debug.PrintStack() var sb *sandbox c.Lock() for _, s := range c.sandboxes { diff --git a/error.go b/error.go index 5f00709ff9..7d6b6c925a 100644 --- a/error.go +++ b/error.go @@ -107,6 +107,16 @@ func (nnr NetworkNameError) Error() string { // Forbidden denotes the type of this error func (nnr NetworkNameError) Forbidden() {} +// PredefinedNetworkError is returned when user tries to create predefined network that already exists. +type PredefinedNetworkError string + +func (pnr PredefinedNetworkError) Error() string { + return fmt.Sprintf("operation is not permitted on predefined %s network ", string(pnr)) +} + +// Forbidden denotes the type of this error +func (pnr PredefinedNetworkError) Forbidden() {} + // UnknownNetworkError is returned when libnetwork could not find in its database // a network with the same name and id. type UnknownNetworkError struct { diff --git a/network.go b/network.go index e283d65815..ae9dd3be11 100644 --- a/network.go +++ b/network.go @@ -2056,6 +2056,7 @@ func (c *controller) getConfigNetwork(name string) (*network, error) { } func (n *network) createLoadBalancerSandbox() error { + var err error sandboxName := n.name + "-sbox" sbOptions := []SandboxOption{} if n.ingress { @@ -2090,10 +2091,12 @@ func (n *network) createLoadBalancerSandbox() error { } }() - if err := ep.Join(sb, nil); err != nil { + err = ep.Join(sb, nil) + if err != nil { return err } - return sb.EnableService() + err = sb.EnableService() + return err } func (n *network) deleteLoadBalancerSandbox() {