Commit 6f3210e3 authored by Abhishek Chanda's avatar Abhishek Chanda
Browse files

Support CPU and meory isolators for the rkt driver

The rkt community added supprt for these isolators recently
parent 8d253684
Branches unavailable v1.4.3 v1.4.2 v1.4.1 v1.4.0 v1.4.0-rc.1 v1.4.0-beta.1 v1.3.8 v1.3.7 v1.3.6 v1.3.5 v1.3.4 v1.3.3 v1.3.2 v1.3.1 v1.3.0 v1.3.0-rc.1 v1.3.0-beta.1 v1.2.15 v1.2.14 v1.2.13 v1.2.12 v1.2.11 v1.2.10 v1.2.9 v1.2.8 v1.2.7 v1.2.6 v1.2.5 v1.2.4 v1.2.3 v1.2.2 v1.2.1 v1.2.0 v1.2.0-rc1 v1.2.0-beta1 v1.1.18 v1.1.17 v1.1.16 v1.1.15 v1.1.14 v1.1.13 v1.1.12 v1.1.11 v1.1.10 v1.1.9 v1.1.8 v1.1.7 v1.1.6 v1.1.5 v1.1.4 v1.1.3 v1.1.2 v1.1.1 v1.1.0 v1.1.0-rc1 v1.1.0-beta1 v1.0.18 v1.0.17 v1.0.16 v1.0.15 v1.0.14 v1.0.13 v1.0.12 v1.0.11 v1.0.10 v1.0.9 v1.0.8 v1.0.7 v1.0.6 v1.0.5 v1.0.4 v1.0.3 v1.0.2 v1.0.1 v1.0.0 v1.0.0-rc1 v1.0.0-beta3 v1.0.0-beta2 v0.12.12 v0.12.11 v0.12.10 v0.12.9 v0.12.8 v0.12.7 v0.12.6 v0.12.5 v0.12.4 v0.12.4-rc1 v0.12.3 v0.12.2 v0.12.1 v0.12.0 v0.12.0-rc1 v0.12.0-beta2 v0.12.0-beta1 v0.11.8 v0.11.7 v0.11.6 v0.11.5 v0.11.4 v0.11.3 v0.11.2 v0.11.1 v0.11.0 v0.11.0-rc1 v0.11.0-beta2 v0.11.0-beta1 v0.10.9 v0.10.8 v0.10.7 v0.10.6 v0.10.5 v0.10.4 v0.10.4-rc1 v0.10.3 v0.10.2 v0.10.2-rc1 v0.10.1 v0.10.0 v0.10.0-rc1 v0.10.0-connect1 v0.10.0-beta1 v0.9.7 v0.9.6 v0.9.5 v0.9.4 v0.9.4-rc1 v0.9.3 v0.9.2 v0.9.2-rc1 v0.9.1 v0.9.1-rc1 v0.9.0 v0.9.0-rc2 v0.9.0-rc1 v0.9.0-beta3 v0.9.0-beta2 v0.9.0-beta1 v0.8.7 v0.8.7-rc1 v0.8.6 v0.8.5 v0.8.4 v0.8.4-rc1 v0.8.3 v0.8.2 v0.8.1 v0.8.0 v0.8.0-rc1 v0.7.1 v0.7.1-rc1 v0.7.1-rc1+pro v0.7.1-rc1+ent v0.7.0 v0.7.0+pro v0.7.0+ent v0.7.0-rc3 v0.7.0-rc2 v0.7.0-rc1 v0.7.0-beta1 v0.6.3 v0.6.3-rc1 v0.6.2 v0.6.1 v0.6.0 v0.6.0-rc2 v0.6.0-rc1 v0.5.6 v0.5.6-rc1 v0.5.5 v0.5.5-rc2 v0.5.5-rc1 v0.5.4 v0.5.3 v0.5.3-rc1 v0.5.2 v0.5.2-rc1 v0.5.1 v0.5.1-rc2 v0.5.1-rc1 v0.5.0 v0.5.0-rc2 v0.5.0-rc1 v0.4.3 v0.4.2 v0.4.1 v0.4.1-rc1 v0.4.0 v0.4.0-rc2 v0.4.0-rc1 v0.3.2 v0.3.2-rc2 v0.3.2-rc1 v0.3.1 v0.3.0 v0.3.0-rc2 v0.3rc1 nightly
No related merge requests found
Showing with 29 additions and 0 deletions
+29 -0
......@@ -149,6 +149,19 @@ func (d *RktDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle, e
cmd_args = append(cmd_args, fmt.Sprintf("--exec=%v", exec_cmd))
}
if task.Resources.MemoryMB == 0 {
return nil, fmt.Errorf("Memory limit cannot be zero")
}
if task.Resources.CPU == 0 {
return nil, fmt.Errorf("CPU limit cannot be zero")
}
// Add memory isolator
cmd_args = append(cmd_args, fmt.Sprintf("--memory=%vM", int64(task.Resources.MemoryMB) * 1024 * 1024))
// Add CPU isolator
cmd_args = append(cmd_args, fmt.Sprintf("--cpu=%vm", int64(task.Resources.CPU)))
// Add user passed arguments.
if len(driverConfig.Args) != 0 {
parsed := args.ParseAndReplace(driverConfig.Args, envVars.Map())
......
......@@ -81,6 +81,10 @@ func TestRktDriver_Start(t *testing.T) {
"image": "coreos.com/etcd:v2.0.4",
"command": "/etcd",
},
Resources: &structs.Resources{
MemoryMB: 256,
CPU: 512,
},
}
driverCtx := testDriverContext(task.Name)
......@@ -121,6 +125,10 @@ func TestRktDriver_Start_Wait(t *testing.T) {
"command": "/etcd",
"args": []string{"--version"},
},
Resources: &structs.Resources{
MemoryMB: 256,
CPU: 512,
},
}
driverCtx := testDriverContext(task.Name)
......@@ -162,6 +170,10 @@ func TestRktDriver_Start_Wait_Skip_Trust(t *testing.T) {
"command": "/etcd",
"args": []string{"--version"},
},
Resources: &structs.Resources{
MemoryMB: 256,
CPU: 512,
},
}
driverCtx := testDriverContext(task.Name)
......@@ -204,6 +216,10 @@ func TestRktDriver_Start_Wait_Logs(t *testing.T) {
"command": "/etcd",
"args": []string{"--version"},
},
Resources: &structs.Resources{
MemoryMB: 256,
CPU: 512,
},
}
driverCtx := testDriverContext(task.Name)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment