[Kimchi-devel] [PATCH][Kimchi 1/2] Issue #836: Allow user change guest graphics type
Bianca Carvalho
bianca at linux.vnet.ibm.com
Thu Sep 1 21:00:47 UTC 2016
Reviewed-by: Bianca Carvalho <bianca at linux.vnet.ibm.com>
Em 8/31/16 8:13 PM, Ramon Medeiros escreveu:
> 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..093acb4 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 or Spice.
> * 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..4cc931b 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": _("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 7f607f5..0e61e0d 100644
> --- a/model/vms.py
> +++ b/model/vms.py
> @@ -291,6 +291,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
> @@ -702,6 +708,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"))
More information about the Kimchi-devel
mailing list