Sha256: 037791b0244176a526e0adcc9f221fd9f2fd608f80f70e5e3b7c497c94eb01a7
Contents?: true
Size: 1.19 KB
Versions: 5
Compression:
Stored size: 1.19 KB
Contents
require 'json' require 'cgi' module MCollective module Agent class Action_agent < RPC::Agent action "run_command" do #validate :action_agent_request, String payload = request[:action_agent_request].to_json Log.info "Run command has been started with params: " Log.info payload # we encode payload encoded_payload = CGI.escape(payload) result = `/opt/puppet-omnibus/embedded/bin/dtk-action-agent '#{encoded_payload}'` json_result = JSON.parse(result) reply[:results] = json_result['results'] reply[:errors] = json_result['errors'] Log.info "Results: " Log.info reply[:results] Log.info "Errors: " Log.info reply[:errors] reply[:pbuilderid] = Facts["pbuilderid"] if reply[:errors].empty? Log.info "DTK Action Agent has finished successfully sending proper response" reply[:status] = :ok else reply[:status] = :failed reply[:statusmsg] = :failed reply[:statuscode] = 1 Log.error "DTK Action Agent has errors:" reply[:errors].each { |a| Log.error a } end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems