Dummy orchestrator
This commit is contained in:
parent
5e5d0131e0
commit
77a81084d2
8
naily/bin/naily.rb
Executable file
8
naily/bin/naily.rb
Executable file
@ -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
|
module Naily
|
||||||
class Orchestrator
|
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
|
||||||
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
|
Facter.add(var) do
|
||||||
setcode { val }
|
setcode { val }
|
||||||
end
|
end
|
||||||
Facter.add("myrole") do
|
|
||||||
setcode {'a' => {'b' => {'c' => 'd'}}}
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user