[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