[Kimchi-devel] [PATCH 1/3 v3] Live migration backend: API and messages
dhbarboza82 at gmail.com
dhbarboza82 at gmail.com
Thu Oct 29 19:48:20 UTC 2015
From: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
This patch adds messages in i18n to support the live migration backend,
which is defined by a new API defined in API.json and docs/API.md.
Signed-off-by: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
---
src/wok/plugins/kimchi/API.json | 17 +++++++++++++++++
src/wok/plugins/kimchi/docs/API.md | 5 +++++
src/wok/plugins/kimchi/i18n.py | 7 +++++++
src/wok/plugins/kimchi/ui/js/src/kimchi.api.js | 13 +++++++++++++
4 files changed, 42 insertions(+)
diff --git a/src/wok/plugins/kimchi/API.json b/src/wok/plugins/kimchi/API.json
index c43fa36..de68d70 100644
--- a/src/wok/plugins/kimchi/API.json
+++ b/src/wok/plugins/kimchi/API.json
@@ -309,6 +309,23 @@
},
"additionalProperties": false
},
+ "vm_migrate": {
+ "type": "object",
+ "properties": {
+ "remote_host": {
+ "description": "IP address or hostname of the remote server",
+ "type": "string",
+ "minLength": 1,
+ "error": "KCHVM0060E"
+ },
+ "user": {
+ "description": "User of the remote server",
+ "type": "string",
+ "minLength": 1,
+ "error": "KCHVM0059E"
+ }
+ }
+ },
"networks_create": {
"type": "object",
"error": "KCHNET0016E",
diff --git a/src/wok/plugins/kimchi/docs/API.md b/src/wok/plugins/kimchi/docs/API.md
index eb3905f..52368b7 100644
--- a/src/wok/plugins/kimchi/docs/API.md
+++ b/src/wok/plugins/kimchi/docs/API.md
@@ -182,6 +182,11 @@ server.
* resume: Resume a suspended domain. The process is restarted from the state
where it was frozen by calling "suspend".
+* migrate: Migrate a virtual machine to a remote server, only support live
+mode without block migration.
+ * remote_host: IP address or hostname of the remote server.
+ * user: User to log on at the remote server.
+
### Sub-resource: Virtual Machine Screenshot
**URI:** /plugins/kimchi/vms/*:name*/screenshot
diff --git a/src/wok/plugins/kimchi/i18n.py b/src/wok/plugins/kimchi/i18n.py
index f9a2ca1..42a5e16 100644
--- a/src/wok/plugins/kimchi/i18n.py
+++ b/src/wok/plugins/kimchi/i18n.py
@@ -109,6 +109,13 @@ messages = {
"KCHVM0050E": _("Cannot shutdown %(name)s. Virtual machine is shut off."),
"KCHVM0051E": _("Cannot reset %(name)s. Virtual machine is already shut off."),
+ "KCHVM0055E": _("Migrate to localhost %(host)s is not allowed."),
+ "KCHVM0056E": _("To migrate a virtual machine to the remote host %(host)s the user %(user)s must have password-less login to the remote host."),
+ "KCHVM0057E": _("Can not migrate virtual machine %(name)s when its in %(state)s state."),
+ "KCHVM0058E": _("Failed to migrate virtual machine %(name)s due error: %(err)s"),
+ "KCHVM0059E": _("User name of the remote server must be a string."),
+ "KCHVM0060E": _("Destination host of the migration must be a string."),
+
"KCHVMHDEV0001E": _("VM %(vmid)s does not contain directly assigned host device %(dev_name)s."),
"KCHVMHDEV0002E": _("The host device %(dev_name)s is not allowed to directly assign to VM."),
"KCHVMHDEV0003E": _("No IOMMU groups found. Host PCI pass through needs IOMMU group to function correctly. "
diff --git a/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js b/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
index c55b252..b1acdb9 100644
--- a/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
+++ b/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
@@ -1018,6 +1018,19 @@ var kimchi = {
});
},
+ migrateGuest: function(vm, suc, err) {
+ wok.requestJSON({
+ url : 'plugins/kimchi/vms/' + encodeURIComponent(vm) + "/migrate",
+ type : 'POST',
+ contentType : 'application/json',
+ dataType : 'json',
+ success : suc,
+ error : err ? err : function(data) {
+ wok.message.error(data.responseJSON.reason);
+ }
+ });
+ },
+
listSnapshots : function(vm, suc, err) {
wok.requestJSON({
url : 'plugins/kimchi/vms/' + encodeURIComponent(vm) + '/snapshots',
--
2.4.3
More information about the Kimchi-devel
mailing list