From 4a284f1ebf2fcdbc004f71679e2ec7600a5bdfca Mon Sep 17 00:00:00 2001 From: martyewings Date: Wed, 15 Dec 2021 15:45:25 +0000 Subject: [PATCH] (SUP-2847) added success and fail exits to bash task --- spec/acceptance/st0346a_bash_herd_resolver_spec.rb | 3 +-- tasks/st0346_herd_resolver.json | 2 +- tasks/st0346a_bash_herd_resolver.json | 5 ++++- tasks/st0346a_bash_herd_resolver.sh | 10 +++++++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/spec/acceptance/st0346a_bash_herd_resolver_spec.rb b/spec/acceptance/st0346a_bash_herd_resolver_spec.rb index 1179a15..e412cb5 100644 --- a/spec/acceptance/st0346a_bash_herd_resolver_spec.rb +++ b/spec/acceptance/st0346a_bash_herd_resolver_spec.rb @@ -3,7 +3,6 @@ it 'when restarting agent ' do run_shell('/opt/puppetlabs/bin/puppet config set runinterval 5') result = run_bolt_task('support_tasks::st0346a_bash_herd_resolver') - expect(result['result']['_output']).to contain('running') - expect(result['result']['_output']).to contain('stopped') + expect(result.stdout).to contain(%r{success}) end end diff --git a/tasks/st0346_herd_resolver.json b/tasks/st0346_herd_resolver.json index 6ebd281..b724d2f 100644 --- a/tasks/st0346_herd_resolver.json +++ b/tasks/st0346_herd_resolver.json @@ -5,7 +5,7 @@ "parameters": { }, "implementations": [ - {"name": "st0346a_bash_herd_resolver.sh", "requirements": ["shell"]}, + {"name": "st0346a_bash_herd_resolver.sh", "requirements": ["shell"], "files": ["bash_task_helper/files/task_helper.sh"], "input_method": "environment"}, {"name": "st0346b_powershell_herd_resolver.ps1", "requirements": ["powershell"]} ] } diff --git a/tasks/st0346a_bash_herd_resolver.json b/tasks/st0346a_bash_herd_resolver.json index a9a0dfc..7f03995 100644 --- a/tasks/st0346a_bash_herd_resolver.json +++ b/tasks/st0346a_bash_herd_resolver.json @@ -3,5 +3,8 @@ "supports_noop": false, "description": "This Task will restart the puppet agent process in a randomised period between 0 and the currently set runinterval", "parameters": { - } + }, + "implementations": [ + {"name": "st0346a_bash_herd_resolver.sh", "requirements": ["shell"], "files": ["bash_task_helper/files/task_helper.sh"], "input_method": "environment"} + ] } diff --git a/tasks/st0346a_bash_herd_resolver.sh b/tasks/st0346a_bash_herd_resolver.sh index 637578d..c6de3e7 100644 --- a/tasks/st0346a_bash_herd_resolver.sh +++ b/tasks/st0346a_bash_herd_resolver.sh @@ -1,9 +1,13 @@ #!/bin/bash +declare PT__installdir +source "$PT__installdir/bash_task_helper/files/task_helper.sh" # Puppet Task Name: bash_herd_resolver # This task is to be run on operating systems using a bash shell # It will randomise the restart of the puppet agent based on the current value of runinterval -sleep $(( ( RANDOM % $(/opt/puppetlabs/bin/puppet agent --configprint runinterval) ) + 1 ))s -/opt/puppetlabs/bin/puppet resource service puppet ensure=stopped -/opt/puppetlabs/bin/puppet resource service puppet ensure=running +sleep $(( ( RANDOM % $(/opt/puppetlabs/bin/puppet agent --configprint runinterval) ) + 1 ))s || fail "unable to set random sleep interval " +/opt/puppetlabs/bin/puppet resource service puppet ensure=stopped || fail "unable stop puppet service " +/opt/puppetlabs/bin/puppet resource service puppet ensure=running || fail "unable start puppet service " + +success '{ "status": "success - Agent restarted at random interval" }'