mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
bitkeeper revision 1.1159.1.39 (411b2c1eB-OtkNjmHHNtVbwq7l26OA)
Add xm migrate command.
This commit is contained in:
1 parent
7af2507f06
commit
fbb7c1f214
4 files changed
+57
-2
No files matched your search
@@ -289,7 +289,7 @@ class XendMigrateInfo(XfrdInfo):
|
||||
eserver.inject('xend.migrate.ok', self.sxpr())
|
||||
else:
|
||||
self.state = 'error'
|
||||
self.error(XendError("save failed"))
|
||||
self.error(XendError("migrate failed"))
|
||||
eserver.inject('xend.migrate.error', self.sxpr())
|
||||
|
||||
class XendSaveInfo(XfrdInfo):
|
||||
|
||||
@@ -11,7 +11,7 @@ from xen.xend import PrettyPrint
|
||||
from xen.xend import sxp
|
||||
from xen.xend.XendClient import XendError, server
|
||||
from xen.xend.XendClient import main as xend_client_main
|
||||
from xen.xm import create, destroy, shutdown
|
||||
from xen.xm import create, destroy, migrate, shutdown
|
||||
|
||||
class Group:
|
||||
|
||||
@@ -296,6 +296,19 @@ class ProgRestore(Prog):
|
||||
|
||||
xm.prog(ProgRestore)
|
||||
|
||||
class ProgMigrate(Prog):
|
||||
group = 'domain'
|
||||
name = "migrate"
|
||||
info = """Migrate a domain to another machine."""
|
||||
|
||||
def help(self, args):
|
||||
migrate.help(arg)
|
||||
|
||||
def main(self, args):
|
||||
migrate.main(args)
|
||||
|
||||
xm.prog(ProgMigrate)
|
||||
|
||||
class ProgList(Prog):
|
||||
group = 'domain'
|
||||
name = "list"
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
|
||||
|
||||
"""Domain migration.
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
from xen.xend.XendClient import server
|
||||
from xen.xm.opts import *
|
||||
|
||||
DOM0_NAME = 'Domain-0'
|
||||
DOM0_ID = '0'
|
||||
|
||||
gopts = Opts(use="""[options] DOM HOST
|
||||
|
||||
Migrate domain DOM to host HOST.
|
||||
The transfer daemon xfrd must be running on the
|
||||
local host and on HOST.
|
||||
""")
|
||||
|
||||
gopts.opt('help', short='h',
|
||||
fn=set_true, default=0,
|
||||
use="Print this help.")
|
||||
|
||||
def help(argv):
|
||||
gopts.usage()
|
||||
|
||||
def main(argv):
|
||||
opts = gopts
|
||||
args = opts.parse(argv)
|
||||
if opts.vals.help:
|
||||
opts.usage()
|
||||
return
|
||||
if len(args) != 2:
|
||||
opts.err('Invalid arguments')
|
||||
dom = args[0]
|
||||
dst = args[1]
|
||||
if dom in [DOM0_NAME, DOM0_ID]:
|
||||
opts.err('Cannot migrate ' + dom)
|
||||
server.xend_domain_migrate(dom, dst)
|
||||
|
||||