Use cgroupsv2 for L3 cleanup
During OpenStack upgrades we need to ensure that no process is running with the old code base. For that we used to kill L3 agent processes except ones running haporoxy/keepalived. However that handler was broken with migration of systems to cgroupsv2 as it was relying on a filepath for cgroups. As all modern operating systems already migrated to cgroupsv2 or use them in compatability mode, let's detect the actual path and use it instead of the hardcoded one. Change-Id: I717f3cf13a8001a1f2077a325c4ec451f45f9f74 (cherry picked from commit 6e23144f4847cfbe01115985e90afc65181800ce)
This commit is contained in:
parent
29e0a9aa9a
commit
01868c2036
@ -59,7 +59,8 @@
|
||||
# orphaned processes are cleaned up correctly.
|
||||
- name: Run neutron-l3-agent process cleanup
|
||||
shell: |
|
||||
for ns_pid in $(cat /sys/fs/cgroup/pids/neutron.slice/neutron-l3-agent.service/cgroup.procs); do
|
||||
cgroup_path=$(findmnt -t cgroup2 -r -n -f -o target)
|
||||
for ns_pid in $(cat ${cgroup_path}/neutron.slice/neutron-l3-agent.service/cgroup.procs); do
|
||||
echo $(readlink -f "/proc/$ns_pid/exe") | egrep -qv "keepalived|haproxy"
|
||||
if [ $? -eq 0 ] || [ "{{ neutron_l3_cleanup_on_shutdown | bool }}" = "True" ]; then
|
||||
if kill -9 "$ns_pid"; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user