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

Last change on this file since 980 was 814, checked in by price, 16 years ago

get db connection name from config in sipb-xen-update-conserver

  • 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
[811]7from invirt.config import structs as config
[397]8
[814]9sipb_xen_database.connect(config.db.uri)
[397]10
11def live_vms():
[403]12    p = subprocess.Popen(['/usr/sbin/xm', 'list'], stdout=subprocess.PIPE)
[397]13    p.wait()
14    output = p.stdout.read()
15    vms = [x.split()[0][2:] for x in output.splitlines() if x.startswith('d_')]
16    return vms
17
18def reload_conserver():
[400]19    p = subprocess.Popen(['/etc/init.d/conserver-server', 'reload'], stdout=subprocess.PIPE)
[397]20    p.wait()
21
22if __name__ == '__main__':
[672]23    hostname = socket.getfqdn().lower()
[811]24    realm = config.authn[0].realm
[706]25    principal = 'host/'+hostname+'@'+realm
[813]26    conftext = '\n'.join('console %s { master %s; }' % (vm, hostname)
27                         for vm in live_vms())
[397]28    f = open('/etc/conserver/sipb-xen-consoles.cf', 'w')
[813]29    f.write(conftext)
[397]30    f.close()
31    reload_conserver()
[672]32    subprocess.call(['/usr/bin/kinit', '-k', '-t', '/etc/krb5.keytab',
[706]33                     principal])
[813]34    subprocess.call(['/usr/bin/remctl', config.console.hostname,
35                     'console', 'update', conftext])
Note: See TracBrowser for help on using the repository browser.