summaryrefslogtreecommitdiff
path: root/automated/linux/nginx-server
AgeCommit message (Collapse)Author
2017-04-19nginx-server: add odp-dpdk-git testsJosep Puigdemont
Change-Id: I8d262f9e9ba0d29b902c15f6dad3e75df3b0d75c Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org>
2017-04-19nginx-server: use configuration files and callbaksJosep Puigdemont
NGiNX can be installed in different places, and can be implemented using different IP stacks (Linux IP stack, OFP, ANS...). The nginx-server.sh script was meant to be used independently of he NGiNX version in use. Due to this it contains several initialization and configuration functions for each of the currently supported implementations. This could grow a bit too large for one single file, so we've opted for creating files with a set of required functions for each implementation. The file is sourced and it should define some functions used for the tests. The name of the file should be that of the CONFIG_TYPE defined for the test definition, plus the .sh suffix. The functions required to be implemented in the files are: - do_configure_system(): used to initialize the tests. Here any configuration required for the test, like NIC configuration, kernel module loading, etc, should be done. It is called once before any test starts. - do_start_nginx(): this function is used to start NGiNX. - do_stop_nginx(): this function is used to stop NGiNX. It may be called even if NGiNX is not running. - do_write_nginx_config(): this function is called before starting NGiNX, and it is meant to write a proper nginx.conf file for the current number of cores. - do_pre_test_cb(): this function is called before starting NGiNX, it can be used for anything deemed appropriate. - do_post_test_cb(): this function is called right after the test has finished, and before NGiNX is stopped. It can be used for anything deemed appropriate. All functions are called with the following parameters in this order: - cores: number of cores of the current test. For configure_sytem, this is the total number of physical cores available. - interface: this is the interface that NGiNX is expected to use. - IP: the IP that the web server is expected to use. The return value of the functions is not checked. Change-Id: I0321697509f9ac628e705c69285a7478dd993ace Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org>
2017-03-02nginx-odp-dpdk.yaml: use sh-test-lib functionsJosep Puigdemont
We will now use the add_key and add_repo functions provided by sh-test-lib, also the repository used can be specified as one of the test parameters. Installation of release-specific packages has been removed. Any extra packages from other repositories than the ones under test (currently jessie-backports) will have to be installed by the calling LAVA job. This way this test definition will work on newer versions of the distribution without having to change anything. See this lava job for an example: https://lng.validation.linaro.org/scheduler/job/17262/multinode_definition Change-Id: I6119b451c4921afde861f8b3473cdfdca140d3f5 Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org>
2017-02-23nginx-odp-dpdk.yaml: do not install kernel headersJosep Puigdemont
Until now the test installed kernel headers from a hardcoded source. We should require the job calling his test to install the kernel headers, whether they come from a hw-pack, a private repo, or somewhere else. At the same time define configurable parameters for the test. Change-Id: I28dbaa55d71683c23b4d59b188fcebf5fd302a6e Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org>
2017-02-23nginx-server: remove dependency on private repoJosep Puigdemont
To work around some limitation on the current port of NGiNX to OFP, a private repo with specially built OFP and NGiNX was used by the test script. This is not desirable in the long run, so we will resort to installing the packages provided by LNG at deb.opendataplane.org, and add the limitation that NGiNX for OFP will only be tested with one worker for now. When support for more workers is available, the limitation should be removed. Change-Id: I0f2d5f1c4efe9efb53c77270c0bebaeb03c709b6 Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org>
2017-01-04nginx-server: server side of the http performance testsJosep Puigdemont
The nginx-server.sh script implements the same protocol as the httperf-client.sh script, namely: client server | | |<----------- num_cores ---------| # server indicates num cores |---------- client_ready ------->| # server is configured for 1 core |<-- server_num_cores_1_ready ---| # client runs tests for 1 core |--- client_num_cores_1_done --->| # client is finished testing | | # server reconfigures for 2 cores |<-- server_num_cores_2_ready ---| # client runs tests for 2 cores |--- client_num_cores_2_done --->| # client is finished testing | | # repeated until num_cores in | | # increments of 2 (1, 2, 4, 6...) ... Currently it supports testing NGiNX on plain linux IP stack, and a special version of NGiNX compiled for OFP and ODP-DPDK, however the latter is not too portable at the moment and will require further work. Whether one or the other is tested is configured by the CONFIG_TYPE environment variable in the test definition: linux-ip or odp-dpdk, respectively. Also the maximum amount of cores for which to test can be limited by setting the MAX_CORES environment variable (0 meaning all cores). This relies completely on VLAND and lava-{send,wait} for synchronization. Change-Id: I775083f7183895039064141b51172a3280249848 Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org> Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>