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):
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
@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
""" 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
[['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):
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)
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)