Sha256: 25cab93f0804df568e72878916ca1a42fc6b1516ac681c90aa7301db443d2aa3
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
# coding: utf-8 module Splash module Orchestrator module Grammar include Splash::Config include Splash::Loggers VERBS=[:ping,:list_commands,:execute_command,:ack_command, :shutdown] def shutdown self.terminate end def ping(payload) return "Pong : #{payload[:hostname]} !" end def list_commands return get_config.commands end def ack_command(payload) return self.execute command: payload[:name], ack: true end def execute_command(payload) unless get_config.commands.include? payload[:name].to_sym @log.item "Command not found" return { :case => :not_found } end if payload.include? :schedule then sched,value = payload[:schedule].flatten @log.schedule "remote call command #{payload[:name]}, scheduling : #{sched.to_s} #{value}" @server.send sched,value do @log.trigger "Executing Scheduled command #{payload[:name]} for Scheduling : #{sched.to_s} #{value}" self.execute command: payload[:name] end return { :case => :quiet_exit } else @log.info "Execute direct command" res = self.execute command: payload[:name] return res end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
prometheus-splash-0.4.2 | lib/splash/orchestrator/grammar.rb |
prometheus-splash-0.4.1 | lib/splash/orchestrator/grammar.rb |
prometheus-splash-0.4.0 | lib/splash/orchestrator/grammar.rb |