Vendor Microsoft/hcsshim @ v0.5.2

Signed-off-by: John Howard <jhoward@microsoft.com>
This commit is contained in:
John Howard 2017-06-01 16:49:56 -07:00
parent 3d5cec70b4
commit 8fe9eb0551
4 changed files with 56 additions and 42 deletions

View File

@ -1,6 +1,6 @@
# the following lines are in sorted order, FYI # the following lines are in sorted order, FYI
github.com/Azure/go-ansiterm 388960b655244e76e24c75f48631564eaefade62 github.com/Azure/go-ansiterm 388960b655244e76e24c75f48631564eaefade62
github.com/Microsoft/hcsshim v0.5.17 github.com/Microsoft/hcsshim v0.5.23
github.com/Microsoft/go-winio v0.4.2 github.com/Microsoft/go-winio v0.4.2
github.com/Sirupsen/logrus v0.11.0 github.com/Sirupsen/logrus v0.11.0
github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76 github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76

View File

@ -35,7 +35,6 @@ type ContainerProperties struct {
SystemType string SystemType string
Owner string Owner string
SiloGUID string `json:"SiloGuid,omitempty"` SiloGUID string `json:"SiloGuid,omitempty"`
IsDummy bool `json:",omitempty"`
RuntimeID string `json:"RuntimeId,omitempty"` RuntimeID string `json:"RuntimeId,omitempty"`
IsRuntimeTemplate bool `json:",omitempty"` IsRuntimeTemplate bool `json:",omitempty"`
RuntimeImagePath string `json:",omitempty"` RuntimeImagePath string `json:",omitempty"`
@ -121,7 +120,7 @@ const (
// Supported resource types are Network and Request Types are Add/Remove // Supported resource types are Network and Request Types are Add/Remove
type ResourceModificationRequestResponse struct { type ResourceModificationRequestResponse struct {
Resource ResourceType `json:"ResourceType"` Resource ResourceType `json:"ResourceType"`
Data string `json:"Settings"` Data interface{} `json:"Settings"`
Request RequestType `json:"RequestType,omitempty"` Request RequestType `json:"RequestType,omitempty"`
} }
@ -585,7 +584,7 @@ func (container *container) CreateProcess(c *ProcessConfig) (Process, error) {
return nil, makeContainerError(container, operation, "", err) return nil, makeContainerError(container, operation, "", err)
} }
logrus.Debugf(title+" succeeded id=%s processid=%s", container.id, process.processID) logrus.Debugf(title+" succeeded id=%s processid=%d", container.id, process.processID)
return process, nil return process, nil
} }

View File

@ -1,6 +1,7 @@
package hcsshim package hcsshim
import ( import (
"encoding/json"
"io" "io"
"time" "time"
) )
@ -8,16 +9,18 @@ import (
// ProcessConfig is used as both the input of Container.CreateProcess // ProcessConfig is used as both the input of Container.CreateProcess
// and to convert the parameters to JSON for passing onto the HCS // and to convert the parameters to JSON for passing onto the HCS
type ProcessConfig struct { type ProcessConfig struct {
ApplicationName string ApplicationName string `json:",omitempty"`
CommandLine string CommandLine string `json:",omitempty"`
User string User string `json:",omitempty"`
WorkingDirectory string WorkingDirectory string `json:",omitempty"`
Environment map[string]string Environment map[string]string `json:",omitempty"`
EmulateConsole bool EmulateConsole bool `json:",omitempty"`
CreateStdInPipe bool CreateStdInPipe bool `json:",omitempty"`
CreateStdOutPipe bool CreateStdOutPipe bool `json:",omitempty"`
CreateStdErrPipe bool CreateStdErrPipe bool `json:",omitempty"`
ConsoleSize [2]uint ConsoleSize [2]uint `json:",omitempty"`
CreateInUtilityVm bool `json:",omitempty"` // Used by Linux Containers on Windows
OCISpecification *json.RawMessage `json:",omitempty"` // Used by Linux Containers on Windows
} }
type Layer struct { type Layer struct {
@ -36,6 +39,16 @@ type MappedDir struct {
type HvRuntime struct { type HvRuntime struct {
ImagePath string `json:",omitempty"` ImagePath string `json:",omitempty"`
SkipTemplate bool `json:",omitempty"` SkipTemplate bool `json:",omitempty"`
LinuxInitrdPath string `json:",omitempty"` // Host path to an initrd image for starting a Linux utility VM
LinuxKernelPath string `json:",omitempty"` // Host path to kernel for starting a Linux utility VM
}
type MappedVirtualDisk struct {
HostPath string `json:",omitempty"` // Path to VHD on the host
ContainerPath string // Platform-specific mount point path in the container
CreateInUtilityVM bool `json:",omitempty"`
ReadOnly bool `json:",omitempty"`
Cache string `json:",omitempty"` // "" (Unspecified); "Disabled"; "Enabled"; "Private"; "PrivateAllowSharing"
} }
// ContainerConfig is used as both the input of CreateContainer // ContainerConfig is used as both the input of CreateContainer
@ -43,10 +56,9 @@ type HvRuntime struct {
type ContainerConfig struct { type ContainerConfig struct {
SystemType string // HCS requires this to be hard-coded to "Container" SystemType string // HCS requires this to be hard-coded to "Container"
Name string // Name of the container. We use the docker ID. Name string // Name of the container. We use the docker ID.
Owner string // The management platform that created this container Owner string `json:",omitempty"` // The management platform that created this container
IsDummy bool // Used for development purposes.
VolumePath string `json:",omitempty"` // Windows volume path for scratch space. Used by Windows Server Containers only. Format \\?\\Volume{GUID} VolumePath string `json:",omitempty"` // Windows volume path for scratch space. Used by Windows Server Containers only. Format \\?\\Volume{GUID}
IgnoreFlushesDuringBoot bool // Optimization hint for container startup in Windows IgnoreFlushesDuringBoot bool `json:",omitempty"` // Optimization hint for container startup in Windows
LayerFolderPath string `json:",omitempty"` // Where the layer folders are located. Used by Windows Server Containers only. Format %root%\windowsfilter\containerID LayerFolderPath string `json:",omitempty"` // Where the layer folders are located. Used by Windows Server Containers only. Format %root%\windowsfilter\containerID
Layers []Layer // List of storage layers. Required for Windows Server and Hyper-V Containers. Format ID=GUID;Path=%root%\windowsfilter\layerID Layers []Layer // List of storage layers. Required for Windows Server and Hyper-V Containers. Format ID=GUID;Path=%root%\windowsfilter\layerID
Credentials string `json:",omitempty"` // Credentials information Credentials string `json:",omitempty"` // Credentials information
@ -57,16 +69,18 @@ type ContainerConfig struct {
StorageBandwidthMaximum uint64 `json:",omitempty"` // Maximum Storage Bandwidth in bytes per second StorageBandwidthMaximum uint64 `json:",omitempty"` // Maximum Storage Bandwidth in bytes per second
StorageSandboxSize uint64 `json:",omitempty"` // Size in bytes that the container system drive should be expanded to if smaller StorageSandboxSize uint64 `json:",omitempty"` // Size in bytes that the container system drive should be expanded to if smaller
MemoryMaximumInMB int64 `json:",omitempty"` // Maximum memory available to the container in Megabytes MemoryMaximumInMB int64 `json:",omitempty"` // Maximum memory available to the container in Megabytes
HostName string // Hostname HostName string `json:",omitempty"` // Hostname
MappedDirectories []MappedDir // List of mapped directories (volumes/mounts) MappedDirectories []MappedDir `json:",omitempty"` // List of mapped directories (volumes/mounts)
SandboxPath string `json:",omitempty"` // Location of unmounted sandbox. Used by Hyper-V containers only. Format %root%\windowsfilter
HvPartition bool // True if it a Hyper-V Container HvPartition bool // True if it a Hyper-V Container
EndpointList []string // List of networking endpoints to be attached to container
NetworkSharedContainerName string `json:",omitempty"` // Name (ID) of the container that we will share the network stack with. NetworkSharedContainerName string `json:",omitempty"` // Name (ID) of the container that we will share the network stack with.
EndpointList []string `json:",omitempty"` // List of networking endpoints to be attached to container
HvRuntime *HvRuntime `json:",omitempty"` // Hyper-V container settings. Used by Hyper-V containers only. Format ImagePath=%root%\BaseLayerID\UtilityVM HvRuntime *HvRuntime `json:",omitempty"` // Hyper-V container settings. Used by Hyper-V containers only. Format ImagePath=%root%\BaseLayerID\UtilityVM
Servicing bool // True if this container is for servicing Servicing bool `json:",omitempty"` // True if this container is for servicing
AllowUnqualifiedDNSQuery bool // True to allow unqualified DNS name resolution AllowUnqualifiedDNSQuery bool `json:",omitempty"` // True to allow unqualified DNS name resolution
DNSSearchList string `json:",omitempty"` // Comma seperated list of DNS suffixes to use for name resolution DNSSearchList string `json:",omitempty"` // Comma seperated list of DNS suffixes to use for name resolution
ContainerType string `json:",omitempty"` // "Linux" for Linux containers on Windows. Omitted otherwise.
TerminateOnLastHandleClosed bool `json:",omitempty"` // Should HCS terminate the container once all handles have been closed
MappedVirtualDisks []MappedVirtualDisk `json:",omitempty"` // Array of virtual disks to mount at start
} }
type ComputeSystemQuery struct { type ComputeSystemQuery struct {

View File

@ -59,4 +59,5 @@ func waitForNotification(callbackNumber uintptr, expectedNotification hcsNotific
case <-c: case <-c:
return ErrTimeout return ErrTimeout
} }
return nil
} }