Keymap based vnc console issues w/ ibvirt compute resources

So my shop has long used foreman fore puppet reporting, and are slowly
slowly using the other bits of it more and more.

We've also had a long standing, home grown kvm/libvirt hosting environment.

I've been trying to get vm consoles via foreman working and am close, but
still hitting some issues…

(its important to not we do NOT use foreman to provision these vms).

As of right now, I'm seeing the following behaivor:

On vms with the vnc display keypmap set to "auto" in libvirt (rather, in
virt-manager, the key-map isn't present in the vm's xml), I can connect no
problem at all. Its great.

However, most of our vms currently, because of the way we've historically
accessed the vnc console, have the key-map set to en-us. ON these vms, even
if they live on the same hypervisor as the other "auto" working ones, I get
the following when trying to connect:

Failed to set console: Call to virDomainUpdateDeviceFlags failed: internal
error cannot change keymap setting on vnc graphics

this is on the vm info page, before the console/noVNC page loads (I assume
this is a the session setup/hand of to noVNC)

So, I'm looking for some help here…other than "set your vms to 'auto'",
since that would require a reboot of about 300 vms. Any known fixes? I've
been searching around the foreman/noVNC code base to see if i could find
where key-map is being set/dealt with, to see if i could skip that/override
it, but thus far haven't found anything relevant…so even just pointing me
to the right bits of code would be a help.

I had also looked into webvirtmgr (, which uses
noVNC as well, and that IS working w/ all vms I've tested, regardless of
key-map setting on the VM itself, so I know it can/does work w/ noVNC…but
I'd much rather use foreman if at all possible for web-based console

thanks guys!

··· -- Matthew Nicholson