[Kimchi-devel] [PATCH 1/3] Live migration backend: API and messages
Daniel Henrique Barboza
dhbarboza82 at gmail.com
Tue Oct 27 13:34:12 UTC 2015
On 10/27/2015 08:38 AM, Paulo Ricardo Paz Vital wrote:
> On Mon, 2015-10-26 at 16:08 -0200, dhbarboza82 at gmail.com wrote:
>> 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 | 4 ++++
>> src/wok/plugins/kimchi/i18n.py | 7 +++++++
>> src/wok/plugins/kimchi/ui/js/src/kimchi.api.js | 13 +++++++++++++
>> 4 files changed, 41 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 a9333b5..e9fb35e 100644
>> --- a/src/wok/plugins/kimchi/docs/API.md
>> +++ b/src/wok/plugins/kimchi/docs/API.md
>> @@ -180,6 +180,10 @@ 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.
> Would be nice break the line at the 80 collumm :-P
>
>> + * 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..e67f6f0 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 vm to the remote host %(host)s the
>> user %(user)s must have password-less login to the remote host."),
> All messages are not using the term "vm" (or "VM"), but "Virtual
> Machine". Would be nice keep the pattern.
Ok!
>
>> + "KCHVM0057E": _("Can not migrate vm %(name)s when its in
>> %(state)s state."),
>> + "KCHVM0058E": _("Failed Migrate vm %(name)s due error:
>> %(err)s"),
> I guess it should be "Failed to migrate".
Ok!
>
>> + "KCHVM0059E": _("User name of the remote server must be a
>> string"),
>> + "KCHVM0060E": _("Migrate remote_host must be a string"),
> Is this message correct?
It's a bit strange, but it is. I'll improve it
It means that the destination host in the API must be a string (or IP
address)
>
>> +
>> "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 6ffa0df..58693f5 100644
>> --- a/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
>> +++ b/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
>> @@ -1007,6 +1007,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',
More information about the Kimchi-devel
mailing list