Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0348233af | ||
|
|
495bea8890 | ||
|
|
3d79b07dba | ||
|
|
27f8f9092f | ||
|
|
7174738d9d | ||
|
|
9be65b466b | ||
|
|
d45579bf82 |
No files matched your search
@@ -1,3 +1,10 @@
|
||||
## Release 2.6.5
|
||||
|
||||
Fixes a bug that would leak memory every time a fast-datapath connection
|
||||
was stopped. #3808
|
||||
Also avoid a crash when the machine has ipv6 disabled. #3815
|
||||
|
||||
|
||||
## Release 2.6.4
|
||||
|
||||
Improves the iptables rule added in 2.6.3 to block just the Weave Net
|
||||
|
||||
@@ -41,3 +41,11 @@ func sysctl(procPath, variable, value string) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func sysctlIfExists(procPath, variable, value string) error {
|
||||
err := sysctl(procPath, variable, value)
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
err = nil // ignore 'not found' errors
|
||||
}
|
||||
return err
|
||||
}
|
||||
+1
-1
@@ -281,7 +281,7 @@ func EnsureBridge(procPath string, config *BridgeConfig, log *logrus.Logger, ips
|
||||
}
|
||||
}
|
||||
// No ipv6 router advertisments please
|
||||
if err := sysctl(procPath, "net/ipv6/conf/"+config.WeaveBridgeName+"/accept_ra", "0"); err != nil {
|
||||
if err := sysctlIfExists(procPath, "net/ipv6/conf/"+config.WeaveBridgeName+"/accept_ra", "0"); err != nil {
|
||||
return bridgeType, errors.Wrap(err, "setting accept_ra to 0")
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -50,10 +50,10 @@ func CreateAndAttachVeth(procPath, name, peerName, bridgeName string, mtu int, k
|
||||
return cleanup("attaching veth %q to %q: %s", name, bridgeName, err)
|
||||
}
|
||||
// No ipv6 router advertisments please
|
||||
if err := sysctl(procPath, "net/ipv6/conf/"+name+"/accept_ra", "0"); err != nil {
|
||||
if err := sysctlIfExists(procPath, "net/ipv6/conf/"+name+"/accept_ra", "0"); err != nil {
|
||||
return cleanup("setting accept_ra to 0: %s", err)
|
||||
}
|
||||
if err := sysctl(procPath, "net/ipv6/conf/"+peerName+"/accept_ra", "0"); err != nil {
|
||||
if err := sysctlIfExists(procPath, "net/ipv6/conf/"+peerName+"/accept_ra", "0"); err != nil {
|
||||
return cleanup("setting accept_ra to 0: %s", err)
|
||||
}
|
||||
if !bridgeType.IsFastdp() && !keepTXOn {
|
||||
|
||||
@@ -452,6 +452,7 @@ func (fwd *overlaySwitchForwarder) Stop() {
|
||||
fwd.lock.Lock()
|
||||
defer fwd.lock.Unlock()
|
||||
fwd.stopFrom(0)
|
||||
close(fwd.stopChan)
|
||||
}
|
||||
|
||||
func (fwd *overlaySwitchForwarder) ControlMessage(tag byte, msg []byte) {
|
||||
|
||||
@@ -54,7 +54,7 @@ sed -e "s%imagePullPolicy: Always%imagePullPolicy: Never%" \
|
||||
-e "s%env:%$WEAVE_ENV_VARS%" \
|
||||
"$(dirname "$0")/../prog/weave-kube/weave-daemonset-k8s-1.9.yaml" | run_on "$HOST1" "$KUBECTL apply -n kube-system -f -"
|
||||
|
||||
sleep 5
|
||||
sleep 2
|
||||
|
||||
check_connections() {
|
||||
run_on $HOST1 "curl -sS http://127.0.0.1:6784/status | grep \"$SUCCESS\""
|
||||
@@ -247,6 +247,9 @@ spec:
|
||||
- namespaceSelector: {}
|
||||
EOF
|
||||
|
||||
# Allow some time for the policy change to take effect
|
||||
sleep 2
|
||||
|
||||
# Should be able to access from the "deny" pod now
|
||||
assert_raises "$SSH $HOST1 $KUBECTL exec $denyPodName -- curl -s -S -f -m 2 http://$DOMAIN:8080/status >/dev/null"
|
||||
|
||||
@@ -270,6 +273,7 @@ spec:
|
||||
cidr: $HOST1EXPIP/32
|
||||
EOF
|
||||
|
||||
# Allow some time for the policy change to take effect
|
||||
sleep 2
|
||||
|
||||
assert_raises "$SSH $HOST1 curl -s -S -f -m 2 http://$VIRTUAL_IP/status >/dev/null"
|
||||
@@ -289,6 +293,9 @@ spec:
|
||||
- {}
|
||||
EOF
|
||||
|
||||
# Allow some time for the policy change to take effect
|
||||
sleep 2
|
||||
|
||||
# Virtual IP and NodePort should now work
|
||||
assert_raises "$SSH $HOST1 curl -s -S -f -m 2 http://$VIRTUAL_IP/status >/dev/null"
|
||||
assert_raises "$SSH $HOST1 curl -s -S -f -m 2 http://$HOST2:31138/status >/dev/null"
|
||||
@@ -314,6 +321,9 @@ spec:
|
||||
- 8.8.8.4/32
|
||||
EOF
|
||||
|
||||
# Allow some time for the policy change to take effect
|
||||
sleep 2
|
||||
|
||||
assert_raises "! $SSH $HOST1 $KUBECTL exec $denyPodName -- curl -s -S -f -m 2 http://$DOMAIN:8080/status >/dev/null"
|
||||
assert_raises "! $SSH $HOST1 $KUBECTL exec $denyPodName -- dig @8.8.8.4 google.com >/dev/null"
|
||||
assert_raises "$SSH $HOST1 $KUBECTL exec $denyPodName -- dig @8.8.8.8 google.com >/dev/null"
|
||||
@@ -346,6 +356,9 @@ spec:
|
||||
name: kube-system
|
||||
EOF
|
||||
|
||||
# Allow some time for the policy change to take effect
|
||||
sleep 2
|
||||
|
||||
assert_raises "$SSH $HOST1 $KUBECTL exec $denyPodName -- curl -s -S -f -m 2 http://$DOMAIN:8080/status >/dev/null"
|
||||
|
||||
# Passing --no-masq-local and setting externalTrafficPolicy to Local must preserve
|
||||
@@ -359,10 +372,12 @@ sed -e "s%imagePullPolicy: Always%imagePullPolicy: Never%" \
|
||||
-e "s%env:%$WEAVE_ENV_VARS%" \
|
||||
"$(dirname "$0")/../prog/weave-kube/weave-daemonset-k8s-1.9.yaml" | run_on "$HOST1" "$KUBECTL apply -n kube-system -f -"
|
||||
|
||||
sleep 5
|
||||
sleep 2
|
||||
assert_raises 'wait_for_x check_connections "connections to establish"'
|
||||
|
||||
run_on $HOST1 "$KUBECTL patch svc netvirt -p '{\"spec\":{\"externalTrafficPolicy\":\"Local\"}}'"
|
||||
|
||||
sleep 2
|
||||
CLIENT_IP_NO_MASQ="$($SSH $HOST1 curl -sS http://$HOST2:31138/client_ip)"
|
||||
|
||||
assert_raises "[ $CLIENT_IP_NO_MASQ != $CLIENT_IP_MASQ ]"
|
||||
|
||||
Reference in new issue
Block a user