Enable config for docker daemon debug
authorAlex Schultz <aschultz@redhat.com>
Thu, 24 Aug 2017 16:07:23 +0000 (10:07 -0600)
committerAlex Schultz <aschultz@redhat.com>
Tue, 29 Aug 2017 02:20:40 +0000 (02:20 +0000)
Exposes a way to configure the docker daemon with debug enabled.

Change-Id: I654a70c8bb7753679be83d78ca653ed44c3a7395
Related-Bug: #1710533
(cherry picked from commit 44b90c9a79146139cbcbe7f560bd1df667cca780)

manifests/profile/base/docker.pp
spec/classes/tripleo_profile_base_docker_spec.rb

index 8cb4cdd..73731ad 100644 (file)
 # [*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,
@@ -133,6 +138,9 @@ class tripleo::profile::base::docker (
       $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 => '{}',
@@ -144,7 +152,7 @@ class tripleo::profile::base::docker (
     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'],
index 146d784..328948e 100644 (file)
@@ -82,10 +82,32 @@ describe 'tripleo::profile::base::docker' do
       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',