Files
fission-src/test
Ta-Ching ChenandGitHub 51b264e8ca Fix poolmanager terminates running function pod periodically (#1435)
The pool manager keeps terminating function pod periodically even there are
traffic to the function. The root cause is that executor, poolmgr, newdeploy
manage their own functionServiceCache separately. And when router taps a
function, executor updates the access time of the function service entry in its
own cache without notifying executor types to do the update as well. Hence,
the access time of function service entry in poolmanager cache never gets updated.
Due to the access time never gets updated, the idle pod reaper in poolmanager
then thinks the function pod is in idle state and recycle it.

This PR removes the cache in executor itself, and when router tries to tap a function,
executor will call executor type to tap the function and update access time.
2019-11-26 01:16:30 +08:00
..
2019-08-23 16:17:12 +08:00
2019-05-23 22:52:39 +08:00

Test Framework

Prerequisite tools

  • GNU parallel >= 20161222

If you want to run test on Mac, you also need to install GNU tools for command compatibility. With Homebrew, you can get them by:

   brew install coreutils findutils gnu-sed

Run a single test

cd $REPO/test

# run 'tests/test_node_hello_http.sh'
./tests/test_node_hello_http.sh

# if you want to preserve the resources that created by test for debug
export TEST_NOCLEANUP=yes
./tests/test_node_hello_http.sh

# run 'tests/test_environments/test_go_env.sh' with custom images
export GO_RUNTIME_IMAGE=my.docker.repo/go-env:test
./tests/test_environments/test_go_env.sh

Run tests in parallel

NOTE: Some tests will consume lots of resources and cause the test fail.

Example: Run tests with 4 concurrent jobs.

cd $REPO/test

export JOBS=4
./run_test.sh \
    tests/test_backend_poolmgr.sh \
    tests/test_node_hello_http.sh \
    tests/test_pass.sh \
    tests/test_specs/test_spec.sh

# The test output will be available in logs/
cat logs/test_backend_poolmgr.sh.log

# The summary report will be saved to logs/_recap
cat logs/_recap