Class: Dcmgr::NodeModules::InstanceMonitor
- Inherits:
-
Isono::NodeModules::Base
- Object
- Isono::NodeModules::Base
- Dcmgr::NodeModules::InstanceMonitor
- Includes:
- Logger, Rpc::KvmHelper
- Defined in:
- lib/dcmgr/node_modules/instance_monitor.rb
Instance Method Summary collapse
Methods included from Logger
create, default_logdev, included
Methods included from Rpc::KvmHelper
Instance Method Details
#check_instance ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/dcmgr/node_modules/instance_monitor.rb', line 23 def check_instance() instlst = rpc.request('hva-collector', 'get_alive_instances', manifest.node_id) instlst.find_all{|i| i[:state] == 'running' }.each { |i| begin check_kvm_process(i) rescue Exception => e if i[:status] == 'online' logger.error("#{e.class}, #{e.}") rpc.request('hva-collector', 'update_instance', i[:uuid], {:status=>:offline}) { |req| req.oneshot = true } event.publish('hva/fault_instance', :args=>[i[:uuid]]) end next end if i[:status] != 'online' rpc.request('hva-collector', 'update_instance', i[:uuid], {:status=>:online}) { |req| req.oneshot = true } end } end |