From 7fd823b159e0c12186c34b86d11c0b88edeaaa05 Mon Sep 17 00:00:00 2001 From: Antoine Millet Date: Thu, 18 Jun 2015 15:45:09 +0200 Subject: [PATCH] Implemented spiceport vm tag --- .../node/hypervisor/domains/vm_tags.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cloudcontrol/node/hypervisor/domains/vm_tags.py b/cloudcontrol/node/hypervisor/domains/vm_tags.py index 9b697f0..0fcc806 100644 --- a/cloudcontrol/node/hypervisor/domains/vm_tags.py +++ b/cloudcontrol/node/hypervisor/domains/vm_tags.py @@ -161,6 +161,26 @@ def vncport(dom): return +@_vir_tag +def spiceport(dom): + """Spice port for the VM console access.""" + try: + port = et.ElementTree().parse( + StringIO(dom.lv_dom.XMLDesc(0)) + ).find('devices/graphics[@type="spice"]').get('port') + except Exception: + logger.exception('SpicePort') + raise + + try: + if 0 < int(port) < 65536: + return port + except (TypeError, ValueError): + pass + + return + + @ttl(10) @refresh(10) @_vir_tag -- GitLab