From f21ec0b4d17e1f0f98cea574864ab74db6e3bc5e Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Fri, 17 Feb 2017 22:04:37 -0800 Subject: [PATCH] Add `--cpus` support for `docker update` This fix tries to address the issue raised in 31032 where it was not possible to specify `--cpus` for `docker update`. This fix adds `--cpus` support for `docker update`. In case both `--cpus` and `--cpu-period/--cpu-quota` have been specified, an error will be returned. Related docs has been updated. Integration tests have been added. This fix fixes 31032. This fix is related to 27921, 27958. Signed-off-by: Yong Tang --- command/container/update.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/command/container/update.go b/command/container/update.go index 283cd3314e..a650815e8e 100644 --- a/command/container/update.go +++ b/command/container/update.go @@ -28,6 +28,7 @@ type updateOptions struct { memorySwap opts.MemSwapBytes kernelMemory opts.MemBytes restartPolicy string + cpus opts.NanoCPUs nFlag int @@ -66,6 +67,9 @@ func NewUpdateCommand(dockerCli *command.DockerCli) *cobra.Command { flags.Var(&opts.kernelMemory, "kernel-memory", "Kernel memory limit") flags.StringVar(&opts.restartPolicy, "restart", "", "Restart policy to apply when a container exits") + flags.Var(&opts.cpus, "cpus", "Number of CPUs") + flags.SetAnnotation("cpus", "version", []string{"1.29"}) + return cmd } @@ -97,6 +101,7 @@ func runUpdate(dockerCli *command.DockerCli, opts *updateOptions) error { CPUQuota: opts.cpuQuota, CPURealtimePeriod: opts.cpuRealtimePeriod, CPURealtimeRuntime: opts.cpuRealtimeRuntime, + NanoCPUs: opts.cpus.Value(), } updateConfig := containertypes.UpdateConfig{