[Kimchi-devel] [PATCH][Kimchi] Allow vm update graphics type
Paulo Ricardo Paz Vital
pvital at linux.vnet.ibm.com
Tue Aug 23 16:40:48 UTC 2016
Few comments below. Also, would be nice to have some new (or updated) testcase.
On Aug 23 10:53AM, Ramon Medeiros wrote:
> Allow vm to choose between spice and vnc
>
> Signed-off-by: Ramon Medeiros <ramonn at linux.vnet.ibm.com>
> ---
> API.json | 6 ++++++
> docs/API.md | 1 +
> i18n.py | 2 +-
> model/vms.py | 10 ++++++++++
> 4 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/API.json b/API.json
> index a3af02d..dca6840 100644
> --- a/API.json
> +++ b/API.json
> @@ -377,6 +377,12 @@
> "description": "Life time for the graphics password.",
> "type": "number",
> "error": "KCHVM0032E"
> + },
> + "type": {
> + "description": "Graphics type",
> + "type": "string",
> + "enum": ["spice", "vnc"],
> + "error": "KCHVM0054E"
> }
> }
> },
> diff --git a/docs/API.md b/docs/API.md
> index 7bd677f..bb8049b 100644
> --- a/docs/API.md
> +++ b/docs/API.md
> @@ -166,6 +166,7 @@ server.
> * passwdValidTo *(optional)*: lifetime for the console password. When
> omitted the password will be valid just
> for 30 seconds.
> + * type *(optional)*: graphics type. VNC os Spice.
There's a little typo here.
> * cpu_info *(optional)*: CPU-specific information.
> * maxvcpus *(optional)*: The maximum number of vCPUs that can be
> assigned to the VM. If topology is specified, maxvcpus must be a
> diff --git a/i18n.py b/i18n.py
> index e8d9c05..183329e 100644
> --- a/i18n.py
> +++ b/i18n.py
> @@ -106,7 +106,7 @@ messages = {
> "KCHVM0051E": _("Cannot reset %(name)s. Virtual machine is already shut off."),
> "KCHVM0052E": _("Boot order must be a list. Devices accepted: hd, cdrom, fd or network."),
> "KCHVM0053E": _("Bootmenu must be boolean. Values accepted: true of false."),
> -
> + "KCHVM0054E": _("Graphics type. Values accepted: vnc or spice."),
IMO, a better message would be "Graphic type not valid. Values accepted:
vnc or spice."
> "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."),
> diff --git a/model/vms.py b/model/vms.py
> index 3380278..cdcb501 100644
> --- a/model/vms.py
> +++ b/model/vms.py
> @@ -290,6 +290,12 @@ class VMModel(object):
>
> # GRAPHICS can be updated offline or online
> if 'graphics' in params:
> +
> + # some parameters cannot change while vm is running
> + if DOM_STATE_MAP[dom.info()[0]] != 'shutoff':
> + if 'type' in params['graphics']:
> + raise InvalidParameter('KCHVM0074E',
> + {'params': 'graphics type'})
> dom = self._update_graphics(dom, params)
>
> # Live updates
> @@ -701,6 +707,10 @@ class VMModel(object):
> valid_to = time.strftime('%Y-%m-%dT%H:%M:%S', expire_time)
> graphics.attrib['passwdValidTo'] = valid_to
>
> + gtype = params['graphics'].get('type')
> + if gtype is not None:
> + graphics.attrib['type'] = gtype
> +
> conn = self.conn.get()
> if not dom.isActive():
> return conn.defineXML(ET.tostring(root, encoding="utf-8"))
> --
> 2.5.5
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
--
Paulo Ricardo Paz Vital
Linux Technology Center, IBM Systems
http://www.ibm.com/linux/ltc/
More information about the Kimchi-devel
mailing list