fb3a7a0daa034f05bbee0a4f995e936895f98cbb
[invirt/packages/invirt-console.git] / files / usr / sbin / sipb-xen-update-conserver
1 #!/usr/bin/python
2
3 import sipb_xen_database
4 import subprocess
5 import os
6
7 sipb_xen_database.connect('postgres://sipb-xen@sipb-xen-dev.mit.edu/sipb_xen')
8
9 def live_vms():
10     p = subprocess.Popen(['xm', 'list'], stdout=subprocess.PIPE)
11     p.wait()
12     output = p.stdout.read()
13     vms = [x.split()[0][2:] for x in output.splitlines() if x.startswith('d_')]
14     return vms
15
16 def reload_conserver():
17     p = subprocess.Popen(['/etc/init.d/conserver-server', 'reload'], stdout=subprocess.PIPE)
18     p.wait()
19
20 if __name__ == '__main__':
21     f = open('/etc/conserver/sipb-xen-consoles.cf', 'w')
22     f.write('\n'.join('console %s {}' % vm for vm in live_vms()))
23     f.close()
24     reload_conserver()