X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=tasks%2Finit.rb;h=ee141cdb691dcc8dd5513b50f3cabb8f0dbffdd1;hb=refs%2Fheads%2Frelease-prep;hp=5db86ebb0c00b0fca3ca3883e6156129287306cc;hpb=dc3ead0ed5f4d735869565660c982983d379a519;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/tasks/init.rb b/tasks/init.rb index 5db86eb..ee141cd 100755 --- a/tasks/init.rb +++ b/tasks/init.rb @@ -1,17 +1,27 @@ #!/opt/puppetlabs/puppet/bin/ruby +# frozen_string_literal: true + require 'json' require 'open3' require 'puppet' def apt_get(action) - cmd_string = "apt-get #{action}" - cmd_string << ' -y' if action == 'upgrade' - stdout, stderr, status = Open3.capture3(cmd_string) + cmd = ['apt-get', action] + cmd << '-y' if ['upgrade', 'dist-upgrade', 'autoremove'].include?(action) + if ['upgrade', 'dist-upgrade'].include?(action) + ENV['DEBIAN_FRONTEND'] = 'noninteractive' + cmd << '-o' + cmd << 'Dpkg::Options="--force-confdef"' + cmd << '-o' + cmd << 'Dpkg::Options="--force-confold"' + end + stdout, stderr, status = Open3.capture3(*cmd) raise Puppet::Error, stderr if status != 0 + { status: stdout.strip } end -params = JSON.parse(STDIN.read) +params = JSON.parse($stdin.read) action = params['action'] begin