Releases: microsoft/hcsshim
Pre-release of the v2 hcsshim package and runhcs.exe
New Features
- pkg/go-runhcs
- Adds fallback support when looking up the
runhcs.exe
path toexec
to the path of the calling binary. In practice this is always acontainerd shim
and the deployment places them in the same folder. This allows a user who has not placedcontainerd
in its path to avoid seeing this failure.
- Adds fallback support when looking up the
Pre-release of the v2 hcsshim package and runhcs.exe
New Features
- runhcs
- Adds support for OCI
mount.Type
"physical-disk" and "virtual-disk" for WCOW and LCOW.m := &oci.Mount{ Type: "physical-disk", Source: "\\\\.\\PHYSICALDRIVE1", Destination: "C:\\test" // LCOW '/mnt/test'
m := &oci.Mount{ Type: "virtual-disk", Source: "C:\\test.vhdx", // OR 'C:\\test.vhd' Destination: "C:\\test" // LCOW '/mnt/test'
- Stop loading
ole32
to improve process activation - Set
TerminateOnLastHandleClosed
for all UVM activation's to guarantee resource cleanup onrunhcs.exe
exit. - Set
StopOnReset
for all UVM activation's so that the guest VM does not try to restart on reset. - Change default LCOW activation's to use
rootfs.vhd
when present overinitrd.img
by default. - On builds
>= 18286
add support to LCOW for booting directly from the kernel (compressed or uncompressed) - Adds LCOW HNS network namespace support.
- Adds support for logging all
logrus
messages to ETW for allrunhcs.exe
invocations. - Various performance and logging improvements for diagnostics.
- Adds support for OCI
- uvmboot
- Introduces the
uvmboot.exe
tool for creating/starting/measuring performance of various LCOW configurations. This does not activate any containers but can be useful for creating/testing different LCOW options with various HCS/kernel features.
- Introduces the
Bug Fixes
- runhcs
- Properly set all Plan9 shares
ReadOnly
when OCI optsro
is set. - Properly convert from Docker
TERM
,KILL
,15
,9
signals for Windows container Kill requests using Unix semantics.
- Properly set all Plan9 shares
Pre-release of the v2 hcsshim package and runhcs.exe
New Features
- pkg/go-runhcs
- Adds cached
exec.LookPath
results forrunhcs.exe
when using thego-runhcs
pkg. This can lead to about 15 ms savings perrunhcs.exe
command.
- Adds cached
- runhcs
- Adds a bunch of LCOW activation optimizations greatly improving start time.
- Adds OCI annotation:
io.microsoft.virtualmachine.computetopology.memory.sizeinmb
allowing UVM override of memory size at activation if not usingWindowsMemoryResources.Limit
. - Adds OCI annotation:
io.microsoft.virtualmachine.computetopology.processor.count
allowing UVM override of CPU count at activation if not usingWindowsCPUResources.Count
. - Adds OCI annotation:
io.microsoft.virtualmachine.lcow.preferredrootfstype
allowing UVM override of LCOW UVM boot. Values (default:initrd
,vhd
).
- Logging
- Cleans up the logging in a few packages to make better use of
logrus.WithFields
rather than encoding the values in the message to make it easier for post processing logs.
- Cleans up the logging in a few packages to make better use of
Bug Fixes
- runhcs
- Fixes an issue where we were not forwarding the
--owner
flag to the container/uvm activation.
- Fixes an issue where we were not forwarding the
- Fixes an issue on
ARM32
builds causing an build overflow. - Fixes an issue on where the callback watcher would hang if an unknown notification type was sent from the HCS.
Pre-release of the v2 hcsshim package and runhcs.exe
Performance Improvements:
- Adds cached
exec.LookPath
results forrunhcs.exe
when using thego-runhcs
pkg. This can lead to about15 ms
savings perrunhcs.exe
command.
Pre-release of the v2 hcsshim package and runhcs.exe
Bug Fixes
- Fixes a
nil
dereference causing a panic inrunhcs.exe create
when using any of the new options introduced inv0.8.0
Pre-release of the v2 hcsshim package and runhcs.exe
As of this release we will begin publishing the integration tests as part of the release process in the Assets
.
New Features
- Custom Annotations via OCI config.json
io.microsoft.virtualmachine.computetopology.memory.allowovercommit
true
- (default) Uses VA backed memory from the Windows Page File rather than physically backed memory.
false
- Uses physically (RAM) backed memory
io.microsoft.virtualmachine.computetopology.memory.enabledeferredcommit
true
- RequiresAllowOverCommit = true
- Uses deferred commit on VA backed memory only writing to the Windows Page File at allocation time.
false
- (default) - Commits all VA backed memory at create time.
io.microsoft.virtualmachine.devices.virtualpmem.maximumcount
(LCOW Only)
[0 - 128]
- (64 default) - Describes the valid number ofvPMEM
layers that can be uses for LCOW container layers.
io.microsoft.virtualmachine.devices.virtualpmem.maximumsizebytes
(LCOW Only)
[0 - int32(max)]
- (4GB default) - Describes the maximum size of eachvPMEM
device. A layer size larger than this number will be mapped viaSCSI
ifSCSI
is enabled.
- All layer sizes greater than
io.microsoft.virtualmachine.devices.virtualpmem.maximumsizebytes
(4GB default) will now automatically fall back to mapping in viaSCSI
ifSCSI
is enabled (true default)
Bug Fixes
- Fixes a bug where the previous use of
"uvm-memory-type": "Physical"
(now:"io.microsoft.virtualmachine.computetopology.memory.allowovercommit": false
) would fail to start on Windows Hyper-V Containers.
Breaking changes from previous pre-release
- Removes the previous
uvm-memory-type
annotation in favor of the more granulario.microsoft.virtualmachine.computetopology.memory.allowovercommit
andio.microsoft.virtualmachine.computetopology.memory.enabledeferredcommit
options.
Pre-release of the v2 hcsshim package and runhcs.exe
- Fixes a bug in
v0.7.13
that"uvm-memory-type": "Physical"
was being incorrectly overridden by order of precedence.
Pre-release of the v2 hcsshim package and runhcs.exe
This is a spot fix to the v0.7.12
release adding the export of AssignedDevice
to V1
.
Pre-release of the v2 hcsshim package and runhcs.exe
This is a spot fix to the v0.7.9
release adding the export of AssignedDevice
to V1
.
Pre-release of the v2 hcsshim package and runhcs.exe
- Implements
SignalProcess
support for all LCOW, WCOW (Argon, Xenon) from RS1 -> RS5. - Enables
HotHints
for V2 Xenon activation's on Windows greatly reducing startup time. - Implements
HCN
Add/Remove policy workflows. - Enables the use of
SCSI
for large layers rather thanvPMEM
for LCOW based activation's. - Adds
uvm-memory-type
custom OCI annotation that allows you to customize the backing memory type of the Xenon at activation. Accepted values are:
"Virtual"
- Use VA backed memory for the Xenon.
"VirtualDeferred"
- Use VA backed memory with deferred commit for the Xenon.
"Physical"
- Use physically backed memory for the Xenon.