Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. ### This script will automate powering on Dell iDRAC server.
  4. ### It will then login to ESXi and exit maintenance mode and start a given VM or VM's###
  5. ### Note for ESXi you will need to use root account to run the given commands
  6. ### Al Reid - Version 1.0 ###
  7.  
  8. import paramiko
  9. import cmd
  10. import time
  11.  
  12. ### Power on Dell iDRAC SSH via session ###
  13.  
  14. ssh = paramiko.SSHClient()
  15. ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
  16. ssh.connect('IP ADDRESS', username='USERNAME', password='PASSWORD')
  17.  
  18. stdin, stdout, stderr = ssh.exec_command('racadm serveraction powerup')
  19.  
  20. print("reading outputs from the remote command")
  21. for l in stdout :
  22. print("stdout : %s" % l.strip())
  23.  
  24. for l in stderr:
  25. print("stderr : %s" % l.strip())
  26.  
  27. ssh.close()
  28.  
  29. ### wait for 4 minutes ###
  30.  
  31. time.sleep(240)
  32.  
  33. ### take ESXi server out of Maintence mode ###
  34.  
  35. ssh = paramiko.SSHClient()
  36. ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
  37. ssh.connect('IP ADDRESS', username='root', password='PASSWORD')
  38.  
  39. stdin, stdout, stderr = ssh.exec_command('vim-cmd hostsvc/maintenance_mode_exit')
  40.  
  41. print("reading outputs from the remote command")
  42. for l in stdout :
  43. print("stdout : %s" % l.strip())
  44.  
  45. for l in stderr:
  46. print("stderr : %s" % l.strip())
  47.  
  48. ssh.close()
  49.  
  50. ### Wait for ESXi to exit Maintenance mode ###
  51.  
  52. time.sleep(10)
  53.  
  54. ### Start up required VM - Note you will need the VM number ###
  55.  
  56. ssh = paramiko.SSHClient()
  57. ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
  58. ssh.connect('IP ADDRESS', username='root', password='PASSWORD')
  59.  
  60. stdin, stdout, stderr = ssh.exec_command('vim-cmd vmsvc/power.on GUEST_VM_NUMBER')
  61.  
  62. print("reading outputs from the remote command")
  63. for l in stdout :
  64. print("stdout : %s" % l.strip())
  65.  
  66. for l in stderr:
  67. print("stderr : %s" % l.strip())
  68.  
  69. ssh.close()
  70.  
  71.  
  72. print "The Server and Guest VM should now be fully started and ready for use"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement