source: trunk/packages/sipb-xen-console-server/files/usr/sbin/sipb-xen-update-conserver @ 707

Last change on this file since 707 was 706, checked in by price, 16 years ago

on console, get Kerberos realm from config

  • Property svn:executable set to *
File size: 1.1 KB
RevLine 
[397]1#!/usr/bin/python
[386]2
[397]3import sipb_xen_database
4import subprocess
5import os
[672]6import socket
[397]7
8sipb_xen_database.connect('postgres://sipb-xen@sipb-xen-dev.mit.edu/sipb_xen')
9
10def live_vms():
[403]11    p = subprocess.Popen(['/usr/sbin/xm', 'list'], stdout=subprocess.PIPE)
[397]12    p.wait()
13    output = p.stdout.read()
14    vms = [x.split()[0][2:] for x in output.splitlines() if x.startswith('d_')]
15    return vms
16
17def reload_conserver():
[400]18    p = subprocess.Popen(['/etc/init.d/conserver-server', 'reload'], stdout=subprocess.PIPE)
[397]19    p.wait()
20
21if __name__ == '__main__':
[672]22    hostname = socket.getfqdn().lower()
[706]23    realm = file('/etc/invirt/realm').read().strip()
24    principal = 'host/'+hostname+'@'+realm
[672]25    config = '\n'.join('console %s { master %s; }' % (vm, hostname)
26                       for vm in live_vms())
[397]27    f = open('/etc/conserver/sipb-xen-consoles.cf', 'w')
[672]28    f.write(config)
[397]29    f.close()
30    reload_conserver()
[672]31    subprocess.call(['/usr/bin/kinit', '-k', '-t', '/etc/krb5.keytab',
[706]32                     principal])
[672]33    subprocess.call(['/usr/bin/remctl', 'sipb-xen-console.mit.edu',
34                     'console', 'update', config])
Note: See TracBrowser for help on using the repository browser.