From: Keir Fraser Date: Fri, 23 May 2008 09:42:11 +0000 (+0100) Subject: Add -s --ssl option to xm migrate X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14207^2~52 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eea031f9213b4679a25d19f277f0b8b0f8451367;p=xen.git Add -s --ssl option to xm migrate This patch adds -s --ssl option to xm migrate. It will override xend-relocation-ssl setting in /etc/xen/xend-config.sxp. When mix deploy xen 3.2 and xen 3.3 servers, it's convenient to have a command line option rather than modify /etc/xen/xend-config.sxp every time. Signed-off-by: Zhigang Wang --- diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index 354e9aab8a..ec527ef104 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1762,9 +1762,10 @@ class XendAPI(object): resource = other_config.get("resource", 0) port = other_config.get("port", 0) node = other_config.get("node", 0) + ssl = other_config.get("ssl", 0) xendom.domain_migrate(xeninfo.getDomid(), destination_url, - bool(live), resource, port, node) + bool(live), resource, port, node, ssl) return xen_api_success_void() def VM_save(self, _, vm_ref, dest, checkpoint): diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index 0c6483f2c1..a34ebb3908 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -1258,7 +1258,7 @@ class XendDomain: return val - def domain_migrate(self, domid, dst, live=False, port=0, node=-1): + def domain_migrate(self, domid, dst, live=False, port=0, node=-1, ssl=None): """Start domain migration. @param domid: Domain ID or Name @@ -1269,6 +1269,8 @@ class XendDomain: @type port: int @keyword live: Live migration @type live: bool + @keyword ssl: use ssl connection + @type ssl: bool @rtype: None @keyword node: use node number for target @rtype: int @@ -1294,7 +1296,9 @@ class XendDomain: """ Make sure there's memory free for enabling shadow mode """ dominfo.checkLiveMigrateMemory() - ssl = xoptions.get_xend_relocation_ssl() + if ssl is None: + ssl = xoptions.get_xend_relocation_ssl() + if ssl: from OpenSSL import SSL from xen.web import connection diff --git a/tools/python/xen/xend/server/SrvDomain.py b/tools/python/xen/xend/server/SrvDomain.py index 92944ae06d..d0ac518674 100644 --- a/tools/python/xen/xend/server/SrvDomain.py +++ b/tools/python/xen/xend/server/SrvDomain.py @@ -115,7 +115,8 @@ class SrvDomain(SrvDir): [['dom', 'int'], ['destination', 'str'], ['live', 'int'], - ['port', 'int']]) + ['port', 'int'], + ['ssl', 'int']]) return fn(req.args, {'dom': self.dom.domid}) def op_pincpu(self, _, req): diff --git a/tools/python/xen/xm/migrate.py b/tools/python/xen/xm/migrate.py index ace3ba7f34..ee990e0b4d 100644 --- a/tools/python/xen/xm/migrate.py +++ b/tools/python/xen/xm/migrate.py @@ -47,6 +47,10 @@ gopts.opt('node', short='n', val='nodenum', fn=set_int, default=-1, use="Use specified NUMA node on target.") +gopts.opt('ssl', short='s', + fn=set_true, default=None, + use="Use ssl connection for migration.") + def help(): return str(gopts) @@ -65,11 +69,13 @@ def main(argv): vm_ref = get_single_vm(dom) other_config = { "port": opts.vals.port, - "node": opts.vals.node + "node": opts.vals.node, + "ssl": opts.vals.ssl } server.xenapi.VM.migrate(vm_ref, dst, bool(opts.vals.live), other_config) else: server.xend.domain.migrate(dom, dst, opts.vals.live, opts.vals.port, - opts.vals.node) + opts.vals.node, + opts.vals.ssl)