Skip to content

Commit 059d8a8

Browse files
esalbergdavejrt
authored andcommitted
Add ability to override After for docker.service (#446)
1 parent a204679 commit 059d8a8

File tree

7 files changed

+29
-1
lines changed

7 files changed

+29
-1
lines changed

README.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ class { 'docker':
129129
}
130130
```
131131

132+
For more information about the configuration options for the default docker bridge, see the [Docker documentation](https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/).
133+
132134
The default group ownership of the Unix control socket differs based on OS. For example, on RHEL using docker-ce packages >=18.09.1, the socket file used by /usr/lib/systemd/system/docker.socket is owned by the docker group. To override this value in /etc/sysconfig/docker and docker.socket (e.g. to use the 'root' group):
133135

134136
```puppet
@@ -144,8 +146,11 @@ The socket_group parameter also takes a boolean for legacy cases where setting -
144146
docker::socket_group: false
145147
```
146148

147-
For more information about the configuration options for the default docker bridge, see the [Docker documentation](https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/).
149+
To add another service to the After= line in the [Unit] section of the systemd /etc/systemd/system/service-overrides.conf file, use the service_after_override parameter:
148150

151+
```puppet
152+
docker::service_after_override: containerd.service
153+
```
149154

150155
When setting up TLS, upload the related files (CA certificate, server certificate, and key) and include their paths in the manifest file:
151156

manifests/init.pp

+1
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,7 @@
498498
Variant[String,Boolean,Undef] $service_overrides_template = $docker::params::service_overrides_template,
499499
Variant[String,Boolean,Undef] $socket_overrides_template = $docker::params::socket_overrides_template,
500500
Optional[Boolean] $socket_override = $docker::params::socket_override,
501+
Optional[String] $service_after_override = $docker::params::service_after_override,
501502
Optional[Boolean] $service_hasstatus = $docker::params::service_hasstatus,
502503
Optional[Boolean] $service_hasrestart = $docker::params::service_hasrestart,
503504
Optional[String] $registry_mirror = $docker::params::registry_mirror,

manifests/params.pp

+6
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb'
121121
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.erb'
122122
$socket_override = false
123+
$service_after_override = undef
123124
$service_hasstatus = true
124125
$service_hasrestart = true
125126
include docker::systemd_reload
@@ -128,6 +129,7 @@
128129
$service_overrides_template = undef
129130
$socket_overrides_template = undef
130131
$socket_override = false
132+
$service_after_override = undef
131133
$service_provider = 'upstart'
132134
$service_hasstatus = true
133135
$service_hasrestart = false
@@ -142,6 +144,7 @@
142144
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb'
143145
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.erb'
144146
$socket_override = false
147+
$service_after_override = undef
145148
$service_hasstatus = true
146149
$service_hasrestart = true
147150
include docker::systemd_reload
@@ -192,6 +195,7 @@
192195
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-rhel.conf.erb'
193196
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.erb'
194197
$socket_override = false
198+
$service_after_override = undef
195199
$use_upstream_package_source = true
196200

197201
$package_ce_source_location = "https://download.docker.com/linux/centos/${::operatingsystemmajrelease}/${::architecture}/${docker_ce_channel}"
@@ -264,6 +268,7 @@
264268
$service_overrides_template = undef
265269
$socket_overrides_template = undef
266270
$socket_override = false
271+
$service_after_override = undef
267272
$service_hasstatus = undef
268273
$service_hasrestart = undef
269274
$detach_service_in_init = true
@@ -292,6 +297,7 @@
292297
$service_overrides_template = undef
293298
$socket_overrides_template = undef
294299
$socket_override = false
300+
$service_after_override = undef
295301
$service_hasstatus = undef
296302
$service_hasrestart = undef
297303
$service_provider = undef

manifests/service.pp

+1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
$service_overrides_template = $docker::service_overrides_template,
109109
$socket_overrides_template = $docker::socket_overrides_template,
110110
$socket_override = $docker::socket_override,
111+
$service_after_override = $docker::service_after_override,
111112
$service_hasstatus = $docker::service_hasstatus,
112113
$service_hasrestart = $docker::service_hasrestart,
113114
$daemon_environment_files = $docker::daemon_environment_files,

spec/classes/docker_spec.rb

+5
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,11 @@
441441
it { should contain_file('/etc/systemd/system/docker.service.d/service-overrides.conf').with_content(/docker.io/) }
442442
end
443443

444+
context 'with an extra After entry' do
445+
let(:params) {{ 'service_after_override' => 'containerd.service' }}
446+
it { should contain_file('/etc/systemd/system/docker.service.d/service-overrides.conf').with_content(/containerd.service/) }
447+
end
448+
444449
context 'with a specific socket group and override' do
445450
let(:params) { {
446451
'socket_group' => 'root',

templates/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
<% if @service_after_override -%>
2+
[Unit]
3+
After=<%= @service_after_override %>
4+
5+
<% end -%>
16
[Service]
27
EnvironmentFile=-/etc/default/docker
38
EnvironmentFile=-/etc/default/docker-storage

templates/etc/systemd/system/docker.service.d/service-overrides-rhel.conf.erb

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
<% if @service_after_override -%>
2+
[Unit]
3+
After=<%= @service_after_override %>
4+
5+
<% end -%>
16
[Service]
27
EnvironmentFile=-/etc/sysconfig/docker
38
EnvironmentFile=-/etc/sysconfig/docker-storage

0 commit comments

Comments
 (0)