aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-05-23 10:42:11 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-05-23 10:42:11 +0100
commiteea031f9213b4679a25d19f277f0b8b0f8451367 (patch)
tree6bf91dda2caa826be8dd0a05b870eebb14f4acf3
parentd6f7e230eb1cce1fafb54f85abd9b643113de551 (diff)
downloadxen-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.py3
-rw-r--r--tools/python/xen/xend/XendDomain.py8
-rw-r--r--tools/python/xen/xend/server/SrvDomain.py3
-rw-r--r--tools/python/xen/xm/migrate.py10
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)