feat: add websocket graphics config (#1672)

This adds websocket functionality for VNC. The websocket attribute may 
be used to specify the port to listen on (with -1 meaning 
auto-allocation and autoport having no effect due to security reasons).
This commit is contained in:
Uli Fahrer
2022-11-21 12:05:51 +01:00
committed by GitHub
parent 6c4b7758aa
commit 0363459bec
36 changed files with 63 additions and 38 deletions

View File

@@ -66,13 +66,15 @@ describe VagrantPlugins::ProviderLibvirt::Action::CreateDomain do
let(:vagrantfile_providerconfig) do
<<-EOF
libvirt.graphics_port = 5900
libvirt.graphics_websocket = 5700
EOF
end
it 'should emit the graphics port' do
it 'should emit the graphics port and websocket' do
expect(servers).to receive(:create).and_return(machine)
expect(volumes).to_not receive(:create) # additional disks only
expect(ui).to receive(:info).with(' -- Graphics Port: 5900')
expect(ui).to receive(:info).with(' -- Graphics Websocket: 5700')
expect(subject.call(env)).to be_nil
end

View File

@@ -43,7 +43,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -37,7 +37,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -37,7 +37,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -60,7 +60,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -43,7 +43,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -43,7 +43,7 @@
</console>
<input type='mouse' bus='ps2'>
</input>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'/>
<graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='127.0.0.1' keymap='en-us'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
</video>

View File

@@ -344,7 +344,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::StartDomain do
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, launched_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
expect(ui).to receive(:info).with(' -- Graphics Port: 5900')
expect(ui).to receive(:info).with(' -- Graphics Port: 5900')
expect(subject.call(env)).to be_nil
end

View File

@@ -30,7 +30,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -30,7 +30,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -31,7 +31,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -28,7 +28,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -28,7 +28,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -28,7 +28,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -29,7 +29,7 @@
<target port='0'/>
</console>
<input bus='ps2' type='mouse'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'/>
<video>
<model heads='1' type='cirrus' vram='16384'/>
</video>

View File

@@ -48,7 +48,7 @@
</console>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us' websocket='-1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
<audio id='1' type='none'/>

View File

@@ -48,7 +48,7 @@
</console>
<input bus='ps2' type='mouse'/>
<input bus='ps2' type='keyboard'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'>
<listen address='127.0.0.1' type='address'/>
</graphics>
<audio id='1' type='none'/>

View File

@@ -48,7 +48,7 @@
</console>
<input bus='ps2' type='mouse'/>
<input bus='ps2' type='keyboard'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket="-1">
<listen address='127.0.0.1' type='address'/>
</graphics>
<audio id='1' type='none'/>

View File

@@ -50,7 +50,7 @@
</console>
<input bus='ps2' type='mouse'/>
<input bus='ps2' type='keyboard'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'>
<listen address='127.0.0.1' type='address'/>
</graphics>
<audio id='1' type='none'/>

View File

@@ -50,7 +50,7 @@
</console>
<input bus='ps2' type='mouse'/>
<input bus='ps2' type='keyboard'/>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc'>
<graphics autoport='yes' keymap='en-us' listen='127.0.0.1' port='-1' type='vnc' websocket='-1'>
<listen address='127.0.0.1' type='address'/>
</graphics>
<audio id='1' type='none'/>