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
2672735b3c
commit
19749e0e0f
@ -60,7 +60,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