Files
kubernetes/pkg/util
Dan Williams 4cd6d34a0b util/iptables: check for and use new iptables-restore 'wait' argument
iptables-restore did not previously perform any locking, meaning that
when callers (like kube-proxy) asked iptables-restore to write large
numbers of rules, the iptables-restore process might run in parallel
with other 'iptables' invocations in kubelet (hostports), docker,
and other software.  This causes errors like:

"CNI request failed with status 400: 'Failed to ensure that nat chain
POSTROUTING jumps to MASQUERADE: error checking rule: exit status 4:
iptables: Resource temporarily  unavailable."

or from Docker

"Failed to allocate and map port 1095-1095: iptables failed:
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1095
-j DNAT --to-destination 10.1.0.2:1095 ! -i lbr0: iptables:
Resource temporarily unavailable.\n (exit status 4)"

iptables-restore "wait" functionality was added in iptables git
commit 999eaa241212d3952ddff39a99d0d55a74e3639e but is NOT YET
in a released version of iptables.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1417234
2017-04-20 13:38:44 -05:00
..
2017-01-24 20:56:03 +01:00
2017-01-05 14:14:13 -08:00
2017-01-05 14:14:13 -08:00
2017-01-05 14:14:13 -08:00
2017-01-05 14:14:13 -08:00
2017-01-30 12:46:59 -05:00
2017-01-29 21:41:45 +01:00
2017-01-11 09:09:48 -05:00
2017-01-05 14:14:13 -08:00
2017-02-27 16:00:49 -08:00
2017-01-25 19:49:45 +01:00
2017-01-05 14:14:13 -08:00
2017-01-16 16:04:03 -05:00
2017-01-16 16:04:03 -05:00
2017-04-06 16:15:34 -04:00
2017-01-25 19:49:45 +01:00
2017-04-06 16:15:34 -04:00