diff --git a/cli/update.go b/cli/update.go index cf827d3767..708264fbb8 100644 --- a/cli/update.go +++ b/cli/update.go @@ -51,6 +51,10 @@ func (uc *UpdateCommand) addFlags() { flagSet.StringSliceVarP(&uc.labels, "label", "l", nil, "Set label for container") flagSet.StringVar(&uc.restartPolicy, "restart", "", "Restart policy to apply when container exits") flagSet.StringSliceVar(&uc.diskQuota, "disk-quota", nil, "Update disk quota for container(/=10g)") + flagSet.Var(&uc.blkioDeviceReadBps, "device-read-bps", "Limit read rate (bytes per second) from a device") + flagSet.Var(&uc.blkioDeviceWriteBps, "device-write-bps", "Limit write rate (bytes per second) from a device") + flagSet.Var(&uc.blkioDeviceReadIOps, "device-read-iops", "Limit read rate (bytes per second) from a device") + flagSet.Var(&uc.blkioDeviceWriteIOps, "device-write-iops", "Limit write rate (bytes per second) from a device") } // updateRun is the entry of update command. @@ -74,15 +78,19 @@ func (uc *UpdateCommand) updateRun(args []string) error { } resource := types.Resources{ - CPUPeriod: uc.cpuperiod, - CPUShares: uc.cpushare, - CPUQuota: uc.cpuquota, - CpusetCpus: uc.cpusetcpus, - CpusetMems: uc.cpusetmems, - DiskQuota: diskQuota, - Memory: memory, - MemorySwap: memorySwap, - BlkioWeight: uc.blkioWeight, + CPUPeriod: uc.cpuperiod, + CPUShares: uc.cpushare, + CPUQuota: uc.cpuquota, + CpusetCpus: uc.cpusetcpus, + CpusetMems: uc.cpusetmems, + DiskQuota: diskQuota, + Memory: memory, + MemorySwap: memorySwap, + BlkioWeight: uc.blkioWeight, + BlkioDeviceReadBps: uc.blkioDeviceReadBps.Value(), + BlkioDeviceWriteBps: uc.blkioDeviceWriteBps.Value(), + BlkioDeviceReadIOps: uc.blkioDeviceReadIOps.Value(), + BlkioDeviceWriteIOps: uc.blkioDeviceWriteIOps.Value(), } restartPolicy, err := opts.ParseRestartPolicy(uc.restartPolicy) diff --git a/cri/v1alpha2/cri_utils.go b/cri/v1alpha2/cri_utils.go index c97734dda9..61e5615fa2 100644 --- a/cri/v1alpha2/cri_utils.go +++ b/cri/v1alpha2/cri_utils.go @@ -1043,7 +1043,7 @@ func parseResourcesFromCRI(runtimeResources *runtime.LinuxContainerResources) ap BlkioDeviceWriteBps: parseThrottleDeviceFromCRI(runtimeResources.GetBlkioDeviceWriteBps()), BlkioDeviceReadIOps: parseThrottleDeviceFromCRI(runtimeResources.GetBlkioDeviceRead_IOps()), BlkioDeviceWriteIOps: parseThrottleDeviceFromCRI(runtimeResources.GetBlkioDeviceWrite_IOps()), - DiskQuota: runtimeResources.GetDiskQuota(), + DiskQuota: runtimeResources.GetDiskQuota(), KernelMemory: runtimeResources.GetKernelMemory(), MemoryReservation: runtimeResources.GetMemoryReservation(), MemorySwappiness: memorySwappiness,