Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 28 additions & 8 deletions drivers/windows/windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,17 @@ type EndpointConnectivity struct {
}

type hnsEndpoint struct {
id string
nid string
profileID string
Type string
id string
nid string
profileID string
Type string
//Note: Currently, the sandboxID is the same as the containerID since windows does
//not expose the sandboxID.
//In the future, windows will support a proper sandboxID that is different
//than the containerID.
//Therefore, we are using sandboxID now, so that we won't have to change this code
//when windows properly supports a sandboxID.
sandboxID string
macAddress net.HardwareAddr
epOption *endpointOption // User specified parameters
epConnectivity *EndpointConnectivity // User specified parameters
Expand Down Expand Up @@ -730,7 +737,15 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo,
return err
}

// This is just a stub for now
endpoint.sandboxID = sboxKey

err = hcsshim.HotAttachEndpoint(endpoint.sandboxID, endpoint.profileID)
if err != nil {
// If container doesn't exists in hcs, do not throw error for hot add/remove
if err != hcsshim.ErrComputeSystemDoesNotExist {
return err
}
}

jinfo.DisableGatewayService()
return nil
Expand All @@ -744,13 +759,18 @@ func (d *driver) Leave(nid, eid string) error {
}

// Ensure that the endpoint exists
_, err = network.getEndpoint(eid)
endpoint, err := network.getEndpoint(eid)
if err != nil {
return err
}

// This is just a stub for now

err = hcsshim.HotDetachEndpoint(endpoint.sandboxID, endpoint.profileID)
if err != nil {
// If container doesn't exists in hcs, do not throw error for hot add/remove
if err != hcsshim.ErrComputeSystemDoesNotExist {
return err
}
}
return nil
}

Expand Down
7 changes: 1 addition & 6 deletions osl/namespace_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,7 @@ import "testing"
// GenerateKey generates a sandbox key based on the passed
// container id.
func GenerateKey(containerID string) string {
maxLen := 12
if len(containerID) < maxLen {
maxLen = len(containerID)
}

return containerID[:maxLen]
return containerID
}

// NewSandbox provides a new sandbox instance created in an os specific way
Expand Down