Skip to content

Commit 8984d34

Browse files
committed
Add scheduler_extra_arguments parameter
1 parent 4010496 commit 8984d34

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,11 @@ controllermanager_extra_volumes => {
296296

297297
Defaults to `{}`.
298298

299+
#### `scheduler_extra_arguments`
300+
301+
A string array of extra arguments passed to the scheduler.
302+
303+
Defaults to `[]`.
299304

300305
#### `create_repos`
301306

manifests/config/kubeadm.pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
Optional[Array] $apiserver_cert_extra_sans = $kubernetes::apiserver_cert_extra_sans,
4444
Optional[Array] $apiserver_extra_arguments = $kubernetes::apiserver_extra_arguments,
4545
Optional[Array] $controllermanager_extra_arguments = $kubernetes::controllermanager_extra_arguments,
46+
Optional[Array] $scheduler_extra_arguments = $kubernetes::scheduler_extra_arguments,
4647
Optional[Array] $kubelet_extra_arguments = $kubernetes::kubelet_extra_arguments,
4748
String $service_cidr = $kubernetes::service_cidr,
4849
String $node_name = $kubernetes::node_name,
@@ -124,6 +125,7 @@
124125
}
125126
$apiserver_merged_extra_arguments = concat($apiserver_extra_arguments, $cloud_args)
126127
$controllermanager_merged_extra_arguments = concat($controllermanager_extra_arguments, $cloud_args)
128+
$scheduler_merged_extra_arguments = concat($scheduler_extra_arguments, $cloud_args)
127129

128130
# could check against Kubernetes 1.10 here, but that uses alpha1 config which doesn't have these options
129131
if $cloud_config {
@@ -147,6 +149,7 @@
147149
} else {
148150
$apiserver_merged_extra_arguments = $apiserver_extra_arguments
149151
$controllermanager_merged_extra_arguments = $controllermanager_extra_arguments
152+
$scheduler_merged_extra_arguments = $scheduler_extra_arguments
150153

151154
$apiserver_merged_extra_volumes = $apiserver_extra_volumes
152155
$controllermanager_merged_extra_volumes = $controllermanager_extra_volumes

manifests/init.pp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@
233233
# A hash of extra volume mounts mounted on the controller manager.
234234
# Defaults to []
235235
#
236+
# [*scheduler_extra_arguments*]
237+
# A string array of extra arguments to be passed to scheduler.
238+
# Defaults to []
239+
#
236240
# [*delegated_pki*]
237241
# Set to true if all required X509 certificates will be provided by external means. Setting this to true will ignore all *_crt and *_key including sa.key and sa.pub files.
238242
# Defaults to false
@@ -517,6 +521,7 @@
517521
Optional[Array] $apiserver_cert_extra_sans = [],
518522
Optional[Array] $apiserver_extra_arguments = [],
519523
Optional[Array] $controllermanager_extra_arguments = [],
524+
Optional[Array] $scheduler_extra_arguments = [],
520525
String $service_cidr = '10.96.0.0/12',
521526
Optional[String] $node_label = undef,
522527
Optional[String] $controller_address = undef,

spec/classes/config/kubeadm_spec.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,25 @@
323323
end
324324
end
325325

326+
context 'with version = 1.14' do
327+
let(:params) do
328+
{
329+
'kubernetes_version' => '1.14.1',
330+
'scheduler_extra_arguments' => ['foo', 'bar'],
331+
}
332+
end
333+
334+
let(:config_yaml) { YAML.load_stream(catalogue.resource('file', '/etc/kubernetes/config.yaml').send(:parameters)[:content]) }
335+
336+
it { is_expected.to contain_file('/etc/kubernetes/config.yaml') }
337+
it 'has foo in scheduler arguments' do
338+
expect(config_yaml[1]['scheduler']['extraArgs']).to include('foo')
339+
end
340+
it 'has bar in scheduler arguments' do
341+
expect(config_yaml[1]['scheduler']['extraArgs']).to include('bar')
342+
end
343+
end
344+
326345
context 'with version = 1.14' do
327346
let(:params) do
328347
{

templates/v1beta1/config_kubeadm.yaml.erb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@ controllerManager:
7676
pathType: <%= config['pathType'] %>
7777
<%- end -%>
7878
<%- end -%>
79+
scheduler:
80+
<%- if @scheduler_merged_extra_arguments -%>
81+
extraArgs:
82+
<%- @scheduler_merged_extra_arguments.each do |arg| -%>
83+
<%= arg %>
84+
<%- end -%>
85+
<%- end -%>
7986
dns:
8087
type: CoreDNS
8188
etcd:

templates/v1beta2/config_kubeadm.yaml.erb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ controllerManager:
7878
pathType: <%= config['pathType'] %>
7979
<%- end -%>
8080
<%- end -%>
81+
scheduler:
82+
<%- if @scheduler_merged_extra_arguments -%>
83+
extraArgs:
84+
<%- @scheduler_merged_extra_arguments.each do |arg| -%>
85+
<%= arg %>
86+
<%- end -%>
87+
<%- end -%>
8188
dns:
8289
type: CoreDNS
8390
etcd:

0 commit comments

Comments
 (0)