Skip to content

Commit 8766720

Browse files
committed
Merge pull request #718 from aboch/pm
Fix in DriverInfo()
2 parents b9787aa + 05fc05b commit 8766720

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

endpoint_info.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,17 @@ func (ep *endpoint) Info() EndpointInfo {
163163
}
164164

165165
func (ep *endpoint) DriverInfo() (map[string]interface{}, error) {
166+
ep, err := ep.retrieveFromStore()
167+
if err != nil {
168+
return nil, err
169+
}
170+
171+
if sb, ok := ep.getSandbox(); ok {
172+
if gwep := sb.getEndpointInGWNetwork(); gwep != nil && gwep.ID() != ep.ID() {
173+
return gwep.DriverInfo()
174+
}
175+
}
176+
166177
n, err := ep.getNetworkFromStore()
167178
if err != nil {
168179
return nil, fmt.Errorf("could not find network in store for driver info: %v", err)
@@ -317,3 +328,11 @@ func (ep *endpoint) SetGatewayIPv6(gw6 net.IP) error {
317328
ep.joinInfo.gw6 = types.GetIPCopy(gw6)
318329
return nil
319330
}
331+
332+
func (ep *endpoint) retrieveFromStore() (*endpoint, error) {
333+
n, err := ep.getNetworkFromStore()
334+
if err != nil {
335+
return nil, fmt.Errorf("could not find network in store to get latest endpoint %s: %v", ep.Name(), err)
336+
}
337+
return n.getEndpointFromStore(ep.ID())
338+
}

0 commit comments

Comments
 (0)