xm on xenapi: Fixes for rfb console.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 08:47:51 +0000 (09:47 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 08:47:51 +0000 (09:47 +0100)
 - set 'vncunused' param default to 1
 - add 'vncdisplay' param
 - handle the case when sdl=1

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
tools/python/xen/xend/XendConfig.py
tools/python/xen/xm/xenapi_create.py

index 8c76a11085cf15e6eb5701ec7733d41f2012f2bf..2aae44ef5e3a5bc25509f4d855087db9419478ed 100644 (file)
@@ -1407,12 +1407,13 @@ class XendConfig(dict):
                     dev_uuid = uuid.createString()
                 dev_info['uuid'] = dev_uuid
                 dev_info['protocol'] = cfg_xenapi.get('protocol', 'rfb')
-                dev_info['other_config'] = cfg_xenapi.get('other_config', {})
+                console_other_config = cfg_xenapi.get('other_config', {})
+                dev_info['other_config'] = console_other_config
                 if dev_info['protocol'] == 'rfb':
                     # collapse other config into devinfo for things
                     # such as vncpasswd, vncunused, etc.                    
-                    dev_info.update(cfg_xenapi.get('other_config', {}))
-                    dev_info['type'] = 'vnc'                        
+                    dev_info.update(console_other_config)
+                    dev_info['type'] = console_other_config.get('type', 'vnc') 
                     target['devices'][dev_uuid] = ('vfb', dev_info)
                     target['console_refs'].append(dev_uuid)
 
index 1a341620b644643435a9fb91f7ea5e02e07ce330..2c1d2d145745dd7b84c500901b5d0a94e6e72650 100644 (file)
@@ -792,28 +792,36 @@ class sxp2xml:
             console = document.createElement("console")
             console.attributes["protocol"] = "rfb"
             console.appendChild(self.mk_other_config(
-                "vncunused", str(get_child_by_name(image, "vncunused", "0")),
+                "type", "vnc",
+                document))
+            console.appendChild(self.mk_other_config(
+                "vncunused", str(get_child_by_name(image, "vncunused", "1")),
                 document))
             console.appendChild(self.mk_other_config(
                 "vnclisten",
                 get_child_by_name(image, "vnclisten", "127.0.0.1"),
                 document))
+            console.appendChild(self.mk_other_config(
+                "vncdisplay", str(get_child_by_name(image, "vncdisplay", "0")),
+                document))
             console.appendChild(self.mk_other_config(
                 "vncpasswd", get_child_by_name(image, "vncpasswd", ""),
                 document))
             consoles.append(console)          
         if int(get_child_by_name(image, "sdl", "0")) == 1:
             console = document.createElement("console")
-            console.attributes["protocol"] = "sdl"
+            console.attributes["protocol"] = "rfb"
+            console.appendChild(self.mk_other_config(
+                "type", "sdl",
+                document))
             console.appendChild(self.mk_other_config(
                 "display", get_child_by_name(image, "display", ""),
                 document))
             console.appendChild(self.mk_other_config(
-                "xauthority",
-                get_child_by_name(image, "vxauthority", "127.0.0.1"),
+                "xauthority", get_child_by_name(image, "xauthority", ""),
                 document))
             console.appendChild(self.mk_other_config(
-                "opengl", get_child_by_name(image, "opengl", "1"),
+                "opengl", str(get_child_by_name(image, "opengl", "1")),
                 document))
             consoles.append(console)