diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-05-23 10:42:11 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-05-23 10:42:11 +0100 |
commit | eea031f9213b4679a25d19f277f0b8b0f8451367 (patch) | |
tree | 6bf91dda2caa826be8dd0a05b870eebb14f4acf3 | |
parent | d6f7e230eb1cce1fafb54f85abd9b643113de551 (diff) | |
download | xen-eea031f9213b4679a25d19f277f0b8b0f8451367.tar.gz xen-eea031f9213b4679a25d19f277f0b8b0f8451367.tar.bz2 xen-eea031f9213b4679a25d19f277f0b8b0f8451367.zip |
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 <zhigang.x.wang@oracle.com>
-rw-r--r-- | tools/python/xen/xend/XendAPI.py | 3 | ||||
-rw-r--r-- | tools/python/xen/xend/XendDomain.py | 8 | ||||
-rw-r--r-- | tools/python/xen/xend/server/SrvDomain.py | 3 | ||||
-rw-r--r-- | tools/python/xen/xm/migrate.py | 10 |
4 files changed, 18 insertions, 6 deletions
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) |