Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- ### This script will automate powering on Dell iDRAC server.
- ### It will then login to ESXi and exit maintenance mode and start a given VM or VM's###
- ### Note for ESXi you will need to use root account to run the given commands
- ### Al Reid - Version 1.0 ###
- import paramiko
- import cmd
- import time
- ### Power on Dell iDRAC SSH via session ###
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
- ssh.connect('IP ADDRESS', username='USERNAME', password='PASSWORD')
- stdin, stdout, stderr = ssh.exec_command('racadm serveraction powerup')
- print("reading outputs from the remote command")
- for l in stdout :
- print("stdout : %s" % l.strip())
- for l in stderr:
- print("stderr : %s" % l.strip())
- ssh.close()
- ### wait for 4 minutes ###
- time.sleep(240)
- ### take ESXi server out of Maintence mode ###
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
- ssh.connect('IP ADDRESS', username='root', password='PASSWORD')
- stdin, stdout, stderr = ssh.exec_command('vim-cmd hostsvc/maintenance_mode_exit')
- print("reading outputs from the remote command")
- for l in stdout :
- print("stdout : %s" % l.strip())
- for l in stderr:
- print("stderr : %s" % l.strip())
- ssh.close()
- ### Wait for ESXi to exit Maintenance mode ###
- time.sleep(10)
- ### Start up required VM - Note you will need the VM number ###
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
- ssh.connect('IP ADDRESS', username='root', password='PASSWORD')
- stdin, stdout, stderr = ssh.exec_command('vim-cmd vmsvc/power.on GUEST_VM_NUMBER')
- print("reading outputs from the remote command")
- for l in stdout :
- print("stdout : %s" % l.strip())
- for l in stderr:
- print("stderr : %s" % l.strip())
- ssh.close()
- 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