Guest User

Untitled

a guest
Aug 10th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. require 'rubygems'
  2. require 'fog'
  3. require 'alchemist'
  4.  
  5. #
  6. # Needs Fog > 0.11 (in development)
  7. #
  8.  
  9. #
  10. # Helper to print all the servers
  11. #
  12. def print_servers(compute, uri)
  13. compute.servers.all.each do |s|
  14. puts " #{s.name}"
  15. puts " Server ID:".ljust(20) + "#{s.id}"
  16. end
  17. puts "\n"*3
  18. end
  19.  
  20. #
  21. # Helper to print hypervisor info
  22. #
  23. def print_node_info(node)
  24. puts "Memory: %s MB" % node.memory.kilobytes.to.megabytes.round
  25. puts "Free Memory: %s MB" % node.node_free_memory.bytes.to.megabytes.round
  26. puts "CPUs: #{node.cpus}"
  27. puts "CPU Sockets: #{node.sockets}"
  28. puts "CPU Model: #{node.model}"
  29. puts "CPU Cores: #{node.cores}"
  30. puts "CPU Threads: #{node.threads}"
  31. end
  32.  
  33. #
  34. # ESX
  35. #
  36. uri = 'esx://thunder03/?no_verify=1'
  37. c = Fog::Compute.new(
  38. {
  39. :provider => 'Libvirt',
  40. :libvirt_uri => uri,
  41. :libvirt_username => 'root',
  42. :libvirt_password => 'temporal'
  43. }
  44. )
  45. print_node_info c.nodes.first
  46.  
  47. puts "Servers: %s" % c.servers.size
  48. print_servers c, uri
Add Comment
Please, Sign In to add comment