Ver código fonte

Update hcsshim to v0.5.2

Signed-off-by: Darren Stahl <darst@microsoft.com>
Darren Stahl 8 anos atrás
pai
commit
f9adce18c7

+ 1 - 1
hack/vendor.sh

@@ -48,7 +48,7 @@ esac
 
 
 # the following lines are in sorted order, FYI
 # the following lines are in sorted order, FYI
 clone git github.com/Azure/go-ansiterm 388960b655244e76e24c75f48631564eaefade62
 clone git github.com/Azure/go-ansiterm 388960b655244e76e24c75f48631564eaefade62
-clone git github.com/Microsoft/hcsshim v0.5.1
+clone git github.com/Microsoft/hcsshim v0.5.2
 clone git github.com/Microsoft/go-winio v0.3.5
 clone git github.com/Microsoft/go-winio v0.3.5
 clone git github.com/Sirupsen/logrus f76d643702a30fbffecdfe50831e11881c96ceb3 https://github.com/aaronlehmann/logrus
 clone git github.com/Sirupsen/logrus f76d643702a30fbffecdfe50831e11881c96ceb3 https://github.com/aaronlehmann/logrus
 clone git github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a
 clone git github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a

+ 1 - 1
vendor/src/github.com/Microsoft/hcsshim/hcsshim.go

@@ -1,4 +1,4 @@
-// Shim for the Host Compute Service (HSC) to manage Windows Server
+// Shim for the Host Compute Service (HCS) to manage Windows Server
 // containers and Hyper-V containers.
 // containers and Hyper-V containers.
 
 
 package hcsshim
 package hcsshim

+ 7 - 0
vendor/src/github.com/Microsoft/hcsshim/hnsfuncs.go

@@ -30,6 +30,11 @@ type VsidPolicy struct {
 	VSID uint
 	VSID uint
 }
 }
 
 
+type PaPolicy struct {
+	Type string
+	PA   string
+}
+
 // Subnet is assoicated with a network and represents a list
 // Subnet is assoicated with a network and represents a list
 // of subnets available to the network
 // of subnets available to the network
 type Subnet struct {
 type Subnet struct {
@@ -58,6 +63,7 @@ type HNSNetwork struct {
 	DNSSuffix            string            `json:",omitempty"`
 	DNSSuffix            string            `json:",omitempty"`
 	DNSServerList        string            `json:",omitempty"`
 	DNSServerList        string            `json:",omitempty"`
 	DNSServerCompartment uint32            `json:",omitempty"`
 	DNSServerCompartment uint32            `json:",omitempty"`
+	ManagementIP         string            `json:",omitempty"`
 }
 }
 
 
 // HNSEndpoint represents a network endpoint in HNS
 // HNSEndpoint represents a network endpoint in HNS
@@ -74,6 +80,7 @@ type HNSEndpoint struct {
 	GatewayAddress     string            `json:",omitempty"`
 	GatewayAddress     string            `json:",omitempty"`
 	EnableInternalDNS  bool              `json:",omitempty"`
 	EnableInternalDNS  bool              `json:",omitempty"`
 	PrefixLength       uint8             `json:",omitempty"`
 	PrefixLength       uint8             `json:",omitempty"`
+	IsRemoteEndpoint   bool              `json:",omitempty"`
 }
 }
 
 
 type hnsNetworkResponse struct {
 type hnsNetworkResponse struct {

+ 11 - 1
vendor/src/github.com/Microsoft/hcsshim/preparelayer.go

@@ -1,6 +1,12 @@
 package hcsshim
 package hcsshim
 
 
-import "github.com/Sirupsen/logrus"
+import (
+	"sync"
+
+	"github.com/Sirupsen/logrus"
+)
+
+var prepareLayerLock sync.Mutex
 
 
 // PrepareLayer finds a mounted read-write layer matching layerId and enables the
 // PrepareLayer finds a mounted read-write layer matching layerId and enables the
 // the filesystem filter for use on that layer.  This requires the paths to all
 // the filesystem filter for use on that layer.  This requires the paths to all
@@ -24,6 +30,10 @@ func PrepareLayer(info DriverInfo, layerId string, parentLayerPaths []string) er
 		return err
 		return err
 	}
 	}
 
 
+	// This lock is a temporary workaround for a Windows bug. Only allowing one
+	// call to prepareLayer at a time vastly reduces the chance of a timeout.
+	prepareLayerLock.Lock()
+	defer prepareLayerLock.Unlock()
 	err = prepareLayer(&infop, layerId, layers)
 	err = prepareLayer(&infop, layerId, layers)
 	if err != nil {
 	if err != nil {
 		err = makeErrorf(err, title, "layerId=%s flavour=%d", layerId, info.Flavour)
 		err = makeErrorf(err, title, "layerId=%s flavour=%d", layerId, info.Flavour)