diff --git a/libnetwork/endpoint.go b/libnetwork/endpoint.go index 08ea9ae815..38506c82a8 100644 --- a/libnetwork/endpoint.go +++ b/libnetwork/endpoint.go @@ -343,7 +343,7 @@ func (ep *endpoint) getNetworkFromStore() (*network, error) { return nil, fmt.Errorf("invalid network object in endpoint %s", ep.Name()) } - return ep.network.ctrlr.getNetworkFromStore(ep.network.id) + return ep.network.getController().getNetworkFromStore(ep.network.id) } func (ep *endpoint) Join(sbox Sandbox, options ...EndpointOption) error { diff --git a/libnetwork/store.go b/libnetwork/store.go index 89248800c9..bd39638b3c 100644 --- a/libnetwork/store.go +++ b/libnetwork/store.go @@ -141,8 +141,10 @@ func (c *controller) getNetworksFromStore() ([]*network, error) { return nil, fmt.Errorf("could not find endpoint count key %s for network %s while listing: %v", datastore.Key(ec.Key()...), n.Name(), err) } + n.Lock() n.epCnt = ec n.scope = store.Scope() + n.Unlock() nl = append(nl, n) } }