Skip to content

Commit bc2f819

Browse files
authored
Merge pull request #261 from klihub/fixes/sysctl-adjustment
api,adaptation: fix sysctl adjustment collection, add unit test.
2 parents 95203e5 + 232234c commit bc2f819

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

pkg/adaptation/adaptation_suite_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,9 @@ var _ = Describe("Plugin container creation adjustments", func() {
559559
Policy: api.LinuxSchedulerPolicy_SCHED_NONE,
560560
})
561561

562+
case "linux sysctl":
563+
a.SetLinuxSysctl("net.core.somaxconn", "256")
564+
562565
case "resources/cpu":
563566
a.SetLinuxCPUShares(123)
564567
a.SetLinuxCPUQuota(456)
@@ -862,6 +865,16 @@ var _ = Describe("Plugin container creation adjustments", func() {
862865
},
863866
),
864867

868+
Entry("adjust linux sysctl settings", "linux sysctl",
869+
&api.ContainerAdjustment{
870+
Linux: &api.LinuxContainerAdjustment{
871+
Sysctl: map[string]string{
872+
"net.core.somaxconn": "256",
873+
},
874+
},
875+
},
876+
),
877+
865878
Entry("adjust CPU resources", "resources/cpu",
866879
&api.ContainerAdjustment{
867880
Linux: &api.LinuxContainerAdjustment{

pkg/adaptation/result.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ func collectCreateContainerResult(request *CreateContainerRequest) *result {
8585
if request.Container.Linux.NetDevices == nil {
8686
request.Container.Linux.NetDevices = map[string]*LinuxNetDevice{}
8787
}
88+
if request.Container.Linux.Sysctl == nil {
89+
request.Container.Linux.Sysctl = map[string]string{}
90+
}
8891

8992
return &result{
9093
request: resultRequest{
@@ -108,6 +111,7 @@ func collectCreateContainerResult(request *CreateContainerRequest) *result {
108111
},
109112
Namespaces: []*LinuxNamespace{},
110113
NetDevices: map[string]*LinuxNetDevice{},
114+
Sysctl: map[string]string{},
111115
},
112116
},
113117
},

pkg/api/strip.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ func (l *LinuxContainerAdjustment) Strip() *LinuxContainerAdjustment {
122122
empty = false
123123
}
124124

125+
if len(l.Sysctl) == 0 {
126+
l.Sysctl = nil
127+
} else {
128+
empty = false
129+
}
130+
125131
if empty {
126132
return nil
127133
}

0 commit comments

Comments
 (0)