config: wrap iptables in flock to avoid concurrancy.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 12 Jul 2010 05:41:42 +0000 (15:11 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 15 Jul 2010 00:56:35 +0000 (10:26 +0930)
commit7912d1eb55dc5870b1adbe78de3308c1e3f15cb9
tree80a8407180ab8b857ff90c98304e47300a72737f
parentcacdfb43e1c034ec20d6ea63ec44d0e2336754e5
config: wrap iptables in flock to avoid concurrancy.

When doing a releaseip event, we do them in parallel for all the separate
IPs.  This creates a problem for iptables, which isn't reentrant, giving
the strange message:
iptables encountered unknown error "18446744073709551615" while initializing table "filter"

The worst possible symptom of this is that releaseip won't remove the rule
which prevents us listening to clients during releaseip, and the node will be
healthy but non-responsive.

The simple workaround is to flock-wrap iptables.  Better would be to rework
the code so we didn't need to use iptables in these paths.

CQ:S1018353
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
config/functions