There are cases where the linked patch won't "fix" the issue--especially if the calling code doesn't ignores the Exception when ovs-vswitchd is down and things time out. Looking at the functional test logs, I don't see the timeout exception logged, so I don't *think* that is what happened here.
I wrote a little script ( https://gist.github.com/otherwiseguy/e1784525de342edc3e361a33407437b0 ) that just does a replace_port call followed by an ip link set address call just like plug() does and let it run several runs of 10k loops, and one of ~50k without running into an issue. The only way I can get the RuntimeError from ip_lib is if I catch and ignore the TimeoutException.
There are cases where the linked patch won't "fix" the issue--especially if the calling code doesn't ignores the Exception when ovs-vswitchd is down and things time out. Looking at the functional test logs, I don't see the timeout exception logged, so I don't *think* that is what happened here.
I wrote a little script ( https:/ /gist.github. com/otherwisegu y/e1784525de342 edc3e361a334074 37b0 ) that just does a replace_port call followed by an ip link set address call just like plug() does and let it run several runs of 10k loops, and one of ~50k without running into an issue. The only way I can get the RuntimeError from ip_lib is if I catch and ignore the TimeoutException.