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

Laine Stump laine at laine.org
Tue Apr 26 14:12:57 UTC 2016


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.

>
>   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