Python Scripts: Difference between revisions
Content added Content deleted
Line 385: | Line 385: | ||
</pre> |
</pre> |
||
= Reboot Netscaler via APIs = |
|||
{{notice|This script is under construction.}} |
|||
*Needs Authentication alerts |
|||
*Needs NS Parameters to be set globally |
|||
*Needs to confirm API execution via HTTP Status Codes |
|||
<pre> |
|||
import subprocess as sub |
|||
import time |
|||
# Netscaler Parameters |
|||
host = '10.107.88.78' |
|||
#username = 'nsroot' |
|||
#passwd = 'pwd@123' |
|||
# Boolean true means Warm reboot, else false |
|||
#boolean = 'true' |
|||
#i = 1 |
|||
uptime1 = sub.Popen(('curl', '-s', '-k', '-X', 'GET', '-H', 'Content-Type:application/json', '--basic', '--user', 'nsroot:pwd@123', 'http://10.107.88.78/nitro/v1/stat/system?attrs=start$ |
|||
output1, err = uptime1.communicate() |
|||
print output1 |
|||
sub.Popen(('curl', '-s', '-k', '-X', 'POST', '-H', 'Content-Type:application/vnd.com.citrix.netscaler.reboot+json', '--basic', '--user', 'nsroot:pwd@123', '-d', '{"reboot":{"warm":true}$ |
|||
time.sleep(50) |
|||
uptime2 = sub.Popen(('curl', '-s', '-k', '-X', 'GET', '-H', 'Content-Type:application/json', '--basic', '--user', 'nsroot:pwd@123', 'http://10.107.88.78/nitro/v1/stat/system?attrs=start$ |
|||
output2, err = uptime2.communicate() |
|||
print output2 |
|||
if (output1 == output2): |
|||
print "Reboot unsuccessful" |
|||
else: |
|||
print "Reboot successful." |
|||
</pre> |
|||
<br /> |
<br /> |