diff --git a/agent/api/task.go b/agent/api/task.go index e98812ca619..86a98a2a124 100644 --- a/agent/api/task.go +++ b/agent/api/task.go @@ -485,12 +485,7 @@ func (task *Task) SetConfigHostconfigBasedOnVersion(container *Container, config return err } - dockerAPIVersion_1_18, err := docker.NewAPIVersion("1.18") - if err != nil { - seelog.Errorf("Creating docker api version 1.18 failed, err: %v", err) - return err - } - + dockerAPIVersion_1_18 := docker.APIVersion([]int{1, 18}) if dockerAPIVersion.GreaterThanOrEqualTo(dockerAPIVersion_1_18) { // Set the memory and cpu in host config if hc != nil { diff --git a/agent/api/task_windows.go b/agent/api/task_windows.go index e4cdd3e5191..dd273020546 100644 --- a/agent/api/task_windows.go +++ b/agent/api/task_windows.go @@ -29,7 +29,7 @@ const ( memorySwappinessDefault = -1 ) -var cpus = runtime.NumCPU() * 1024 +var cpuShareScaleFactor = runtime.NumCPU() * 1024 // adjustForPlatform makes Windows-specific changes to the task after unmarshal func (task *Task) adjustForPlatform(cfg *config.Config) { @@ -62,7 +62,7 @@ func getCanonicalPath(path string) string { // passed to Docker API. func (task *Task) platformHostConfigOverride(hostConfig *docker.HostConfig) error { task.overrideDefaultMemorySwappiness(hostConfig) - hostConfig.CPUPercent = hostConfig.CPUShares / int64(cpus) + hostConfig.CPUPercent = hostConfig.CPUShares / int64(cpuShareScaleFactor) return nil } diff --git a/agent/api/task_windows_test.go b/agent/api/task_windows_test.go index d97d576a386..ea382606a82 100644 --- a/agent/api/task_windows_test.go +++ b/agent/api/task_windows_test.go @@ -115,7 +115,7 @@ func TestWindowsPlatformHostConfigOverride(t *testing.T) { hostConfig := &docker.HostConfig{CPUShares: 1024} task.platformHostConfigOverride(hostConfig) - assert.Equal(t, int64(1024)/int64(cpus), hostConfig.CPUPercent) + assert.Equal(t, int64(1024)/int64(cpuShareScaleFactor), hostConfig.CPUPercent) assert.EqualValues(t, expectedMemorySwappinessDefault, hostConfig.MemorySwappiness) }