mirror of
https://github.com/retspen/webvirtcloud
synced 2024-10-31 19:44:16 +00:00
add offline migration option
This commit is contained in:
parent
48371ff92d
commit
20d0e5a09d
3 changed files with 12 additions and 8 deletions
|
@ -844,6 +844,12 @@
|
|||
<input type="checkbox" name="xml_delete" value="true" id="xml_delete" checked>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Offline migration" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="checkbox" name="offline_migrate" value="true" id="offline_migrate">
|
||||
</div>
|
||||
</div>
|
||||
{% if computes_count != 1 %}
|
||||
<button type="submit" class="btn btn-lg btn-success pull-right" name="migrate" onclick="showPleaseWaitDialog();">{% trans "Migrate" %}</button>
|
||||
{% else %}
|
||||
|
|
|
@ -561,13 +561,13 @@ def instance(request, compute_id, vname):
|
|||
live = request.POST.get('live_migrate', False)
|
||||
unsafe = request.POST.get('unsafe_migrate', False)
|
||||
xml_del = request.POST.get('xml_delete', False)
|
||||
offline = request.POST.get('offline_migrate', False)
|
||||
new_compute = Compute.objects.get(id=compute_id)
|
||||
conn_migrate = wvmInstances(new_compute.hostname,
|
||||
new_compute.login,
|
||||
new_compute.password,
|
||||
new_compute.type)
|
||||
conn_migrate.moveto(conn, vname, live, unsafe, xml_del)
|
||||
conn_migrate.define_move(vname)
|
||||
conn_migrate.moveto(conn, vname, live, unsafe, xml_del, offline)
|
||||
instance.compute = new_compute
|
||||
instance.save()
|
||||
conn_migrate.close()
|
||||
|
|
|
@ -67,20 +67,18 @@ class wvmInstances(wvmConnect):
|
|||
dom = self.get_instance(name)
|
||||
dom.resume()
|
||||
|
||||
def moveto(self, conn, name, live, unsafe, undefine):
|
||||
def moveto(self, conn, name, live, unsafe, undefine, offline):
|
||||
flags = 0
|
||||
if live and conn.get_status() == 1:
|
||||
flags |= VIR_MIGRATE_LIVE
|
||||
if unsafe and conn.get_status() == 1:
|
||||
flags |= VIR_MIGRATE_UNSAFE
|
||||
dom = conn.get_instance(name)
|
||||
dom.migrate(self.wvm, flags, name, None, 0)
|
||||
xml = dom.XMLDesc(VIR_DOMAIN_XML_SECURE)
|
||||
if not offline:
|
||||
dom.migrate(self.wvm, flags, None, None, 0)
|
||||
if undefine:
|
||||
dom.undefine()
|
||||
|
||||
def define_move(self, name):
|
||||
dom = self.get_instance(name)
|
||||
xml = dom.XMLDesc(VIR_DOMAIN_XML_SECURE)
|
||||
self.wvm.defineXML(xml)
|
||||
|
||||
def graphics_type(self, name):
|
||||
|
|
Loading…
Reference in a new issue