tools: move xm and xend under tools python

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Matt Wilson <msw@amazon.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
Ian Campbell committed 2013-08-20 15:33:37 +01:00
1 parent d72e8bcf12
commit 9af42f3598
4 files changed
+5 -1

No files matched your search

+4
View File
@@ -23,6 +23,10 @@ install: install-dtd
CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
$(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm
$(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend
install-dtd: all
$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen
$(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen
+110
View File
@@ -0,0 +1,110 @@
#!/usr/bin/env python
# -*- mode: python; -*-
#============================================================================
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
# Copyright (C) 2005-2006 XenSource Inc
#============================================================================
"""Xen management daemon.
Provides console server and HTTP management api.
Run:
xend start
Restart:
xend restart
The daemon is stopped with:
xend stop
The daemon should reconnect to device control interfaces
and recover its state when restarted.
On Solaris, the daemons are SMF managed, and you should not attempt
to start xend by hand.
"""
import fcntl
import glob
import os
import os.path
import sys
import socket
import signal
import time
import commands
from xen.xend.server import SrvDaemon
class CheckError(ValueError):
pass
def hline():
print >>sys.stderr, "*" * 70
def msg(message):
print >>sys.stderr, "*" * 3, message
def check_logging():
"""Check python logging is installed and raise an error if not.
Logging is standard from Python 2.3 on.
"""
try:
import logging
except ImportError:
hline()
msg("Python logging is not installed.")
msg("Use 'make install-logging' at the xen root to install.")
msg("")
msg("Alternatively download and install from")
msg("http://www.red-dove.com/python_logging.html")
hline()
raise CheckError("logging is not installed")
def check_user():
"""Check that the effective user id is 0 (root).
"""
if os.geteuid() != 0:
hline()
msg("Xend must be run as root.")
hline()
raise CheckError("invalid user")
def start_daemon(daemon, *args):
if os.fork() == 0:
os.execvp(daemon, (daemon,) + args)
def start_blktapctrl():
start_daemon("blktapctrl", "")
def main():
try:
check_logging()
check_user()
except CheckError:
sys.exit(1)
daemon = SrvDaemon.instance()
if not sys.argv[1:]:
print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
elif sys.argv[1] == 'start':
if os.uname()[0] != "SunOS":
start_blktapctrl()
return daemon.start()
elif sys.argv[1] == 'trace_start':
start_blktapctrl()
return daemon.start(trace=1)
elif sys.argv[1] == 'stop':
return daemon.stop()
elif sys.argv[1] == 'reload':
return daemon.reloadConfig()
elif sys.argv[1] == 'restart':
start_blktapctrl()
return daemon.stop() or daemon.start()
elif sys.argv[1] == 'status':
return daemon.status()
else:
print 'not an option:', sys.argv[1]
return 1
if __name__ == '__main__':
sys.exit(main())
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env python
# -*- mode: python; -*-
import sys
from xen.xm import main
main.main(sys.argv)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.