Class: MCORPC
- Inherits:
-
Object
- Object
- MCORPC
- Defined in:
- lib/mcorpc.rb
Instance Attribute Summary collapse
-
#mco ⇒ Object
readonly
Returns the value of attribute mco.
Instance Method Summary collapse
- #close ⇒ Object
- #conn(agent) ⇒ Object
- #mcocmd(host, cmd) ⇒ Object
- #mcodiscoverfact(fact, facts, classes = nil) ⇒ Object
- #mcodiscovernode(facts, classes = nil) ⇒ Object
- #mcohostfact(host, fact) ⇒ Object
- #reset_filter ⇒ Object
Instance Attribute Details
#mco ⇒ Object (readonly)
Returns the value of attribute mco.
7 8 9 |
# File 'lib/mcorpc.rb', line 7 def mco @mco end |
Instance Method Details
#close ⇒ Object
22 23 24 25 |
# File 'lib/mcorpc.rb', line 22 def close # Close rpcclient connection @mco.disconnect end |
#conn(agent) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/mcorpc.rb', line 9 def conn(agent) # Initialize rpcclient connection for agent mc = rpcclient(agent) mc.reset_filter mc.timeout = 60 # Set -T global mc.collective = 'global' # Disable Progress bar mc.progress = false mc.verbose = false @mco = mc end |
#mcocmd(host, cmd) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/mcorpc.rb', line 32 def mcocmd(host,cmd) # shellcmd agent to execute commands conn("shellcmd") value = nil # MCO filter for -F hostname='hostname' mco.fact_filter "hostname",host mco.discover :verbose => false response = mco.runcmd(:cmd => cmd) response.each { |a| value = a.results[:data][:stdout]} return value end |
#mcodiscoverfact(fact, facts, classes = nil) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/mcorpc.rb', line 77 def mcodiscoverfact(fact,facts,classes=nil) # facts agent to search fact value conn("rpcutil") value = nil facts = facts.split(",") # Set fact discovery facts.each { |f| factName,factValue = f.split("=") mco.fact_filter factName, factValue } #Set class discovery if classes classes = classes.split(",") classes.each {|classname| mco.class_filter classname } end mco.discover :verbose => false response = mco.get_fact(:fact => fact) response.each { |a| value = [] value.push a.results[:data][:value] value = value.uniq } return value end |
#mcodiscovernode(facts, classes = nil) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/mcorpc.rb', line 55 def mcodiscovernode(facts,classes=nil) # find agent to discover hosts conn("rpcutil") value = nil facts = facts.split(",") # Set fact discovery facts.each { |f| factName,factValue = f.split("=") mco.fact_filter factName, factValue } #Set class discovery if classes classes = classes.split(",") classes.each {|classname| mco.class_filter classname } end mco.discover :verbose => false value = mco.discover return value end |
#mcohostfact(host, fact) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/mcorpc.rb', line 44 def mcohostfact(host,fact) # facts agent to get fact value for a host conn("rpcutil") value = nil mco.fact_filter "hostname", host mco.discover :verbose => false response = mco.get_fact(:fact => fact) response.each { |a| value = a.results[:data][:value]} return value end |
#reset_filter ⇒ Object
27 28 29 30 |
# File 'lib/mcorpc.rb', line 27 def reset_filter # Reset Filters @mco.reset_filter end |