go.mod: Bump hcsshim to v0.10.0-rc.1
This contains quite a bit (also bumps google/uuid to 1.3.0). Some HostProcess container improvements to get ready for whenever it goes to stable in Kubernetes, Hyper-V (windows) container support for CRI, and a plethora of other small additions and fixes. Signed-off-by: Daniel Canter <dcanter@microsoft.com>
This commit is contained in:
		
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/attach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/attach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -17,8 +19,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `layerData` is the parent read-only layer data.
 | 
			
		||||
func AttachLayerStorageFilter(ctx context.Context, layerPath string, layerData LayerData) (err error) {
 | 
			
		||||
	title := "hcsshim.AttachLayerStorageFilter"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::AttachLayerStorageFilter"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/destroy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/destroy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -12,8 +14,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `layerPath` is a path to a directory containing the layer to export.
 | 
			
		||||
func DestroyLayer(ctx context.Context, layerPath string) (err error) {
 | 
			
		||||
	title := "hcsshim.DestroyLayer"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::DestroyLayer"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(trace.StringAttribute("layerPath", layerPath))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/detach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/detach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -12,8 +14,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `layerPath` is a path to a directory containing the layer to export.
 | 
			
		||||
func DetachLayerStorageFilter(ctx context.Context, layerPath string) (err error) {
 | 
			
		||||
	title := "hcsshim.DetachLayerStorageFilter"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::DetachLayerStorageFilter"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(trace.StringAttribute("layerPath", layerPath))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/export.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/export.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -19,8 +21,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `options` are the export options applied to the exported layer.
 | 
			
		||||
func ExportLayer(ctx context.Context, layerPath, exportFolderPath string, layerData LayerData, options ExportLayerOptions) (err error) {
 | 
			
		||||
	title := "hcsshim.ExportLayer"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::ExportLayer"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
@@ -28,17 +30,17 @@ func ExportLayer(ctx context.Context, layerPath, exportFolderPath string, layerD
 | 
			
		||||
		trace.StringAttribute("exportFolderPath", exportFolderPath),
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	ldbytes, err := json.Marshal(layerData)
 | 
			
		||||
	ldBytes, err := json.Marshal(layerData)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	obytes, err := json.Marshal(options)
 | 
			
		||||
	oBytes, err := json.Marshal(options)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = hcsExportLayer(layerPath, exportFolderPath, string(ldbytes), string(obytes))
 | 
			
		||||
	err = hcsExportLayer(layerPath, exportFolderPath, string(ldBytes), string(oBytes))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return errors.Wrap(err, "failed to export layer")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -5,16 +7,20 @@ import (
 | 
			
		||||
 | 
			
		||||
	"github.com/Microsoft/hcsshim/internal/oc"
 | 
			
		||||
	"github.com/pkg/errors"
 | 
			
		||||
	"go.opencensus.io/trace"
 | 
			
		||||
	"golang.org/x/sys/windows"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// FormatWritableLayerVhd formats a virtual disk for use as a writable container layer.
 | 
			
		||||
//
 | 
			
		||||
// If the VHD is not mounted it will be temporarily mounted.
 | 
			
		||||
//
 | 
			
		||||
// NOTE: This API had a breaking change in the operating system after Windows Server 2019.
 | 
			
		||||
// On ws2019 the API expects to get passed a file handle from CreateFile for the vhd that
 | 
			
		||||
// the caller wants to format. On > ws2019, its expected that the caller passes a vhd handle
 | 
			
		||||
// that can be obtained from the virtdisk APIs.
 | 
			
		||||
func FormatWritableLayerVhd(ctx context.Context, vhdHandle windows.Handle) (err error) {
 | 
			
		||||
	title := "hcsshim.FormatWritableLayerVhd"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::FormatWritableLayerVhd"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -6,10 +8,12 @@ import (
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"syscall"
 | 
			
		||||
 | 
			
		||||
	"github.com/Microsoft/go-winio/pkg/security"
 | 
			
		||||
	"github.com/Microsoft/go-winio/vhd"
 | 
			
		||||
	"github.com/Microsoft/hcsshim/internal/memory"
 | 
			
		||||
	"github.com/pkg/errors"
 | 
			
		||||
	"golang.org/x/sys/windows"
 | 
			
		||||
 | 
			
		||||
	"github.com/Microsoft/hcsshim/internal/security"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const defaultVHDXBlockSizeInMB = 1
 | 
			
		||||
@@ -59,8 +63,8 @@ func SetupContainerBaseLayer(ctx context.Context, layerPath, baseVhdPath, diffVh
 | 
			
		||||
	createParams := &vhd.CreateVirtualDiskParameters{
 | 
			
		||||
		Version: 2,
 | 
			
		||||
		Version2: vhd.CreateVersion2{
 | 
			
		||||
			MaximumSize:      sizeInGB * 1024 * 1024 * 1024,
 | 
			
		||||
			BlockSizeInBytes: defaultVHDXBlockSizeInMB * 1024 * 1024,
 | 
			
		||||
			MaximumSize:      sizeInGB * memory.GiB,
 | 
			
		||||
			BlockSizeInBytes: defaultVHDXBlockSizeInMB * memory.MiB,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	handle, err := vhd.CreateVirtualDisk(baseVhdPath, vhd.VirtualDiskAccessNone, vhd.CreateVirtualDiskFlagNone, createParams)
 | 
			
		||||
@@ -135,8 +139,8 @@ func SetupUtilityVMBaseLayer(ctx context.Context, uvmPath, baseVhdPath, diffVhdP
 | 
			
		||||
	createParams := &vhd.CreateVirtualDiskParameters{
 | 
			
		||||
		Version: 2,
 | 
			
		||||
		Version2: vhd.CreateVersion2{
 | 
			
		||||
			MaximumSize:      sizeInGB * 1024 * 1024 * 1024,
 | 
			
		||||
			BlockSizeInBytes: defaultVHDXBlockSizeInMB * 1024 * 1024,
 | 
			
		||||
			MaximumSize:      sizeInGB * memory.GiB,
 | 
			
		||||
			BlockSizeInBytes: defaultVHDXBlockSizeInMB * memory.MiB,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	handle, err := vhd.CreateVirtualDisk(baseVhdPath, vhd.VirtualDiskAccessNone, vhd.CreateVirtualDiskFlagNone, createParams)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/import.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/import.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -19,8 +21,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `layerData` is the parent layer data.
 | 
			
		||||
func ImportLayer(ctx context.Context, layerPath, sourceFolderPath string, layerData LayerData) (err error) {
 | 
			
		||||
	title := "hcsshim.ImportLayer"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::ImportLayer"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/initialize.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/initialize.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -16,8 +18,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `layerData` is the parent read-only layer data.
 | 
			
		||||
func InitializeWritableLayer(ctx context.Context, layerPath string, layerData LayerData) (err error) {
 | 
			
		||||
	title := "hcsshim.InitializeWritableLayer"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::InitializeWritableLayer"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/mount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/mount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -6,14 +8,13 @@ import (
 | 
			
		||||
	"github.com/Microsoft/hcsshim/internal/interop"
 | 
			
		||||
	"github.com/Microsoft/hcsshim/internal/oc"
 | 
			
		||||
	"github.com/pkg/errors"
 | 
			
		||||
	"go.opencensus.io/trace"
 | 
			
		||||
	"golang.org/x/sys/windows"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// GetLayerVhdMountPath returns the volume path for a virtual disk of a writable container layer.
 | 
			
		||||
func GetLayerVhdMountPath(ctx context.Context, vhdHandle windows.Handle) (path string, err error) {
 | 
			
		||||
	title := "hcsshim.GetLayerVhdMountPath"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::GetLayerVhdMountPath"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/setup.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/setup.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
			
		||||
//go:build windows
 | 
			
		||||
 | 
			
		||||
package computestorage
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
@@ -21,8 +23,8 @@ import (
 | 
			
		||||
//
 | 
			
		||||
// `options` are the options applied while processing the layer.
 | 
			
		||||
func SetupBaseOSLayer(ctx context.Context, layerPath string, vhdHandle windows.Handle, options OsLayerOptions) (err error) {
 | 
			
		||||
	title := "hcsshim.SetupBaseOSLayer"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::SetupBaseOSLayer"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
@@ -48,12 +50,16 @@ func SetupBaseOSLayer(ctx context.Context, layerPath string, vhdHandle windows.H
 | 
			
		||||
// `volumePath` is the path to the volume to be used for setup.
 | 
			
		||||
//
 | 
			
		||||
// `options` are the options applied while processing the layer.
 | 
			
		||||
//
 | 
			
		||||
// NOTE: This API is only available on builds of Windows greater than 19645. Inside we
 | 
			
		||||
// check if the hosts build has the API available by using 'GetVersion' which requires
 | 
			
		||||
// the calling application to be manifested. https://docs.microsoft.com/en-us/windows/win32/sbscs/manifests
 | 
			
		||||
func SetupBaseOSVolume(ctx context.Context, layerPath, volumePath string, options OsLayerOptions) (err error) {
 | 
			
		||||
	if osversion.Build() < 19645 {
 | 
			
		||||
		return errors.New("SetupBaseOSVolume is not present on builds older than 19645")
 | 
			
		||||
	}
 | 
			
		||||
	title := "hcsshim.SetupBaseOSVolume"
 | 
			
		||||
	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	title := "hcsshim::SetupBaseOSVolume"
 | 
			
		||||
	ctx, span := oc.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
 | 
			
		||||
	defer span.End()
 | 
			
		||||
	defer func() { oc.SetSpanStatus(span, err) }()
 | 
			
		||||
	span.AddAttributes(
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/storage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/storage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -20,10 +20,13 @@ import (
 | 
			
		||||
//sys hcsGetLayerVhdMountPath(vhdHandle windows.Handle, mountPath **uint16) (hr error) = computestorage.HcsGetLayerVhdMountPath?
 | 
			
		||||
//sys hcsSetupBaseOSVolume(layerPath string, volumePath string, options string) (hr error) = computestorage.HcsSetupBaseOSVolume?
 | 
			
		||||
 | 
			
		||||
type Version = hcsschema.Version
 | 
			
		||||
type Layer = hcsschema.Layer
 | 
			
		||||
 | 
			
		||||
// LayerData is the data used to describe parent layer information.
 | 
			
		||||
type LayerData struct {
 | 
			
		||||
	SchemaVersion hcsschema.Version `json:"SchemaVersion,omitempty"`
 | 
			
		||||
	Layers        []hcsschema.Layer `json:"Layers,omitempty"`
 | 
			
		||||
	SchemaVersion Version `json:"SchemaVersion,omitempty"`
 | 
			
		||||
	Layers        []Layer `json:"Layers,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ExportLayerOptions are the set of options that are used with the `computestorage.HcsExportLayer` syscall.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user