Dummy orchestrator
This commit is contained in:
parent
5e5d0131e0
commit
77a81084d2
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/env ruby
|
||||
$LOAD_PATH << File.join(File.dirname(__FILE__),"..","lib")
|
||||
require 'naily'
|
||||
|
||||
nodes = ['admin']
|
||||
metadata = {'role' => 'test_compute', 'meta' => 'some metadata'}
|
||||
orchestrator = Naily::Orchestrator.new(nodes, metadata)
|
||||
orchestrator.deploy
|
|
@ -1,4 +1,37 @@
|
|||
require 'mcollective'
|
||||
|
||||
module Naily
|
||||
class Orchestrator
|
||||
include MCollective::RPC
|
||||
def initialize(nodes, metadata={})
|
||||
@nodes = nodes
|
||||
@metadata = metadata
|
||||
end
|
||||
|
||||
private
|
||||
def check_mcollective_result(stats)
|
||||
stats.each do |agent|
|
||||
status = agent.results[:statuscode]
|
||||
raise "MCollective call failed in agent: #{agent}" unless status == 0
|
||||
end
|
||||
end
|
||||
|
||||
public
|
||||
def deploy
|
||||
mc = rpcclient("nailyfact")
|
||||
mc.progress = false
|
||||
mc.discover(:nodes => @nodes)
|
||||
stats = mc.post(:value => @metadata)
|
||||
check_mcollective_result(stats)
|
||||
|
||||
mc = rpcclient("puppetd")
|
||||
mc.progress = false
|
||||
mc.discover(:nodes => @nodes)
|
||||
stats = mc.runonce
|
||||
printrpc mc.status
|
||||
sleep 5
|
||||
printrpc mc.status
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -9,9 +9,6 @@ if File.exist?("/etc/naily.facts")
|
|||
Facter.add(var) do
|
||||
setcode { val }
|
||||
end
|
||||
Facter.add("myrole") do
|
||||
setcode {'a' => {'b' => {'c' => 'd'}}}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue