From f186109fd26dd020f9faed629de0b3f4f2d6b964 Mon Sep 17 00:00:00 2001 From: Kathryn Baldauf Date: Thu, 14 Nov 2024 14:39:40 -0800 Subject: [PATCH] Add build version block for pod CPU limits updating Signed-off-by: Kathryn Baldauf --- internal/uvm/cpulimits_update.go | 6 ++++++ test/cri-containerd/pod_update_test.go | 3 +++ 2 files changed, 9 insertions(+) diff --git a/internal/uvm/cpulimits_update.go b/internal/uvm/cpulimits_update.go index ea5fccf625..1164c328e7 100644 --- a/internal/uvm/cpulimits_update.go +++ b/internal/uvm/cpulimits_update.go @@ -7,10 +7,16 @@ import ( "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" + "github.com/Microsoft/hcsshim/osversion" + "github.com/containerd/errdefs" ) // UpdateCPULimits updates the CPU limits of the utility vm func (uvm *UtilityVM) UpdateCPULimits(ctx context.Context, limits *hcsschema.ProcessorLimits) error { + // Support for updating CPU limits was not added until 20H2 build + if osversion.Get().Build < osversion.V20H2 { + return errdefs.ErrNotImplemented + } req := &hcsschema.ModifySettingRequest{ ResourcePath: resourcepaths.CPULimitsResourcePath, Settings: limits, diff --git a/test/cri-containerd/pod_update_test.go b/test/cri-containerd/pod_update_test.go index 20bf08df4a..c3ac1767ab 100644 --- a/test/cri-containerd/pod_update_test.go +++ b/test/cri-containerd/pod_update_test.go @@ -10,9 +10,11 @@ import ( "testing" "github.com/Microsoft/hcsshim/internal/memory" + "github.com/Microsoft/hcsshim/osversion" "github.com/Microsoft/hcsshim/pkg/annotations" "github.com/Microsoft/hcsshim/test/pkg/definitions/cpugroup" "github.com/Microsoft/hcsshim/test/pkg/definitions/processorinfo" + "github.com/Microsoft/hcsshim/test/pkg/require" runtime "k8s.io/cri-api/pkg/apis/runtime/v1" ) @@ -132,6 +134,7 @@ func Test_Pod_UpdateResources_Memory_PA(t *testing.T) { func Test_Pod_UpdateResources_CPUShares(t *testing.T) { requireAnyFeature(t, featureWCOWHypervisor) + require.Build(t, osversion.V20H2) type config struct { name string