[libvirt] [PATCH] spec: If installing default network, restart libvirtd

Cole Robinson crobinso at redhat.com
Tue Apr 26 14:15:07 UTC 2016


On 04/26/2016 10:12 AM, Laine Stump wrote:
> On 04/25/2016 05:13 PM, Cole Robinson wrote:
>> If libvirt-daemon-config-network is installed while libvirtd is already
>> running, the daemon doesn't notice the network. Users then have to
>> manually restart libvirtd (or reboot) to pick up the network.
>>
>> Instead let's trigger a daemon restart when the package is first installed.
>> Then the default network is available immediately if libvirtd was already
>> running.
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=867546
>> ---
>> Plain restart is kind of suboptimal since it will drop all open
>> libvirt connections. Ideally we would use reload which is meant
>> for this case, but it's kinda crashy with current git:
>>
>> http://www.redhat.com/archives/libvir-list/2016-April/msg01624.html
>>
>> And in fact daemon restart is what the spec triggers on libvirt-daemon
>> upgrade anyways, so this isn't anything new WRT packaging.
> 
> This logic makes sense, but does it do the right thing on a fresh install?
> (i.e. would it possibly try to restart libvirtd.service before it could be
> started?)
> 
> If you've tried a fresh install of all packages simultaneously and this
> restart doesn't cause any sort of error message, then ACK.
> 

Urgh... I sent the wrong patch anyways. This was the old one, the new one is
supposed to be doing try-restart/condrestart, which does the correct thing in
case the daemon isn't running. I'll send v2

>>
>>   libvirt.spec.in | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/libvirt.spec.in b/libvirt.spec.in
>> index 35212da..1a04c88 100644
>> --- a/libvirt.spec.in
>> +++ b/libvirt.spec.in
>> @@ -1849,6 +1849,14 @@ if test $1 -eq 1 && test ! -f
>> %{_sysconfdir}/libvirt/qemu/networks/default.xml ;
>>            < %{_datadir}/libvirt/networks/default.xml \
>>            > %{_sysconfdir}/libvirt/qemu/networks/default.xml
>>       ln -s ../default.xml
>> %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
>> +
>> +    # Make sure libvirt picks up the new network defininiton
>> +      %if %{with_systemd}
>> +    /bin/systemctl reload libvirtd.service >/dev/null 2>&1 ||:
>> +      %else
>> +    /sbin/service libvirtd reload > /dev/null 2>&1 || :
>> +      %endif
>> +
>>   fi
>>       %endif
>>   
> 




More information about the libvir-list mailing list