import commands | |
import numpy as np | |
masters = ['10.10.11.22', '10.10.12.145', '10.10.20.21', '10.1.72.101'] | |
def parse(string): | |
global masters | |
result = [] | |
for line in string.split('\n'): | |
fields = line.split('-') | |
ip = '.'.join(fields[2:]) | |
if ip not in masters: | |
result.append(ip) | |
return result | |
if __name__ == '__main__': | |
output = commands.getoutput("scontrol show node | grep NodeName | awk \'{print$1}\' | awk -F = \'{print$2}\'") | |
print 'the set of machines in this cluster is:' | |
print output | |
serverlist = parse(output) | |
print 'transfer into IP address:' | |
print serverlist | |
with open('server_list.conf', 'w') as wf: | |
np.savetxt(wf, serverlist, delimiter='\n', fmt='%s') | |
wf.close() | |
print 'IP addresses have been written into server_list.conf' | |