diff --git a/manifests/compute.pp b/manifests/compute.pp index 71eb566b4..2aee5bd28 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -40,6 +40,10 @@ # (optional) The path at the end of the uri for communication with the VNC proxy server # Defaults to './vnc_auto.html' # +# [*vnc_keymap*] +# (optional) The keymap to use with VNC (ls -alh /usr/share/qemu/keymaps to list available keymaps) +# Defaults to 'en-us' +# # [*force_config_drive*] # (optional) Whether to force the config drive to be attached to all VMs # Defaults to false @@ -75,6 +79,7 @@ class nova::compute ( $vncproxy_protocol = 'http', $vncproxy_port = '6080', $vncproxy_path = '/vnc_auto.html', + $vnc_keymap = 'en-us', $force_config_drive = false, $virtio_nic = false, $neutron_enabled = true, @@ -98,6 +103,7 @@ class nova::compute ( nova_config { 'DEFAULT/vnc_enabled': value => $vnc_enabled; 'DEFAULT/vncserver_proxyclient_address': value => $vncserver_proxyclient_address; + 'DEFAULT/vnc_keymap': value => $vnc_keymap; } if $neutron_enabled != true { diff --git a/spec/classes/nova_compute_spec.rb b/spec/classes/nova_compute_spec.rb index 797081a9d..c70202724 100644 --- a/spec/classes/nova_compute_spec.rb +++ b/spec/classes/nova_compute_spec.rb @@ -140,6 +140,13 @@ describe 'nova::compute' do it { should contain_nova_config('DEFAULT/instance_usage_audit').with_value(true) } it { should contain_nova_config('DEFAULT/instance_usage_audit_period').with_value('year') } end + context 'with vnc_keymap set to fr' do + let :params do + { :vnc_keymap => 'fr', } + end + + it { should contain_nova_config('DEFAULT/vnc_keymap').with_value('fr') } + end end