1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #! /bin/bash
- # shellcheck disable=SC1091
- . ./config.sh
- start_suite "Test with ebpf restarts and proc fallback"
- weave_on "$HOST1" launch
- # Manually start scope in order to start EbpfTracker in debug mode
- DOCKER_HOST=tcp://${HOST1}:${DOCKER_PORT} CHECKPOINT_DISABLE=true \
- WEAVESCOPE_DOCKER_ARGS="-e SCOPE_DEBUG_BPF=1" \
- "${SCOPE}" launch
- server_on "$HOST1"
- client_on "$HOST1"
- wait_for_containers "$HOST1" 60 nginx client
- has_container "$HOST1" nginx
- has_container "$HOST1" client
- has_connection containers "$HOST1" client nginx
- docker_on "$HOST1" exec weavescope sh -c "mkdir /var/run/scope && echo stop > /var/run/scope/debug-bpf"
- sleep 5
- server_on "$HOST1" "nginx2"
- client_on "$HOST1" "client2" "nginx2"
- wait_for_containers "$HOST1" 60 nginx2 client2
- has_container "$HOST1" nginx2
- has_container "$HOST1" client2
- has_connection containers "$HOST1" client2 nginx2
- # Save stdout for debugging output
- exec 3>&1
- assert_raises "docker_on $HOST1 logs weavescope 2>&1 | grep 'ebpf tracker died, restarting it' || (docker_on $HOST1 logs weavescope 2>&3 ; false)"
- docker_on "$HOST1" exec weavescope sh -c "echo stop > /var/run/scope/debug-bpf"
- sleep 5
- server_on "$HOST1" "nginx3"
- client_on "$HOST1" "client3" "nginx3"
- wait_for_containers "$HOST1" 60 nginx3 client3
- has_container "$HOST1" nginx3
- has_container "$HOST1" client3
- has_connection containers "$HOST1" client3 nginx3
- assert_raises "docker_on $HOST1 logs weavescope 2>&1 | grep 'ebpf tracker died again, gently falling back to proc scanning' || (docker_on $HOST1 logs weavescope 2>&3 ; false)"
- scope_end_suite
|