Skip to content

Commit d1c35a7

Browse files
committed
Updated multi-server test README.
1 parent 81d8244 commit d1c35a7

1 file changed

Lines changed: 48 additions & 29 deletions

File tree

src/tests/multi-server/README.md

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,83 @@
11
If you are reading this, you are probably wondering how to run a multi-server test. Here's a quick overview.
22

3-
## Run Test With Makefile
4-
5-
1. Build an image of freeradius-server and tag it as "freeradius-build:latest". All docker compose files for the multi-server tests use "freeradius-build:latest".
3+
## Before You Begin
4+
Running the multi-server tests requires the availability of a Docker image `freeradius-build:latest` to be available on the host running the tests.
65
```bash
76
% cd ${FREERADIUS-SERVER-LOCAL-REPO}
87
% make docker.ubuntu24.build
9-
% docker tag <your-freeradius-build-tag> freeradius-build:latest
8+
% docker tag <your-freeradius-docker-image-tag> freeradius-build:latest
109
```
10+
11+
12+
## Run Test With Makefile
13+
### Run All Tests
14+
1115
2. Run make target based on the test name. All testcase config files start with "test-*".
1216
```bash
13-
% cd ${FREERADIUS-SERVER-LOCAL-REPO}/src/tests/multi-server
14-
% make -f all.mk test-5hs-autoaccept
17+
% cd ${FREERADIUS-SERVER-LOCAL-REPO}
18+
% make -f src/tests/multi-server/all.mk
19+
```
20+
21+
### Run Specific Tests (Example)
22+
```bash
23+
% cd ${FREERADIUS-SERVER-LOCAL-REPO}
24+
% make -f src/tests/multi-server/all.mk test-5hs-autoaccept
1525
```
1626
or
1727
```bash
18-
% cd ${FREERADIUS-SERVER-LOCAL-REPO}/src/tests/multi-server
19-
% make -f all.mk test-5hs-autoaccept-5min
28+
% cd ${FREERADIUS-SERVER-LOCAL-REPO}
29+
% make -f src/tests/multi-server/all.mk test-1p-2hs-autoaccept
30+
```
31+
32+
### Optional Debug Logs and Logging Verbosity Level
33+
```bash
34+
% cd ${FREERADIUS-SERVER-LOCAL-REPO}
35+
% make -f src/tests/multi-server/all.mk test-5hs-autoaccept DEBUG=1 VERBOSE=4
2036
```
2137

22-
## Run Multi-Server Tests Manually
38+
## Run Multi-Server Tests Manually Without Makefile (Optional)
2339

24-
### Clone Multi-Server Framework Repo
40+
### Clone Multi-Server Test Framework Repo & Activate Python venv
2541
```bash
26-
git clone git@github.com:InkbridgeNetworks/freeradius-multi-server.git
42+
git clone git@github.com:InkbridgeNetworks/freeradius-multi-server.git ${FREERADIUS-MULTI-SERVER-LOCAL-REPO}
2743
cd ${FREERADIUS-MULTI-SERVER-LOCAL-REPO}
2844
./configure
2945
source .venv/bin/activate
3046
```
3147

32-
### Render Jinja Templates (e.g. test-5hs-autoaccept):
48+
### Render Jinja Templates
49+
50+
In this example we render the Jinja templates used by the environment configuration used by the `test-5hs-autoaccept` test.
51+
The Docker Compose `env-5hs-autoaccept.yml` file represents the `load-generator -> 5 homeserver` test environment used by the test.
3352

34-
Homeserver config:
53+
Render FreeRADIUS "homeserver" Virtual Server config:
3554
```bash
3655
% python3 src/config_builder.py \
37-
--vars-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
38-
--aux-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/configs/freeradius/homeserver/radiusd.conf.j2" \
39-
--include-path "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/"
56+
--vars-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
57+
--aux-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/configs/freeradius/homeserver/radiusd.conf.j2" \
58+
--include-path "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/"
4059
```
41-
Load-generator config:
60+
Render FreeRADIUS "load-generator" Virtual Server config:
4261
```bash
4362
python3 src/config_builder.py \
44-
--vars-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
45-
--aux-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/configs/freeradius/load-generator/radiusd.conf.j2" \
46-
--include-path "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/"
63+
--vars-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
64+
--aux-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/configs/freeradius/load-generator/radiusd.conf.j2" \
65+
--include-path "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/"
4766
```
48-
Test Environment Docker compose:
67+
Render Docker Compose environment:
4968
```bash
5069
python3 src/config_builder.py \
51-
--vars-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
52-
--aux-file "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/docker-compose/env-5hs-autoaccept.yml.j2" \
53-
--include-path "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/"
70+
--vars-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/jinja-vars/env-5hs-autoaccept.vars.yml" \
71+
--aux-file "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/docker-compose/env-5hs-autoaccept.yml.j2" \
72+
--include-path "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/"
5473
```
5574

56-
### Run test (e.g. test-5hs-autoaccept):
75+
### Run the test:
5776
```bash
58-
% DATA_PATH="${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/configs" \
77+
% DATA_PATH="${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/configs" \
5978
make test-framework -- -x -v \
60-
--compose "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/environments/docker-compose/env-5hs-autoaccept.yml" \
61-
--test "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/src/tests/multi-server/test-5hs-autoaccept.yml" \
79+
--compose "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/environments/docker-compose/env-5hs-autoaccept.yml" \
80+
--test "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/src/tests/multi-server/test-5hs-autoaccept.yml" \
6281
--use-files \
63-
--listener-dir "${FREERADIUS-SERVER-LOCAL-REPO-PATH-ABS}/build/tests/multi-server/freeradius-listener-logs/test-5hs-autoaccept"
82+
--listener-dir "${FREERADIUS-MULTI-SERVER-LOCAL-REPO_ABS_PATH}/build/tests/multi-server/freeradius-multi-server-test-runtime-logs/test-5hs-autoaccept"
6483
```

0 commit comments

Comments
 (0)