From 6d70284c2132dfe856981e28c6f20bbe3cefacef Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Tue, 5 Nov 2019 14:15:57 +0000 Subject: [PATCH 1/4] Increase default connection limit to 200 Improvements in resource consumption in larger clusters mean we can raise this limit. --- prog/weave-kube/launch.sh | 2 +- prog/weaver/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/prog/weave-kube/launch.sh b/prog/weave-kube/launch.sh index 44929577..b838c3ef 100755 --- a/prog/weave-kube/launch.sh +++ b/prog/weave-kube/launch.sh @@ -29,7 +29,7 @@ IPALLOC_RANGE=${IPALLOC_RANGE:-10.32.0.0/12} HTTP_ADDR=${WEAVE_HTTP_ADDR:-127.0.0.1:6784} METRICS_ADDR=${WEAVE_METRICS_ADDR:-0.0.0.0:6782} HOST_ROOT=${HOST_ROOT:-/host} -CONN_LIMIT=${CONN_LIMIT:-100} +CONN_LIMIT=${CONN_LIMIT:-200} DB_PREFIX=${DB_PREFIX:-/weavedb/weave-net} # Check if the IP range overlaps anything existing on the host diff --git a/prog/weaver/main.go b/prog/weaver/main.go index abd2ad6d..7194b205 100644 --- a/prog/weaver/main.go +++ b/prog/weaver/main.go @@ -188,7 +188,7 @@ func main() { mflag.StringVar(&logLevel, []string{"-log-level"}, "info", "logging level (debug, info, warning, error)") mflag.BoolVar(&pktdebug, []string{"-pkt-debug"}, false, "enable per-packet debug logging") mflag.StringVar(&prof, []string{"-profile"}, "", "enable profiling and write profiles to given path") - mflag.IntVar(&config.ConnLimit, []string{"-conn-limit"}, 100, "connection limit (0 for unlimited)") + mflag.IntVar(&config.ConnLimit, []string{"-conn-limit"}, 200, "connection limit (0 for unlimited)") mflag.BoolVar(&noDiscovery, []string{"-no-discovery"}, false, "disable peer discovery") mflag.IntVar(&bufSzMB, []string{"-bufsz"}, 8, "capture buffer size in MB") mflag.IntVar(&bridgeConfig.MTU, []string{"-mtu"}, 0, "MTU size") From e000472af7ebd0ebdb6c04a0e664934574692513 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Tue, 5 Nov 2019 12:50:16 +0000 Subject: [PATCH 2/4] Release 2.6 --- CHANGELOG.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed5f4b04..64b28295 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,58 @@ +## Release 2.6.0 + +This release reduces CPU and memory usage in larger clusters, by +sending notifications to a smaller set of peers and coalescing updates +to reduce topology recalculation. #3715, #3732 + +The default soft limit on connections has been raised from 100 to 200. + +### Bug fixes + +* Fix a race condition in Kubernetes addon when reclaiming IP + addresses after node deletion #3724, #3716 +* Buffer events so Docker won't drop them, and Weave Net can clean up + after dead containers #3432, #3705 +* Weave reconnect occasionally fails after network interface + disconnect #3666, #3669, #3676 +* Ingress NetworkPolicy would accepts all traffic when specifying both + IPBlock and port #3653, #3654 + +### Kubernetes improvements + +* Support both podSelector and namespaceSelector in NetworkPolicy #3312, #3647 +* Only add default-drop egress rule if network policies are in use #3639 +* Manifests use 'apps/v1' rather than deprecated 'apps/v1beta1' #3660 +* Avoid Weave Net pods being evicted by setting priorityClassName: system-node-critical #3697 +* Manifests use recommended DNS policy ClusterFirstWithHostNet #3692 +* Weave Net now tolerates 'NoExecute' taint #3655 +* Allow extra arguments to NetworkPolicy controller to be set in an environment variable #3683 +* Stop reporting a failure to connect to self #3454, #3585 +* Minor reduction in log noise when reclaiming IPs #3710 + +### Other improvements + +* Avoid isolating nodes which have restarted by automatically + repairing inconsistencies in IP allocation data #1962, #3637, #3708 +* Build Weave Net for the s390x architecture #3685 +* When a IP address is requested that may be in use, make several + attempts to claim it before returning an error #3725 +* Improve logging for IP allocation updates #3627, #3630 +* Improve 'expecting PMTU update' log message on initial connection #3603 + +### Build and test + +* Shut down Kubernetes on node when testing node deletion #3716 +* Update the base 'Alpine' container image to version 3.8 #3701 +* Update Go to version 1.13.3 #3712 +* Update gopacket library #3590 +* Pin busybox version to 1.28 to avoid CI failure in Python test #3689 +* Remove obsolete weave-daemonset.yaml file #3674 + +Thanks to contributors @christian-2, @hpdvanwyk, @guirish, @kitt1987, +@mmerrill3, @Pensu, @scritchley, @sidharthsurana, @tanishq-dubey + +[Full list of changes](https://github.com/weaveworks/weave/milestone/78?closed=1) + ## Release 2.5.2 From 6d2366ca4c6289e5279bcb3b93524910bbc906dd Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Fri, 6 Dec 2019 10:17:29 +0530 Subject: [PATCH 3/4] upgrade to newer terraform that is compatible with google cloud API Fixes #3741 --- bin/provision_test_vms.sh | 2 +- test/run-integration-tests.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/provision_test_vms.sh b/bin/provision_test_vms.sh index b42a32cd..740ef63c 100755 --- a/bin/provision_test_vms.sh +++ b/bin/provision_test_vms.sh @@ -10,7 +10,7 @@ function signal_failure() { trap signal_failure ERR function install_terraform() { - curl -fsS https://releases.hashicorp.com/terraform/0.8.5/terraform_0.8.5_linux_amd64.zip | gunzip >terraform && chmod +x terraform && sudo mv terraform /usr/bin + curl -fsS https://releases.hashicorp.com/terraform/0.11.14/terraform_0.11.14_linux_amd64.zip | gunzip >terraform && chmod +x terraform && sudo mv terraform /usr/bin } function install_ansible() { diff --git a/test/run-integration-tests.sh b/test/run-integration-tests.sh index 546ea081..0c49b8bd 100755 --- a/test/run-integration-tests.sh +++ b/test/run-integration-tests.sh @@ -206,7 +206,8 @@ function set_hosts() { function provision_remotely() { case "$1" in on) - terraform apply -input=false -parallelism="$NUM_HOSTS" -var "app=$APP" -var "name=$NAME" -var "num_hosts=$NUM_HOSTS" "$DIR/../tools/provisioning/$2" + terraform init "$DIR/../tools/provisioning/gcp" + terraform apply -auto-approve -input=false -parallelism="$NUM_HOSTS" -var "app=$APP" -var "name=$NAME" -var "num_hosts=$NUM_HOSTS" "$DIR/../tools/provisioning/$2" local status=$? ssh_user=$(terraform output username) ssh_id_file=$(terraform output private_key_path) From d44e34584a280df3a911554dac434a97f5de674a Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Fri, 6 Dec 2019 18:48:49 +0530 Subject: [PATCH 4/4] Update tools submodule to latest commit 2a2df527894bcaa5d42ad80654c43e1e5a6b03d7 --- tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools b/tools index f041a74f..2a2df527 160000 --- a/tools +++ b/tools @@ -1 +1 @@ -Subproject commit f041a74ffbf273b627d6c960f17357108d0dbd1c +Subproject commit 2a2df527894bcaa5d42ad80654c43e1e5a6b03d7