Bryan Boreham
1d55ee19e4
Merge branch '1.9'
2017-03-17 11:46:32 +00:00
Marc CARRE
7b1e8ac1cf
Assert no defunct process is generated as a postcondition of all tests.
2017-03-17 10:36:16 +00:00
Bryan Boreham
9810a84475
Merge branch '1.9'
2017-03-16 19:43:50 +00:00
Bryan Boreham
31b7e063e7
Use version 3 in the test
...
CNI_VERSION env var was never used, so removed from the test script.
The second test is crashing on v1, so bumped to v3.
2017-03-16 18:23:20 +00:00
Bryan Boreham
8f44dc0986
Remove hard-coded number of hosts
2017-03-14 18:10:24 +00:00
Bryan Boreham
f9f3b18ce4
Test whether non-weave ipsets get blown away
2017-03-14 17:56:59 +00:00
Marc CARRE
673d0af97d
Add failing test catching defunct launch.sh processses.
...
Reproduces issue #2836 , i.e.:
- during initialisation:
```
$ ps auxf
[...]
root 1380 0.4 1.6 879660 60732 ? Ssl Mar13 5:54 /usr/bin/docker daemon -H fd:// -H unix:///
root 1664 0.0 0.4 502116 18540 ? Ssl Mar13 0:06 \_ docker-containerd -l /var/run/docker/li
root 12615 0.0 0.1 200496 5424 ? Sl 14:38 0:00 \_ docker-containerd-shim c5637e5bbdcb
root 12629 6.2 1.6 296400 62312 ? Ssl 14:38 0:00 | \_ /home/weave/weaver --port=6783
root 12910 0.0 0.0 1524 68 ? S 14:38 0:00 | \_ /bin/sh /home/weave/launch.
root 13002 0.0 0.0 1772 1232 ? S 14:38 0:00 | \_ /bin/sh /home/weave/wea
root 13027 0.0 0.0 1772 320 ? S 14:38 0:00 | \_ /bin/sh /home/weave
root 13028 0.0 0.0 14656 2708 ? S 14:38 0:00 | \_ curl -o /tmp/we
[...]
```
- after initialisation:
```
$ ps auxf
[...]
root 1380 0.4 1.6 879660 60732 ? Ssl Mar13 5:54 /usr/bin/docker daemon -H fd:// -H unix:///
root 1664 0.0 0.4 502116 18540 ? Ssl Mar13 0:06 \_ docker-containerd -l /var/run/docker/li
root 12615 0.0 0.1 200496 5424 ? Sl 14:38 0:00 \_ docker-containerd-shim c5637e5bbdcb
root 12629 3.5 1.6 297460 63340 ? Ssl 14:38 0:00 | \_ /home/weave/weaver --port=6783
root 12910 0.0 0.0 0 0 ? Z 14:38 0:00 | \_ [launch.sh] <defunct>
[...]
```
Sample output:
```
test #5 "run_on mct-0.us-central1-a.weave-net ps aux | grep -c '[d]efunct'" failed:
expected "0"
got "1"
test #6 "run_on mct-1.us-central1-a.weave-net ps aux | grep -c '[d]efunct'" failed:
expected "0"
got "1"
test #7 "run_on mct-2.us-central1-a.weave-net ps aux | grep -c '[d]efunct'" failed:
expected "0"
got "1"
3 of 8 tests failed in 62.012s.
```
2017-03-14 14:39:34 +00:00
Bryan Boreham
e57d79bd70
Test reverse DNS using dig
...
so that we can check it works with upper and lower case IN-ADDR.ARPA
2017-02-27 14:56:25 +00:00
Topper Bowers
83958561f7
some DNS clients send reverse lookups with uppercase suffixes. This lowercases the request before trimming the lowercase suffix. Problem discovered and discussed here: https://github.com/weaveworks/weave/issues/2817
2017-02-27 14:19:31 +01:00
Bryan Boreham
6d5c2ad0fa
Merge pull request #2793 from weaveworks/improve-fastdp-crypto-tests
...
Improve encryption tests
2017-02-22 14:56:14 +00:00
Marc CARRE
1b45e8662e
Add DEPENDENCIES file and source Vagrant and tests versions from it.
...
- One unique file to list all dependencies and dependencies' versions (except Go, currently defined in `build/Dockerfile`).
- Custom versions can now be injected into Vagrant VMs.
- Vagrant dev VMs, Vagrant test VMs, and `run-integration-tests.sh` all source from `DEPENDENCIES`, to keep things 'DRY'.
- Vagrant versions can be overriden using environment variables, like it was possible in `run-integration-tests.sh`.
2017-02-13 19:54:38 +00:00
Bryan Boreham
293abd953e
Fix flaky test 320
...
The intention, per the comments, is that host1 should claim from host2.
But host2 and host3 can carve up the space either way round. If host1
claims from host3 then there is a race whether anyone finds out about
it.
Adding a 'prime' on host2 ensures the space is all owned by host2 at that point.
2017-02-13 11:30:34 +00:00
Martynas Pumputis
7f48cc9239
Replace 110_encryption_2_test.sh by 110_sleeve_encryption_2_test.sh
2017-02-10 17:30:30 +00:00
Martynas Pumputis
8211afe5d5
Improve 111_fastdp_encryption_2_test.sh
2017-02-10 17:20:24 +00:00
Marc CARRE
ef8b576742
Default behaviour now is to create a GCP image if missing.
...
We previously had 'use image' as a default, but not 'create image', which is inconsistent and leads to unexpected failures.
2017-02-08 14:15:59 +00:00
Marc CARRE
69398a9d7e
Source config.sh using relative path to the script, regardless of current directory.
...
Sourcing failed when running make integration-tests.
2017-02-08 14:15:59 +00:00
Marc CARRE
0a2beedad3
Add flag to skip destruction of test VMS.
...
This should be useful when we just want to type one make integration-tests / ./run-integration-tests command to make/start VMs/configure them/test, but also investigate potential failures afterwards.
2017-02-08 14:15:59 +00:00
Marc CARRE
29d50bbf09
Globally redirect stdout to stderr, except when echo'ing "export HOSTS=...".
...
This should make development easier by allowing developers to set HOSTS in their calling shell, and re-use the value for this env. var. when calling individual test scripts, e.g.:
```
cd test
eval $(./run-integration-tests.sh setup)
./200_dns_test.sh
```
2017-02-08 14:15:59 +00:00
Marc CARRE
1185bed370
Changed default number of test machines to 3.
...
CircleCI keeps 10 nodes in order to speed up the build, but the default is 3, as this is the minimum required to run any test. This should make more sense as a default for a developer to quickly start an environment and iterate.
2017-02-08 14:15:59 +00:00
Marc CARRE
dd935b7e9e
Provision and destroy test VMs in the background.
...
This should help speed-up the build by provisioning test VMs while we run unit tests, and destroying them while we generate coverage reports.
2017-02-08 14:15:59 +00:00
Marc CARRE
67dbdd377c
Configure Vagrant VMs using Ansible.
...
This way, Vagrant VMs and cloud-provided VMs are configured in the exact same way, hence avoiding configuration drift and subtle bugs associated to different versions of software.
2017-02-08 14:15:59 +00:00
Marc CARRE
e5185e73ce
Refactor Vagrant configuration.
2017-02-08 14:15:59 +00:00
Marc CARRE
17ada094f8
Updated and improved testing documentation.
2017-02-08 14:15:59 +00:00
Marc CARRE
3e5593dc4f
Add GCP image creation and usage.
...
Provisioning and configuration being expensive time-wise, we create Google Cloud Platform images for each Docker/Kubernetes/Kubernetes CNI versions triple, and configure these once (instead of for each build), and then re-use these in subsequent builds, effectively implementing a 'cache' of images.
2017-02-08 14:15:59 +00:00
Marc CARRE
e647fe6331
Highlight setup and sanity checks in CircleCI's logs.
2017-02-08 14:15:59 +00:00
Marc CARRE
30f59953d2
Smoke tests are now run using Terraform, Ansible and run-integration-tests.sh.
2017-02-08 14:15:59 +00:00
Marc CARRE
acd16881d9
Add make integration-tests based on Terraform/Ansible.
2017-02-08 14:15:59 +00:00
Marc CARRE
487ebfb514
Increased timeout for test #840 .
...
Reason: test is periodically failing because of the timeout being too aggressive, especially when using Google Cloud Platform together with Terraform and Ansible.
2017-02-08 14:15:02 +00:00
Marc CARRE
fde7e88e66
Allow RUNNER_ARGS to be passed by calling script.
...
This is required in order to be able to dependency-inject values from layers higher up, e.g.: RUNNER_ARGS="-parallel" from the Makefile.
2017-02-08 14:15:02 +00:00
Bryan Boreham
4eeb846507
Add tests for connectivity to the world
2017-02-01 15:01:18 +00:00
Bryan Boreham
7529f5f9af
Raise ping timeout to reduce false negatives
2017-02-01 15:01:18 +00:00
Martynas Pumputis
07892bff7d
Reduce the default MTU
2017-01-31 17:21:01 +00:00
Martynas Pumputis
60323d0960
Add fastdp crypto
2017-01-31 17:21:01 +00:00
Marc CARRE
5fd14348aa
Fix broken link to 'Building Weave Net' documentation.
2017-01-17 17:49:17 +00:00
Bryan Boreham
e7eeecd762
Smoke test for peer names
2017-01-11 13:14:35 +00:00
Bryan Boreham
e370443a3f
Merge pull request #2699 from weaveworks/2647-parallelise-sanity-checks
...
Parallelise sanity checks in order to speed them up.
2017-01-09 12:57:44 +00:00
Bryan Boreham
cef8c908d0
Merge pull request #2704 from weaveworks/2647-parallelise-setup
...
Parallelise setup.sh's individual tasks.
2017-01-09 12:30:53 +00:00
Marc CARRE
89e116961c
Now measure time spent in setup.
2017-01-09 12:03:13 +00:00
Marc CARRE
71180f97e7
Parallelise setup.sh.
2017-01-09 12:03:09 +00:00
Adam Harrison
be8d9d88d8
Merge pull request #2724 from weaveworks/2647-remove-dependency-on-jq
...
Removed dependency on jq in test #175 .
2017-01-09 10:59:52 +00:00
Marc CARRE
4a7e2054db
Removed dependency on jq in test #175 .
...
If the machine coordinating the test runs does not have jq, then test #175 fails with:
> test #1 "weave_on test-0.lon1.weave-net report | jq -r '.Router.Targets[] | tostring' | sort" failed:
> expected "test-1.lon1.weave-net
> test-2.lon1.weave-net"
> got nothing
This change completely removes the dependency on jq to make the test more robust and avoid potential confusion.
2017-01-09 10:16:05 +00:00
Marc CARRE
fe75047988
weave-daemonset.yaml is now referred to using relative paths.
2017-01-09 10:08:38 +00:00
Marc CARRE
f73fb5307f
Redirect sanity checks' output to temporary files (and archive them as artifact files under CircleCLI).
...
This should make it easier to find and access relevant debugging information without polluting STDOUT and without any risk of log interleaving. See also:
- https://weaveworks.slack.com/archives/net/p1482154505001192
- https://weaveworks.slack.com/archives/net/p1482254780001493
2017-01-09 09:17:45 +00:00
Marc CARRE
172597a68d
Now measure time spent in sanity checks.
2017-01-09 09:17:45 +00:00
Marc CARRE
f05169e457
Initialise pids before using it, to avoid potential issues with previously set values.
2017-01-09 09:17:45 +00:00
Marc CARRE
b171497466
Ensure sanity checks exit early in case of a ping failure.
2017-01-09 09:17:45 +00:00
Marc CARRE
61375fb785
Format ping output as one line.
2017-01-09 09:17:45 +00:00
Marc CARRE
04cc4edf26
Parallelise sanity checks in order to speed them up.
2017-01-09 09:17:45 +00:00
Marc CARRE
0101a12fba
Undo 0dff07dc8b since current directory is already changed on previous line.
2017-01-09 09:16:53 +00:00
Marc CARRE
e094fb1547
DOCKER_CERT_PATH is now set using a relative path.
2017-01-09 09:16:53 +00:00