diff --git a/images/router/haproxy/reload-haproxy b/images/router/haproxy/reload-haproxy index b5b4e622c1e4..707dc2b9abc5 100755 --- a/images/router/haproxy/reload-haproxy +++ b/images/router/haproxy/reload-haproxy @@ -73,8 +73,12 @@ retries=20 # sort the path based map files for the haproxy map_beg function +# Leaving any wildcard route at the end of the resulting file, +# See https://github.com/openshift/origin/issues/16724 for more details. for mapfile in "$haproxy_conf_dir"/*.map; do - sort -r "$mapfile" -o "$mapfile" + grep -v -F '^[^\.]*\' "$mapfile" | sort -r -o "/tmp/$mapfile" + grep -F '^[^\.]*\' "$mapfile" | sort -r >> "/tmp/$mapfile" + mv -f "/tmp/$mapfile" "$haproxy_conf_dir/$mapfile" done old_pids=$(ps -A -opid,args | grep haproxy | egrep -v -e 'grep|reload-haproxy' | awk '{print $1}' | tr '\n' ' ')