# [*step*]
# step defaults to hiera('step')
#
+# [*debug*]
+# Boolean. Value to configure docker daemon's debug configuration.
+# Defaults to false
+#
# DEPRECATED PARAMETERS
#
# [*insecure_registry_address*]
#
class tripleo::profile::base::docker (
$insecure_registries = undef,
- $registry_mirror = false,
- $docker_options = '--log-driver=journald --signature-verification=false --iptables=false',
- $configure_storage = true,
- $storage_options = '-s overlay2',
- $step = Integer(hiera('step')),
+ $registry_mirror = false,
+ $docker_options = '--log-driver=journald --signature-verification=false --iptables=false',
+ $configure_storage = true,
+ $storage_options = '-s overlay2',
+ $step = Integer(hiera('step')),
+ $debug = false,
# DEPRECATED PARAMETERS
$insecure_registry_address = undef,
$docker_namespace = undef,
$mirror_changes = [ 'rm dict/entry[. = "registry-mirrors"]', ]
}
+ $debug_changes = ['set dict/entry[. = "debug"] "debug"',
+ "set dict/entry[. = \"debug\"]/const \"${debug}\"",]
+
file { '/etc/docker/daemon.json':
ensure => 'present',
content => '{}',
augeas { 'docker-daemon.json':
lens => 'Json.lns',
incl => '/etc/docker/daemon.json',
- changes => $mirror_changes,
+ changes => concat($mirror_changes, $debug_changes),
subscribe => Package['docker'],
notify => Service['docker'],
require => File['/etc/docker/daemon.json'],
it { is_expected.to contain_package('docker') }
it { is_expected.to contain_service('docker') }
it {
- is_expected.to contain_augeas('docker-daemon.json').with_changes(['set dict/entry[. = "registry-mirrors"] "registry-mirrors', "set dict/entry[. = \"registry-mirrors\"]/array/string \"http://foo/bar\""])
+ is_expected.to contain_augeas('docker-daemon.json').with_changes(
+ ['set dict/entry[. = "registry-mirrors"] "registry-mirrors',
+ "set dict/entry[. = \"registry-mirrors\"]/array/string \"http://foo/bar\"",
+ 'set dict/entry[. = "debug"] "debug"',
+ "set dict/entry[. = \"debug\"]/const \"false\""])
}
end
+ context 'with step 1 and docker debug' do
+ let(:params) { {
+ :step => 1,
+ :debug => true,
+ } }
+
+ it { is_expected.to contain_class('tripleo::profile::base::docker') }
+ it { is_expected.to contain_package('docker') }
+ it { is_expected.to contain_service('docker') }
+ it {
+ is_expected.to contain_augeas('docker-daemon.json').with_changes(
+ ['rm dict/entry[. = "registry-mirrors"]',
+ 'set dict/entry[. = "debug"] "debug"',
+ "set dict/entry[. = \"debug\"]/const \"true\""])
+ }
+ end
+
+
context 'with step 1 and docker_options configured' do
let(:params) { {
:docker_options => '--log-driver=syslog',