From 669b6e32a596a126560f334789c0acea814f9219 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Mon, 23 Mar 2020 14:42:25 -0700 Subject: [PATCH] clh: Report warning when requested vCPUs exceeds maxVCPU allowed To have a consistent behavior of CPU hotplug with qemu in clh, we should only report warning instead of errors when the requested vCPUs exceeds the maximum number of vCPUs allowed. Fixes: #2551 Signed-off-by: Bo Chen --- virtcontainers/clh.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/virtcontainers/clh.go b/virtcontainers/clh.go index 588d4b9278..10c341fc96 100644 --- a/virtcontainers/clh.go +++ b/virtcontainers/clh.go @@ -514,15 +514,14 @@ func (clh *cloudHypervisor) resizeVCPUs(reqVCPUs uint32) (currentVCPUs uint32, n clh.Logger().WithField("function", "resizeVCPUs").Debugf("Cannot resize vCPU to 0") return currentVCPUs, newVCPUs, fmt.Errorf("Cannot resize vCPU to 0") } - if reqVCPUs > clh.config.DefaultMaxVCPUs || reqVCPUs > uint32(info.Config.Cpus.MaxVcpus) { + if reqVCPUs > uint32(info.Config.Cpus.MaxVcpus) { clh.Logger().WithFields(log.Fields{ - "function": "resizeVCPUs", - "reqVCPUs": reqVCPUs, - "configDefaultMaxVCPUs": clh.config.DefaultMaxVCPUs, - "clhMaxVCPUs": info.Config.Cpus.MaxVcpus, - }).Debug("exceeding the maxVCPUs") - return currentVCPUs, newVCPUs, fmt.Errorf("Cannot resize vCPU to %d: exceeding the maximum amount of vCPUs (%d or %d)", - reqVCPUs, clh.config.DefaultMaxVCPUs, info.Config.Cpus.MaxVcpus) + "function": "resizeVCPUs", + "reqVCPUs": reqVCPUs, + "clhMaxVCPUs": info.Config.Cpus.MaxVcpus, + }).Warn("exceeding the 'clhMaxVCPUs' (resizing to 'clhMaxVCPUs')") + + reqVCPUs = uint32(info.Config.Cpus.MaxVcpus) } // Resize (hot-plug) vCPUs via HTTP API