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
>