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 01:15:24 +0000 (10:45 +0930)
commit72d6914ee913272312d7b68f1be5ad05ad06587d
tree4a5c70e34524aaf1cf5ccbecfd14715b81f37f82
parent70877b2e7f8fd0d46899bbeca2c6caad6e6e6820
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