From e917a2dbda60361fce60e47945bb186c2b939fb9 Mon Sep 17 00:00:00 2001 From: Darragh Bailey Date: Mon, 8 Nov 2021 22:14:47 +0000 Subject: [PATCH] Switch back to read-only system connection (#1397) With the rework to use the default connection to retrieve the domain to allow running of the qemu agent, no longer necessary to use a read write system connection, and can revert to a read-only connection that requires less privileges. This should remove an occurrence of polkit requesting a password when bringing a VM up using a session connection. Fixes: #1342 --- lib/vagrant-libvirt/driver.rb | 2 +- spec/unit/driver_spec.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/vagrant-libvirt/driver.rb b/lib/vagrant-libvirt/driver.rb index 2474196..809a864 100644 --- a/lib/vagrant-libvirt/driver.rb +++ b/lib/vagrant-libvirt/driver.rb @@ -61,7 +61,7 @@ module VagrantPlugins config = @machine.provider_config - @system_connection = Libvirt::open(config.system_uri) + @system_connection = Libvirt::open_read_only(config.system_uri) @system_connection end diff --git a/spec/unit/driver_spec.rb b/spec/unit/driver_spec.rb index 8359e4e..cc5e787 100644 --- a/spec/unit/driver_spec.rb +++ b/spec/unit/driver_spec.rb @@ -80,15 +80,15 @@ describe VagrantPlugins::ProviderLibvirt::Driver do # system_uri should be 'qemu+ssh://user@remote1/system' # and not 'qemu:///system'. it 'should configure a separate connection per machine' do - expect(Libvirt).to receive(:open).with('qemu:///system').and_return(system_connection1) - expect(Libvirt).to receive(:open).with('qemu:///system').and_return(system_connection2) + expect(Libvirt).to receive(:open_read_only).with('qemu:///system').and_return(system_connection1) + expect(Libvirt).to receive(:open_read_only).with('qemu:///system').and_return(system_connection2) expect(machine.provider.driver.system_connection).to eq(system_connection1) expect(machine2.provider.driver.system_connection).to eq(system_connection2) end it 'should configure the connection once' do - expect(Libvirt).to receive(:open).with('qemu:///system').and_return(system_connection1) + expect(Libvirt).to receive(:open_read_only).with('qemu:///system').and_return(system_connection1) expect(machine.provider.driver.system_connection).to eq(system_connection1) expect(machine.provider.driver.system_connection).to eq(system_connection1)