Previously, due to mishandling of the renamed executables in the KillFilter, upgrading dnsmasq caused the neutron-dhcp-agent to break.
With this release, the upgraded executables are handled correctly. As a result, the 'neutron-dhcp-agent' proceeds after the dnsmasq upgrade.
DescriptionLars Kellogg-Stedman
2015-08-06 17:33:58 UTC
neutron-dhcp-agent relies on a rootwrap KillFilter to determine whether or not it can kill an active dnsmasq process. The standard filter looks like this:
kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP
kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP
KillFilter operates by checking /proc/<pid>/exe against the path
specified in the filter. If the dnsmasq package on the system is
updated, rpm first renames the file, so it becomes something like:
/usr/sbin/dnsmasq;55c362c5
And then deletes it, which leaves the corresponding /proc file looking
like this:
# ls -l /proc/23224/exe
lrwxrwxrwx. 1 root root 0 Aug 6 09:31 /proc/23224/exe -> /usr/sbin/dnsmasq;55c362c5 (deleted)
From this point on, the dhcp-agent process will be unable to kill that
dnsmasq process.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2015:2676
neutron-dhcp-agent relies on a rootwrap KillFilter to determine whether or not it can kill an active dnsmasq process. The standard filter looks like this: kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP KillFilter operates by checking /proc/<pid>/exe against the path specified in the filter. If the dnsmasq package on the system is updated, rpm first renames the file, so it becomes something like: /usr/sbin/dnsmasq;55c362c5 And then deletes it, which leaves the corresponding /proc file looking like this: # ls -l /proc/23224/exe lrwxrwxrwx. 1 root root 0 Aug 6 09:31 /proc/23224/exe -> /usr/sbin/dnsmasq;55c362c5 (deleted) From this point on, the dhcp-agent process will be unable to kill that dnsmasq process.