xend: Add keymap to vfb config for existing hvm guests
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 8 Dec 2009 07:49:54 +0000 (07:49 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 8 Dec 2009 07:49:54 +0000 (07:49 +0000)
I submitted a patch a while back to add keymap to vfb config for hvm
guests.  This patch works fine for new config (xm create|new) but not
existing, managed guests.  To cover the latter case I've introduced a
validator method in XendConfig.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
tools/python/xen/xend/XendConfig.py

index c6b1972d47a3f22a4c767c222c0c687f1ca4d4e5..baf552a6394bcbd1c91c05f05ecc05d6563ace83 100644 (file)
@@ -518,6 +518,14 @@ class XendConfig(dict):
                self['platform'].get('enable_audio'):
                 self['platform']['soundhw'] = 'sb16'
 
+    def _vfb_sanity_check(self):
+        if 'keymap' in self['platform']:
+            for con in self['console_refs']:
+                if self['devices'][con][0] == 'vfb':
+                    if 'keymap' not in self['devices'][con][1]:
+                        self['devices'][con][1]['keymap'] = \
+                            self['platform']['keymap']
+
     def validate(self):
         self._uuid_sanity_check()
         self._name_sanity_check()
@@ -525,6 +533,7 @@ class XendConfig(dict):
         self._actions_sanity_check()
         self._vcpus_sanity_check()
         self._platform_sanity_check()
+        self._vfb_sanity_check()
 
     def _dominfo_to_xapi(self, dominfo, update_mem = False):
         self['domid'] = dominfo['domid']