source: trunk/packages/invirt-console-host/files/usr/sbin/invirt-update-conserver @ 1674

Last change on this file since 1674 was 1539, checked in by broder, 16 years ago

In invirt-update-conserver, specify the full path to invoke-rc.d for
when it's run as a cron job

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