diff --git a/tasks/swarm_init.rb b/tasks/swarm_init.rb index f557d7c..78c49af 100755 --- a/tasks/swarm_init.rb +++ b/tasks/swarm_init.rb @@ -1,43 +1,43 @@ #!/opt/puppetlabs/puppet/bin/ruby # frozen_string_literal: true require 'json' require 'open3' require 'puppet' def swarm_init(advertise_addr, autolock, cert_expiry, dispatcher_heartbeat, external_ca, force_new_cluster, listen_addr, max_snapshots, snapshot_interval) cmd_string = 'docker swarm init' - cmd_string << " --advertise-addr=#{advertise_addr}" unless advertise_addr.nil? - cmd_string << ' --autolock' unless autolock.nil? - cmd_string << ' --cert-expiry' unless cert_expiry.nil? - cmd_string << " --dispatcher-heartbeat=#{dispatcher_heartbeat}" unless dispatcher_heartbeat.nil? - cmd_string << " --external-ca=#{external_ca}" unless external_ca.nil? - cmd_string << ' --force-new-cluster' unless force_new_cluster.nil? - cmd_string << " --listen-addr=#{listen_addr}" unless listen_addr.nil? - cmd_string << " --max-snapshots=#{max_snapshots}" unless max_snapshots.nil? - cmd_string << " --snapshot-interval=#{snapshot_interval}" unless snapshot_interval.nil? + cmd_string += " --advertise-addr=#{advertise_addr}" unless advertise_addr.nil? + cmd_string += ' --autolock' unless autolock.nil? + cmd_string += ' --cert-expiry' unless cert_expiry.nil? + cmd_string += " --dispatcher-heartbeat=#{dispatcher_heartbeat}" unless dispatcher_heartbeat.nil? + cmd_string += " --external-ca=#{external_ca}" unless external_ca.nil? + cmd_string += ' --force-new-cluster' unless force_new_cluster.nil? + cmd_string += " --listen-addr=#{listen_addr}" unless listen_addr.nil? + cmd_string += " --max-snapshots=#{max_snapshots}" unless max_snapshots.nil? + cmd_string += " --snapshot-interval=#{snapshot_interval}" unless snapshot_interval.nil? stdout, stderr, status = Open3.capture3(cmd_string) raise Puppet::Error, "stderr: '#{stderr}'" if status != 0 stdout.strip end params = JSON.parse(STDIN.read) advertise_addr = params['advertise_addr'] autolock = params['autolock'] cert_expiry = params['cert_expiry'] dispatcher_heartbeat = params['dispatcher_heartbeat'] external_ca = params['external_ca'] force_new_cluster = params['force_new_cluster'] listen_addr = params['listen_addr'] max_snapshots = params['max_snapshots'] snapshot_interval = params['snapshot_interval'] begin result = swarm_init(advertise_addr, autolock, cert_expiry, dispatcher_heartbeat, external_ca, force_new_cluster, listen_addr, max_snapshots, snapshot_interval) puts result exit 0 rescue Puppet::Error => e puts(status: 'failure', error: e.message) exit 1 end diff --git a/tasks/swarm_join.rb b/tasks/swarm_join.rb index fcffa4c..c98471d 100755 --- a/tasks/swarm_join.rb +++ b/tasks/swarm_join.rb @@ -1,33 +1,33 @@ #!/opt/puppetlabs/puppet/bin/ruby # frozen_string_literal: true require 'json' require 'open3' require 'puppet' def swarm_join(advertise_addr, listen_addr, token, manager_ip) cmd_string = 'docker swarm join' - cmd_string << " --advertise-addr=#{advertise_addr}" unless advertise_addr.nil? - cmd_string << " --listen-addr=#{listen_addr}" unless listen_addr.nil? - cmd_string << " --token=#{token}" unless token.nil? - cmd_string << " #{manager_ip}" unless manager_ip.nil? + cmd_string += " --advertise-addr=#{advertise_addr}" unless advertise_addr.nil? + cmd_string += " --listen-addr=#{listen_addr}" unless listen_addr.nil? + cmd_string += " --token=#{token}" unless token.nil? + cmd_string += " #{manager_ip}" unless manager_ip.nil? stdout, stderr, status = Open3.capture3(cmd_string) raise Puppet::Error, "stderr: '#{stderr}'" if status != 0 stdout.strip end params = JSON.parse(STDIN.read) advertise_addr = params['advertise_addr'] listen_addr = params['listen_addr'] token = params['token'] manager_ip = params['manager_ip'] begin result = swarm_join(advertise_addr, listen_addr, token, manager_ip) puts result exit 0 rescue Puppet::Error => e puts(status: 'failure', error: e.message) exit 1 end diff --git a/tasks/swarm_leave.rb b/tasks/swarm_leave.rb index a5abefa..d6bc6bb 100755 --- a/tasks/swarm_leave.rb +++ b/tasks/swarm_leave.rb @@ -1,25 +1,25 @@ #!/opt/puppetlabs/puppet/bin/ruby # frozen_string_literal: true require 'json' require 'open3' require 'puppet' def swarm_leave(force) cmd_string = 'docker swarm leave ' - cmd_string << ' -f' if force == 'true' + cmd_string += ' -f' if force == 'true' stdout, stderr, status = Open3.capture3(cmd_string) raise Puppet::Error, "stderr: '#{stderr}'" if status != 0 stdout.strip end params = JSON.parse(STDIN.read) force = params['force'] begin result = swarm_leave(force) puts result exit 0 rescue Puppet::Error => e puts(status: 'failure', error: e.message) exit 1 end diff --git a/tasks/swarm_update.rb b/tasks/swarm_update.rb index 214c2e3..627923d 100755 --- a/tasks/swarm_update.rb +++ b/tasks/swarm_update.rb @@ -1,29 +1,29 @@ #!/opt/puppetlabs/puppet/bin/ruby # frozen_string_literal: true require 'json' require 'open3' require 'puppet' def swarm_update(image, service) cmd_string = 'docker service update' - cmd_string << " --image #{image}" unless image.nil? - cmd_string << " #{service}" unless service.nil? + cmd_string += " --image #{image}" unless image.nil? + cmd_string += " #{service}" unless service.nil? stdout, stderr, status = Open3.capture3(cmd_string) raise Puppet::Error, "stderr: '#{stderr}'" if status != 0 stdout.strip end params = JSON.parse(STDIN.read) image = params['image'] service = params['service'] begin result = swarm_update(image, service) puts result exit 0 rescue Puppet::Error => e puts(status: 'failure', error: e.message) exit 1 end