From 19dd4e461d1239754bd1a82e30f2a770c99a7f90 Mon Sep 17 00:00:00 2001 From: asteroide Date: Thu, 6 Jul 2017 15:35:12 +0200 Subject: Add test files for the evaluation Change-Id: Ieceeef68ce701b913aaccd900218fbee896f48df --- moonv4/tests/01_smpolicy_average_latency/exec.sh | 181 +++++++++++++++- moonv4/tests/01_smpolicy_average_latency/exec2.sh | 42 ++++ .../01_smpolicy_average_latency/exec_varuna.sh | 180 ++++++++++++++++ .../tests/01_smpolicy_average_latency/rbac_10.py | 233 --------------------- .../scenario/10/rbac_10_tenant_01.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_02.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_03.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_04.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_05.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_06.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_07.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_08.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_09.py | 89 ++++++++ .../scenario/10/rbac_10_tenant_10.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_01.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_02.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_03.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_04.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_05.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_06.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_07.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_08.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_09.py | 89 ++++++++ .../scenario/100/rbac_100_tenant_10.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_01.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_02.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_03.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_04.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_05.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_06.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_07.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_08.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_09.py | 89 ++++++++ .../scenario/50/rbac_50_tenant_10.py | 89 ++++++++ 34 files changed, 3063 insertions(+), 243 deletions(-) create mode 100644 moonv4/tests/01_smpolicy_average_latency/exec2.sh create mode 100644 moonv4/tests/01_smpolicy_average_latency/exec_varuna.sh delete mode 100644 moonv4/tests/01_smpolicy_average_latency/rbac_10.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_01.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_02.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_03.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_04.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_05.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_06.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_07.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_08.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_09.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_10.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_01.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_02.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_03.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_04.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_05.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_06.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_07.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_08.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_09.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_10.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_01.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_02.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_03.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_04.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_05.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_06.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_07.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_08.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_09.py create mode 100644 moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_10.py (limited to 'moonv4/tests/01_smpolicy_average_latency') diff --git a/moonv4/tests/01_smpolicy_average_latency/exec.sh b/moonv4/tests/01_smpolicy_average_latency/exec.sh index 20c3db94..eafee08a 100644 --- a/moonv4/tests/01_smpolicy_average_latency/exec.sh +++ b/moonv4/tests/01_smpolicy_average_latency/exec.sh @@ -2,18 +2,179 @@ TEST_SCRIPT=${MOON_HOME}/moon_interface/tests/apitests/set_authz.py POPULATE_SCRIPT=${MOON_HOME}/moon_interface/tests/apitests/populate_default_values.py -RESULT_DIR=${MOON_HOME}/tests/01_smpolicy_average_latency/ida/c6 -SCENARIO_RBAC=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_10.py +RESULT_DIR=${MOON_HOME}/tests/01_smpolicy_average_latency/ida/08 +HOST="--limit=50 --stress-test" + +SCENARIO_RBAC010=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_10.py +SCENARIO_RBAC050=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_50.py +SCENARIO_RBAC100=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_100.py +SCENARIO_RBAC150=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_150.py +SCENARIO_RBAC200=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_200.py +SCENARIO_RBAC250=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_250.py +SCENARIO_RBAC300=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_300.py + SCENARIO_SESSION=${MOON_HOME}/tests/01_smpolicy_average_latency/session.py mkdir -p ${RESULT_DIR} 2>/dev/null -python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC} -# python3 ${POPULATE_SCRIPT} ${SCENARIO_SESSION} +python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC010} + +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_10_01.json" --write-html="${RESULT_DIR}/data_rbac_10_01.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_10_02.json" --write-html="${RESULT_DIR}/data_rbac_10_02.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_10_03.json" --write-html="${RESULT_DIR}/data_rbac_10_03.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_10_04.json" --write-html="${RESULT_DIR}/data_rbac_10_04.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_10_05.json" --write-html="${RESULT_DIR}/data_rbac_10_05.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_10_06.json" --write-html="${RESULT_DIR}/data_rbac_10_06.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_10_07.json" --write-html="${RESULT_DIR}/data_rbac_10_07.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_10_08.json" --write-html="${RESULT_DIR}/data_rbac_10_08.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_10_09.json" --write-html="${RESULT_DIR}/data_rbac_10_09.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_10_10.json" --write-html="${RESULT_DIR}/data_rbac_10_10.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_10_11.json" --write-html="${RESULT_DIR}/data_rbac_10_11.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_10_12.json" --write-html="${RESULT_DIR}/data_rbac_10_12.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_10_13.json" --write-html="${RESULT_DIR}/data_rbac_10_13.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_10_14.json" --write-html="${RESULT_DIR}/data_rbac_10_14.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_10_15.json" --write-html="${RESULT_DIR}/data_rbac_10_15.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_10_16.json" --write-html="${RESULT_DIR}/data_rbac_10_16.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_10_17.json" --write-html="${RESULT_DIR}/data_rbac_10_17.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_10_18.json" --write-html="${RESULT_DIR}/data_rbac_10_18.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_10_19.json" --write-html="${RESULT_DIR}/data_rbac_10_19.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_10_20.json" --write-html="${RESULT_DIR}/data_rbac_10_20.html" ${SCENARIO_RBAC010} -python3 ${TEST_SCRIPT} --request-per-second 1 --write="${RESULT_DIR}/data_1.json" --write-html="${RESULT_DIR}/data_1.html" ${SCENARIO_RBAC} -python3 ${TEST_SCRIPT} --request-per-second 5 --write="${RESULT_DIR}/data_5.json" --write-html="${RESULT_DIR}/data_5.html" ${SCENARIO_RBAC} -python3 ${TEST_SCRIPT} --request-per-second 15 --write="${RESULT_DIR}/data_15.json" --write-html="${RESULT_DIR}/data_15.html" ${SCENARIO_RBAC} -python3 ${TEST_SCRIPT} --request-per-second 10 --write="${RESULT_DIR}/data_10.json" --write-html="${RESULT_DIR}/data_10.html" ${SCENARIO_RBAC} -python3 ${TEST_SCRIPT} --request-per-second 20 --write="${RESULT_DIR}/data_20.json" --write-html="${RESULT_DIR}/data_20.html" ${SCENARIO_RBAC} -python3 ${TEST_SCRIPT} --request-per-second 25 --write="${RESULT_DIR}/data_25.json" --write-html="${RESULT_DIR}/data_25.html" ${SCENARIO_RBAC} +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC050} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_50_01.json" --write-html="${RESULT_DIR}/data_rbac_50_01.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_50_02.json" --write-html="${RESULT_DIR}/data_rbac_50_02.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_50_03.json" --write-html="${RESULT_DIR}/data_rbac_50_03.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_50_04.json" --write-html="${RESULT_DIR}/data_rbac_50_04.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_50_05.json" --write-html="${RESULT_DIR}/data_rbac_50_05.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_50_06.json" --write-html="${RESULT_DIR}/data_rbac_50_06.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_50_07.json" --write-html="${RESULT_DIR}/data_rbac_50_07.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_50_08.json" --write-html="${RESULT_DIR}/data_rbac_50_08.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_50_09.json" --write-html="${RESULT_DIR}/data_rbac_50_09.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_50_10.json" --write-html="${RESULT_DIR}/data_rbac_50_10.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_50_11.json" --write-html="${RESULT_DIR}/data_rbac_50_11.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_50_12.json" --write-html="${RESULT_DIR}/data_rbac_50_12.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_50_13.json" --write-html="${RESULT_DIR}/data_rbac_50_13.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_50_14.json" --write-html="${RESULT_DIR}/data_rbac_50_14.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_50_15.json" --write-html="${RESULT_DIR}/data_rbac_50_15.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_50_16.json" --write-html="${RESULT_DIR}/data_rbac_50_16.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_50_17.json" --write-html="${RESULT_DIR}/data_rbac_50_17.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_50_18.json" --write-html="${RESULT_DIR}/data_rbac_50_18.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_50_19.json" --write-html="${RESULT_DIR}/data_rbac_50_19.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_50_20.json" --write-html="${RESULT_DIR}/data_rbac_50_20.html" ${SCENARIO_RBAC050} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC100} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_100_01.json" --write-html="${RESULT_DIR}/data_rbac_100_01.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_100_02.json" --write-html="${RESULT_DIR}/data_rbac_100_02.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_100_03.json" --write-html="${RESULT_DIR}/data_rbac_100_03.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_100_04.json" --write-html="${RESULT_DIR}/data_rbac_100_04.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_100_05.json" --write-html="${RESULT_DIR}/data_rbac_100_05.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_100_06.json" --write-html="${RESULT_DIR}/data_rbac_100_06.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_100_07.json" --write-html="${RESULT_DIR}/data_rbac_100_07.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_100_08.json" --write-html="${RESULT_DIR}/data_rbac_100_08.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_100_09.json" --write-html="${RESULT_DIR}/data_rbac_100_09.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_100_10.json" --write-html="${RESULT_DIR}/data_rbac_100_10.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_100_11.json" --write-html="${RESULT_DIR}/data_rbac_100_11.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_100_12.json" --write-html="${RESULT_DIR}/data_rbac_100_12.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_100_13.json" --write-html="${RESULT_DIR}/data_rbac_100_13.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_100_14.json" --write-html="${RESULT_DIR}/data_rbac_100_14.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_100_15.json" --write-html="${RESULT_DIR}/data_rbac_100_15.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_100_16.json" --write-html="${RESULT_DIR}/data_rbac_100_16.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_100_17.json" --write-html="${RESULT_DIR}/data_rbac_100_17.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_100_18.json" --write-html="${RESULT_DIR}/data_rbac_100_18.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_100_19.json" --write-html="${RESULT_DIR}/data_rbac_100_19.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_100_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC100} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC150} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_150_01.json" --write-html="${RESULT_DIR}/data_rbac_150_01.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_150_02.json" --write-html="${RESULT_DIR}/data_rbac_150_02.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_150_03.json" --write-html="${RESULT_DIR}/data_rbac_150_03.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_150_04.json" --write-html="${RESULT_DIR}/data_rbac_150_04.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_150_05.json" --write-html="${RESULT_DIR}/data_rbac_150_05.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_150_06.json" --write-html="${RESULT_DIR}/data_rbac_150_06.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_150_07.json" --write-html="${RESULT_DIR}/data_rbac_150_07.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_150_08.json" --write-html="${RESULT_DIR}/data_rbac_150_08.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_150_09.json" --write-html="${RESULT_DIR}/data_rbac_150_09.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_150_10.json" --write-html="${RESULT_DIR}/data_rbac_150_10.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_150_11.json" --write-html="${RESULT_DIR}/data_rbac_150_11.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_150_12.json" --write-html="${RESULT_DIR}/data_rbac_150_12.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_150_13.json" --write-html="${RESULT_DIR}/data_rbac_150_13.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_150_14.json" --write-html="${RESULT_DIR}/data_rbac_150_14.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_150_15.json" --write-html="${RESULT_DIR}/data_rbac_150_15.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_150_16.json" --write-html="${RESULT_DIR}/data_rbac_150_16.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_150_17.json" --write-html="${RESULT_DIR}/data_rbac_150_17.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_150_18.json" --write-html="${RESULT_DIR}/data_rbac_150_18.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_150_19.json" --write-html="${RESULT_DIR}/data_rbac_150_19.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_150_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC150} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC200} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_200_01.json" --write-html="${RESULT_DIR}/data_rbac_200_01.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_200_02.json" --write-html="${RESULT_DIR}/data_rbac_200_02.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_200_03.json" --write-html="${RESULT_DIR}/data_rbac_200_03.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_200_04.json" --write-html="${RESULT_DIR}/data_rbac_200_04.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_200_05.json" --write-html="${RESULT_DIR}/data_rbac_200_05.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_200_06.json" --write-html="${RESULT_DIR}/data_rbac_200_06.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_200_07.json" --write-html="${RESULT_DIR}/data_rbac_200_07.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_200_08.json" --write-html="${RESULT_DIR}/data_rbac_200_08.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_200_09.json" --write-html="${RESULT_DIR}/data_rbac_200_09.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_200_10.json" --write-html="${RESULT_DIR}/data_rbac_200_10.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_200_11.json" --write-html="${RESULT_DIR}/data_rbac_200_11.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_200_12.json" --write-html="${RESULT_DIR}/data_rbac_200_12.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_200_13.json" --write-html="${RESULT_DIR}/data_rbac_200_13.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_200_14.json" --write-html="${RESULT_DIR}/data_rbac_200_14.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_200_15.json" --write-html="${RESULT_DIR}/data_rbac_200_15.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_200_16.json" --write-html="${RESULT_DIR}/data_rbac_200_16.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_200_17.json" --write-html="${RESULT_DIR}/data_rbac_200_17.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_200_18.json" --write-html="${RESULT_DIR}/data_rbac_200_18.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_200_19.json" --write-html="${RESULT_DIR}/data_rbac_200_19.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_200_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC200} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC250} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_250_01.json" --write-html="${RESULT_DIR}/data_rbac_250_01.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_250_02.json" --write-html="${RESULT_DIR}/data_rbac_250_02.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_250_03.json" --write-html="${RESULT_DIR}/data_rbac_250_03.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_250_04.json" --write-html="${RESULT_DIR}/data_rbac_250_04.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_250_05.json" --write-html="${RESULT_DIR}/data_rbac_250_05.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_250_06.json" --write-html="${RESULT_DIR}/data_rbac_250_06.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_250_07.json" --write-html="${RESULT_DIR}/data_rbac_250_07.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_250_08.json" --write-html="${RESULT_DIR}/data_rbac_250_08.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_250_09.json" --write-html="${RESULT_DIR}/data_rbac_250_09.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_250_10.json" --write-html="${RESULT_DIR}/data_rbac_250_10.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_250_11.json" --write-html="${RESULT_DIR}/data_rbac_250_11.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_250_12.json" --write-html="${RESULT_DIR}/data_rbac_250_12.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_250_13.json" --write-html="${RESULT_DIR}/data_rbac_250_13.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_250_14.json" --write-html="${RESULT_DIR}/data_rbac_250_14.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_250_15.json" --write-html="${RESULT_DIR}/data_rbac_250_15.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_250_16.json" --write-html="${RESULT_DIR}/data_rbac_250_16.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_250_17.json" --write-html="${RESULT_DIR}/data_rbac_250_17.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_250_18.json" --write-html="${RESULT_DIR}/data_rbac_250_18.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_250_19.json" --write-html="${RESULT_DIR}/data_rbac_250_19.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_250_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC250} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC300} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_300_01.json" --write-html="${RESULT_DIR}/data_rbac_300_01.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_300_02.json" --write-html="${RESULT_DIR}/data_rbac_300_02.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_300_03.json" --write-html="${RESULT_DIR}/data_rbac_300_03.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_300_04.json" --write-html="${RESULT_DIR}/data_rbac_300_04.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_300_05.json" --write-html="${RESULT_DIR}/data_rbac_300_05.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_300_06.json" --write-html="${RESULT_DIR}/data_rbac_300_06.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_300_07.json" --write-html="${RESULT_DIR}/data_rbac_300_07.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_300_08.json" --write-html="${RESULT_DIR}/data_rbac_300_08.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_300_09.json" --write-html="${RESULT_DIR}/data_rbac_300_09.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_300_10.json" --write-html="${RESULT_DIR}/data_rbac_300_10.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_300_11.json" --write-html="${RESULT_DIR}/data_rbac_300_11.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_300_12.json" --write-html="${RESULT_DIR}/data_rbac_300_12.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_300_13.json" --write-html="${RESULT_DIR}/data_rbac_300_13.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_300_14.json" --write-html="${RESULT_DIR}/data_rbac_300_14.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_300_15.json" --write-html="${RESULT_DIR}/data_rbac_300_15.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_300_16.json" --write-html="${RESULT_DIR}/data_rbac_300_16.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_300_17.json" --write-html="${RESULT_DIR}/data_rbac_300_17.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_300_18.json" --write-html="${RESULT_DIR}/data_rbac_300_18.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_300_19.json" --write-html="${RESULT_DIR}/data_rbac_300_19.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_300_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC300} +# diff --git a/moonv4/tests/01_smpolicy_average_latency/exec2.sh b/moonv4/tests/01_smpolicy_average_latency/exec2.sh new file mode 100644 index 00000000..7c17f53a --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/exec2.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +HOST= + +TEST_SCRIPT="${MOON_HOME}/moon_interface/tests/apitests/set_authz.py" +POPULATE_SCRIPT=${MOON_HOME}/moon_interface/tests/apitests/populate_default_values.py + +if [ -n "$HOST" ]; then + RESULT_DIR=${MOON_HOME}/tests/01_smpolicy_average_latency/${HOST}/10 + ARGS="--host=${HOST} --limit=100 -t"; +else + RESULT_DIR=${MOON_HOME}/tests/01_smpolicy_average_latency/localhost/10 + ARGS="--limit=100 -t"; +fi +CPT="01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20" + +mkdir -p ${RESULT_DIR} 2>/dev/null +#mv ${RESULT_DIR}/docker_stats.rst ${RESULT_DIR}/docker_stats.rst.bak 2>/dev/null + +#for SC_INDEX in 01 02 03 04 05 06 07 08 09 10; +for SC_INDEX in 01; +do + SC=scenario/10/rbac_10_tenant_${SC_INDEX}.py + echo "Testing ${SC}" + FILE=${SC##*/} + FILE=${FILE%.py} + echo "Testing ${FILE}" >> ${RESULT_DIR}/docker_stats.rst + echo "===========================" >> ${RESULT_DIR}/docker_stats.rst + echo "" >> ${RESULT_DIR}/docker_stats.rst + python3 ${POPULATE_SCRIPT} ${SC} + for cpt in ${CPT}; + do + python3 ${TEST_SCRIPT} ${ARGS} --request-per-second ${cpt} --write="${RESULT_DIR}/data_${FILE}_$cpt.json" ${SC} + done + #if [ -n "$HOST" ]; then + # ssh $HOST docker stats --no-stream --format \"table {{.Name}},{{.CPUPerc}},{{.MemUsage}},{{.PIDs}}\" >> ${RESULT_DIR}/docker_stats.rst; + #else + # docker stats --no-stream --format "table {{.Name}},{{.CPUPerc}},{{.MemUsage}},{{.PIDs}}" >> ${RESULT_DIR}/docker_stats.rst; + #fi + #echo "" >> ${RESULT_DIR}/docker_stats.rst +done + diff --git a/moonv4/tests/01_smpolicy_average_latency/exec_varuna.sh b/moonv4/tests/01_smpolicy_average_latency/exec_varuna.sh new file mode 100644 index 00000000..f889f4d7 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/exec_varuna.sh @@ -0,0 +1,180 @@ +#!/usr/bin/env bash + +TEST_SCRIPT=${MOON_HOME}/moon_interface/tests/apitests/set_authz.py +POPULATE_SCRIPT=${MOON_HOME}/moon_interface/tests/apitests/populate_default_values.py +RESULT_DIR=${MOON_HOME}/tests/01_smpolicy_average_latency/varuna/ida/02 +HOST="--host=varuna" + +SCENARIO_RBAC010=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_10.py +SCENARIO_RBAC050=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_50.py +SCENARIO_RBAC100=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_100.py +SCENARIO_RBAC150=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_150.py +SCENARIO_RBAC200=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_200.py +SCENARIO_RBAC250=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_250.py +SCENARIO_RBAC300=${MOON_HOME}/tests/01_smpolicy_average_latency/rbac_300.py + +SCENARIO_SESSION=${MOON_HOME}/tests/01_smpolicy_average_latency/session.py + +mkdir -p ${RESULT_DIR} 2>/dev/null + +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC010} + +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_10_01.json" --write-html="${RESULT_DIR}/data_rbac_10_01.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_10_02.json" --write-html="${RESULT_DIR}/data_rbac_10_02.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_10_03.json" --write-html="${RESULT_DIR}/data_rbac_10_03.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_10_04.json" --write-html="${RESULT_DIR}/data_rbac_10_04.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_10_05.json" --write-html="${RESULT_DIR}/data_rbac_10_05.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_10_06.json" --write-html="${RESULT_DIR}/data_rbac_10_06.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_10_07.json" --write-html="${RESULT_DIR}/data_rbac_10_07.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_10_08.json" --write-html="${RESULT_DIR}/data_rbac_10_08.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_10_09.json" --write-html="${RESULT_DIR}/data_rbac_10_09.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_10_10.json" --write-html="${RESULT_DIR}/data_rbac_10_10.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_10_11.json" --write-html="${RESULT_DIR}/data_rbac_10_11.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_10_12.json" --write-html="${RESULT_DIR}/data_rbac_10_12.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_10_13.json" --write-html="${RESULT_DIR}/data_rbac_10_13.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_10_14.json" --write-html="${RESULT_DIR}/data_rbac_10_14.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_10_15.json" --write-html="${RESULT_DIR}/data_rbac_10_15.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_10_16.json" --write-html="${RESULT_DIR}/data_rbac_10_16.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_10_17.json" --write-html="${RESULT_DIR}/data_rbac_10_17.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_10_18.json" --write-html="${RESULT_DIR}/data_rbac_10_18.html" ${SCENARIO_RBAC010} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_10_19.json" --write-html="${RESULT_DIR}/data_rbac_10_19.html" ${SCENARIO_RBAC010} +python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_10_20.json" --write-html="${RESULT_DIR}/data_rbac_10_20.html" ${SCENARIO_RBAC010} + +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC050} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_50_01.json" --write-html="${RESULT_DIR}/data_rbac_50_01.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_50_02.json" --write-html="${RESULT_DIR}/data_rbac_50_02.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_50_03.json" --write-html="${RESULT_DIR}/data_rbac_50_03.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_50_04.json" --write-html="${RESULT_DIR}/data_rbac_50_04.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_50_05.json" --write-html="${RESULT_DIR}/data_rbac_50_05.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_50_06.json" --write-html="${RESULT_DIR}/data_rbac_50_06.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_50_07.json" --write-html="${RESULT_DIR}/data_rbac_50_07.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_50_08.json" --write-html="${RESULT_DIR}/data_rbac_50_08.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_50_09.json" --write-html="${RESULT_DIR}/data_rbac_50_09.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_50_10.json" --write-html="${RESULT_DIR}/data_rbac_50_10.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_50_11.json" --write-html="${RESULT_DIR}/data_rbac_50_11.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_50_12.json" --write-html="${RESULT_DIR}/data_rbac_50_12.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_50_13.json" --write-html="${RESULT_DIR}/data_rbac_50_13.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_50_14.json" --write-html="${RESULT_DIR}/data_rbac_50_14.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_50_15.json" --write-html="${RESULT_DIR}/data_rbac_50_15.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_50_16.json" --write-html="${RESULT_DIR}/data_rbac_50_16.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_50_17.json" --write-html="${RESULT_DIR}/data_rbac_50_17.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_50_18.json" --write-html="${RESULT_DIR}/data_rbac_50_18.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_50_19.json" --write-html="${RESULT_DIR}/data_rbac_50_19.html" ${SCENARIO_RBAC050} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_50_20.json" --write-html="${RESULT_DIR}/data_rbac_50_20.html" ${SCENARIO_RBAC050} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC100} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_100_01.json" --write-html="${RESULT_DIR}/data_rbac_100_01.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_100_02.json" --write-html="${RESULT_DIR}/data_rbac_100_02.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_100_03.json" --write-html="${RESULT_DIR}/data_rbac_100_03.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_100_04.json" --write-html="${RESULT_DIR}/data_rbac_100_04.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_100_05.json" --write-html="${RESULT_DIR}/data_rbac_100_05.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_100_06.json" --write-html="${RESULT_DIR}/data_rbac_100_06.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_100_07.json" --write-html="${RESULT_DIR}/data_rbac_100_07.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_100_08.json" --write-html="${RESULT_DIR}/data_rbac_100_08.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_100_09.json" --write-html="${RESULT_DIR}/data_rbac_100_09.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_100_10.json" --write-html="${RESULT_DIR}/data_rbac_100_10.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_100_11.json" --write-html="${RESULT_DIR}/data_rbac_100_11.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_100_12.json" --write-html="${RESULT_DIR}/data_rbac_100_12.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_100_13.json" --write-html="${RESULT_DIR}/data_rbac_100_13.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_100_14.json" --write-html="${RESULT_DIR}/data_rbac_100_14.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_100_15.json" --write-html="${RESULT_DIR}/data_rbac_100_15.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_100_16.json" --write-html="${RESULT_DIR}/data_rbac_100_16.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_100_17.json" --write-html="${RESULT_DIR}/data_rbac_100_17.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_100_18.json" --write-html="${RESULT_DIR}/data_rbac_100_18.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_100_19.json" --write-html="${RESULT_DIR}/data_rbac_100_19.html" ${SCENARIO_RBAC100} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_100_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC100} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC150} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_150_01.json" --write-html="${RESULT_DIR}/data_rbac_150_01.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_150_02.json" --write-html="${RESULT_DIR}/data_rbac_150_02.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_150_03.json" --write-html="${RESULT_DIR}/data_rbac_150_03.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_150_04.json" --write-html="${RESULT_DIR}/data_rbac_150_04.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_150_05.json" --write-html="${RESULT_DIR}/data_rbac_150_05.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_150_06.json" --write-html="${RESULT_DIR}/data_rbac_150_06.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_150_07.json" --write-html="${RESULT_DIR}/data_rbac_150_07.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_150_08.json" --write-html="${RESULT_DIR}/data_rbac_150_08.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_150_09.json" --write-html="${RESULT_DIR}/data_rbac_150_09.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_150_10.json" --write-html="${RESULT_DIR}/data_rbac_150_10.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_150_11.json" --write-html="${RESULT_DIR}/data_rbac_150_11.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_150_12.json" --write-html="${RESULT_DIR}/data_rbac_150_12.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_150_13.json" --write-html="${RESULT_DIR}/data_rbac_150_13.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_150_14.json" --write-html="${RESULT_DIR}/data_rbac_150_14.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_150_15.json" --write-html="${RESULT_DIR}/data_rbac_150_15.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_150_16.json" --write-html="${RESULT_DIR}/data_rbac_150_16.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_150_17.json" --write-html="${RESULT_DIR}/data_rbac_150_17.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_150_18.json" --write-html="${RESULT_DIR}/data_rbac_150_18.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_150_19.json" --write-html="${RESULT_DIR}/data_rbac_150_19.html" ${SCENARIO_RBAC150} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_150_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC150} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC200} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_200_01.json" --write-html="${RESULT_DIR}/data_rbac_200_01.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_200_02.json" --write-html="${RESULT_DIR}/data_rbac_200_02.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_200_03.json" --write-html="${RESULT_DIR}/data_rbac_200_03.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_200_04.json" --write-html="${RESULT_DIR}/data_rbac_200_04.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_200_05.json" --write-html="${RESULT_DIR}/data_rbac_200_05.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_200_06.json" --write-html="${RESULT_DIR}/data_rbac_200_06.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_200_07.json" --write-html="${RESULT_DIR}/data_rbac_200_07.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_200_08.json" --write-html="${RESULT_DIR}/data_rbac_200_08.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_200_09.json" --write-html="${RESULT_DIR}/data_rbac_200_09.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_200_10.json" --write-html="${RESULT_DIR}/data_rbac_200_10.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_200_11.json" --write-html="${RESULT_DIR}/data_rbac_200_11.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_200_12.json" --write-html="${RESULT_DIR}/data_rbac_200_12.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_200_13.json" --write-html="${RESULT_DIR}/data_rbac_200_13.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_200_14.json" --write-html="${RESULT_DIR}/data_rbac_200_14.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_200_15.json" --write-html="${RESULT_DIR}/data_rbac_200_15.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_200_16.json" --write-html="${RESULT_DIR}/data_rbac_200_16.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_200_17.json" --write-html="${RESULT_DIR}/data_rbac_200_17.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_200_18.json" --write-html="${RESULT_DIR}/data_rbac_200_18.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_200_19.json" --write-html="${RESULT_DIR}/data_rbac_200_19.html" ${SCENARIO_RBAC200} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_200_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC200} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC250} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_250_01.json" --write-html="${RESULT_DIR}/data_rbac_250_01.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_250_02.json" --write-html="${RESULT_DIR}/data_rbac_250_02.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_250_03.json" --write-html="${RESULT_DIR}/data_rbac_250_03.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_250_04.json" --write-html="${RESULT_DIR}/data_rbac_250_04.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_250_05.json" --write-html="${RESULT_DIR}/data_rbac_250_05.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_250_06.json" --write-html="${RESULT_DIR}/data_rbac_250_06.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_250_07.json" --write-html="${RESULT_DIR}/data_rbac_250_07.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_250_08.json" --write-html="${RESULT_DIR}/data_rbac_250_08.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_250_09.json" --write-html="${RESULT_DIR}/data_rbac_250_09.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_250_10.json" --write-html="${RESULT_DIR}/data_rbac_250_10.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_250_11.json" --write-html="${RESULT_DIR}/data_rbac_250_11.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_250_12.json" --write-html="${RESULT_DIR}/data_rbac_250_12.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_250_13.json" --write-html="${RESULT_DIR}/data_rbac_250_13.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_250_14.json" --write-html="${RESULT_DIR}/data_rbac_250_14.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_250_15.json" --write-html="${RESULT_DIR}/data_rbac_250_15.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_250_16.json" --write-html="${RESULT_DIR}/data_rbac_250_16.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_250_17.json" --write-html="${RESULT_DIR}/data_rbac_250_17.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_250_18.json" --write-html="${RESULT_DIR}/data_rbac_250_18.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_250_19.json" --write-html="${RESULT_DIR}/data_rbac_250_19.html" ${SCENARIO_RBAC250} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_250_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC250} +# +#python3 ${POPULATE_SCRIPT} ${SCENARIO_RBAC300} +# +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 1 --write="${RESULT_DIR}/data_rbac_300_01.json" --write-html="${RESULT_DIR}/data_rbac_300_01.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 2 --write="${RESULT_DIR}/data_rbac_300_02.json" --write-html="${RESULT_DIR}/data_rbac_300_02.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 3 --write="${RESULT_DIR}/data_rbac_300_03.json" --write-html="${RESULT_DIR}/data_rbac_300_03.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 4 --write="${RESULT_DIR}/data_rbac_300_04.json" --write-html="${RESULT_DIR}/data_rbac_300_04.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 5 --write="${RESULT_DIR}/data_rbac_300_05.json" --write-html="${RESULT_DIR}/data_rbac_300_05.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 6 --write="${RESULT_DIR}/data_rbac_300_06.json" --write-html="${RESULT_DIR}/data_rbac_300_06.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 7 --write="${RESULT_DIR}/data_rbac_300_07.json" --write-html="${RESULT_DIR}/data_rbac_300_07.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 8 --write="${RESULT_DIR}/data_rbac_300_08.json" --write-html="${RESULT_DIR}/data_rbac_300_08.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 9 --write="${RESULT_DIR}/data_rbac_300_09.json" --write-html="${RESULT_DIR}/data_rbac_300_09.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 10 --write="${RESULT_DIR}/data_rbac_300_10.json" --write-html="${RESULT_DIR}/data_rbac_300_10.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 11 --write="${RESULT_DIR}/data_rbac_300_11.json" --write-html="${RESULT_DIR}/data_rbac_300_11.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 12 --write="${RESULT_DIR}/data_rbac_300_12.json" --write-html="${RESULT_DIR}/data_rbac_300_12.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 13 --write="${RESULT_DIR}/data_rbac_300_13.json" --write-html="${RESULT_DIR}/data_rbac_300_13.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 14 --write="${RESULT_DIR}/data_rbac_300_14.json" --write-html="${RESULT_DIR}/data_rbac_300_14.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 15 --write="${RESULT_DIR}/data_rbac_300_15.json" --write-html="${RESULT_DIR}/data_rbac_300_15.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 16 --write="${RESULT_DIR}/data_rbac_300_16.json" --write-html="${RESULT_DIR}/data_rbac_300_16.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 17 --write="${RESULT_DIR}/data_rbac_300_17.json" --write-html="${RESULT_DIR}/data_rbac_300_17.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 18 --write="${RESULT_DIR}/data_rbac_300_18.json" --write-html="${RESULT_DIR}/data_rbac_300_18.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 19 --write="${RESULT_DIR}/data_rbac_300_19.json" --write-html="${RESULT_DIR}/data_rbac_300_19.html" ${SCENARIO_RBAC300} +#python3 ${TEST_SCRIPT} ${HOST} --request-per-second 20 --write="${RESULT_DIR}/data_rbac_300_20.json" --write-html="${RESULT_DIR}/data_rbac_100_20.html" ${SCENARIO_RBAC300} +# diff --git a/moonv4/tests/01_smpolicy_average_latency/rbac_10.py b/moonv4/tests/01_smpolicy_average_latency/rbac_10.py deleted file mode 100644 index ef5dd9b2..00000000 --- a/moonv4/tests/01_smpolicy_average_latency/rbac_10.py +++ /dev/null @@ -1,233 +0,0 @@ - -pdp_name = "pdp1" -policy_name = "RBAC policy example" -model_name = "RBAC" -policy_genre = "authz" - -subjects = { - "user0": "", - "user1": "", - "user2": "", - "user3": "", - "user4": "", - "user5": "", - "user6": "", - "user7": "", - "user8": "", - "user9": "", -} -objects = { - "vm0": "", - "vm1": "", - "vm2": "", - "vm3": "", - "vm4": "", - "vm5": "", - "vm6": "", - "vm7": "", - "vm8": "", - "vm9": "", -} -actions = { - "start": "", - "stop": "", - "pause": "", - "unpause": "", - "destroy": "", -} - -subject_categories = {"role": "", } -object_categories = {"id": "", } -action_categories = {"action-type": "", } - -subject_data = {"role": { - "admin": "", - "employee": "", - "dev1": "", - "dev2": "", - "*": "" -}} -object_data = {"id": { - "vm0": "", - "vm1": "", - "vm2": "", - "vm3": "", - "vm4": "", - "vm5": "", - "vm6": "", - "vm7": "", - "vm8": "", - "vm9": "", - "*": "" -}} -action_data = {"action-type": { - "vm-read": "", - "vm-write": "", - "*": "" -}} - -subject_assignments = { - "user0": ({"role": "employee"}, {"role": "*"}), - "user1": ({"role": "employee"}, {"role": "*"}), - "user2": ({"role": "dev1"}, {"role": "*"}), - "user3": ({"role": "dev1"}, {"role": "*"}), - "user4": ({"role": "dev1"}, {"role": "*"}), - "user5": ({"role": "dev1"}, {"role": "*"}), - "user6": ({"role": "dev2"}, {"role": "*"}), - "user7": ({"role": "dev2"}, {"role": "*"}), - "user8": ({"role": "dev2"}, {"role": "*"}), - "user9": ({"role": "dev2"}, {"role": "*"}), -} -object_assignments = { - "vm0": ({"id": "vm0"}, {"id": "*"}), - "vm1": ({"id": "vm1"}, {"id": "*"}), - "vm2": ({"id": "vm2"}, {"id": "*"}), - "vm3": ({"id": "vm3"}, {"id": "*"}), - "vm4": ({"id": "vm4"}, {"id": "*"}), - "vm5": ({"id": "vm5"}, {"id": "*"}), - "vm6": ({"id": "vm6"}, {"id": "*"}), - "vm7": ({"id": "vm7"}, {"id": "*"}), - "vm8": ({"id": "vm8"}, {"id": "*"}), - "vm9": ({"id": "vm9"}, {"id": "*"}), -} -action_assignments = { - "start": ({"action-type": "vm-write"}, {"action-type": "*"}), - "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), - "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), - "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), - "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), -} - -meta_rule = { - "rbac": {"id": "", "value": ("role", "id", "action-type")}, -} - -rules = { - "rbac": ( - { - "rule": ("admin", "vm0", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("admin", "vm0", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - # Rules for grant all employee to do read actions to all VM except vm0 - { - "rule": ("employee", "vm1", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm2", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm3", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm4", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm5", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm6", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm7", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm8", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("employee", "vm9", "vm-read"), - "instructions": ( - {"decision": "grant"}, - ) - }, - # Rules for grant all dev1 to do read actions to some VM - { - "rule": ("dev1", "vm1", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev1", "vm2", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev1", "vm3", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev1", "vm4", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - # Rules for grant all dev2 to do read actions to some VM - { - "rule": ("dev2", "vm5", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev2", "vm6", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev2", "vm7", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev2", "vm8", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - { - "rule": ("dev2", "vm9", "vm-write"), - "instructions": ( - {"decision": "grant"}, - ) - }, - ) -} - - diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_01.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_01.py new file mode 100644 index 00000000..b591b532 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_01.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp01" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_02.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_02.py new file mode 100644 index 00000000..4ca48d25 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_02.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp02" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_03.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_03.py new file mode 100644 index 00000000..eb424e79 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_03.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp03" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_04.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_04.py new file mode 100644 index 00000000..5fb860f5 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_04.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp04" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_05.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_05.py new file mode 100644 index 00000000..09947491 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_05.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp05" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_06.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_06.py new file mode 100644 index 00000000..a3f66c4f --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_06.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp06" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_07.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_07.py new file mode 100644 index 00000000..14d75d57 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_07.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp07" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_08.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_08.py new file mode 100644 index 00000000..a658bb0c --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_08.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp08" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_09.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_09.py new file mode 100644 index 00000000..96c3f61a --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_09.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp09" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_10.py b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_10.py new file mode 100644 index 00000000..bebdee23 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/10/rbac_10_tenant_10.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp10" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 10 +OBJECT_NUMBER = 10 +ROLE_NUMBER = 5 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_01.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_01.py new file mode 100644 index 00000000..4282d4d0 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_01.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp01" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_02.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_02.py new file mode 100644 index 00000000..e110dd5c --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_02.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp02" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_03.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_03.py new file mode 100644 index 00000000..dc2195e1 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_03.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp03" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_04.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_04.py new file mode 100644 index 00000000..6e3e86ce --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_04.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp04" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_05.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_05.py new file mode 100644 index 00000000..266e3bc0 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_05.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp05" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_06.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_06.py new file mode 100644 index 00000000..b1227932 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_06.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp06" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_07.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_07.py new file mode 100644 index 00000000..794331b6 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_07.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp07" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_08.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_08.py new file mode 100644 index 00000000..5eab408c --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_08.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp08" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_09.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_09.py new file mode 100644 index 00000000..2721c092 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_09.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp09" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_10.py b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_10.py new file mode 100644 index 00000000..bcad20f7 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/100/rbac_100_tenant_10.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp10" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 100 +OBJECT_NUMBER = 100 +ROLE_NUMBER = 20 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_01.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_01.py new file mode 100644 index 00000000..9917a970 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_01.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp01" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_02.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_02.py new file mode 100644 index 00000000..9b040abd --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_02.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp02" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_03.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_03.py new file mode 100644 index 00000000..4d15a6ee --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_03.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp03" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_04.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_04.py new file mode 100644 index 00000000..b5fba2f0 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_04.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp04" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_05.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_05.py new file mode 100644 index 00000000..f0f21cfe --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_05.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp05" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_06.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_06.py new file mode 100644 index 00000000..7ab5ecc0 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_06.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp06" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_07.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_07.py new file mode 100644 index 00000000..53dcb5fc --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_07.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp07" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_08.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_08.py new file mode 100644 index 00000000..4d70e179 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_08.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp08" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_09.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_09.py new file mode 100644 index 00000000..5ece9e9d --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_09.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp09" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) diff --git a/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_10.py b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_10.py new file mode 100644 index 00000000..9914e565 --- /dev/null +++ b/moonv4/tests/01_smpolicy_average_latency/scenario/50/rbac_50_tenant_10.py @@ -0,0 +1,89 @@ +import random + +pdp_name = "pdp10" +policy_name = "RBAC policy example" +model_name = "RBAC" +policy_genre = "authz" + +SUBJECT_NUMBER = 50 +OBJECT_NUMBER = 50 +ROLE_NUMBER = 10 + +subjects = {} +for _id in range(SUBJECT_NUMBER): + subjects["user{}".format(_id)] = "" +objects = {} +for _id in range(OBJECT_NUMBER): + objects["vm{}".format(_id)] = "" +actions = { + "start": "", + "stop": "", + "pause": "", + "unpause": "", + "destroy": "", +} + +subject_categories = {"role": "", } +object_categories = {"id": "", } +action_categories = {"action-type": "", } + +subject_data = {"role": {"admin": "", "*": ""}} +for _id in range(ROLE_NUMBER): + subject_data["role"]["role{}".format(_id)] = "" +object_data = {"id": {"*": ""}} +for _id in range(OBJECT_NUMBER): + object_data["id"]["vm{}".format(_id)] = "" +action_data = {"action-type": { + "vm-read": "", + "vm-write": "", + "*": "" +}} + +subject_assignments = {} +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + subject_assignments["user{}".format(_id)] = [{"role": _role}, {"role": "*"}] +object_assignments = {"vm0": ({"id": "vm0"}, {"id": "*"}), "vm1": ({"id": "vm1"}, {"id": "*"})} +for _id in range(OBJECT_NUMBER): + object_assignments["vm{}".format(_id)] = [{"id": "vm{}".format(_id)}, {"id": "*"}] +action_assignments = { + "start": ({"action-type": "vm-write"}, {"action-type": "*"}), + "stop": ({"action-type": "vm-write"}, {"action-type": "*"}), + "pause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}), + "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}), +} + +meta_rule = { + "rbac": {"id": "", "value": ("role", "id", "action-type")}, +} + +rules = { + "rbac": [ + { + "rule": ("admin", "vm0", "vm-read"), + "instructions": ( + {"decision": "grant"}, + ) + }, + { + "rule": ("admin", "vm0", "vm-write"), + "instructions": ( + {"decision": "grant"}, + ) + }, + ] +} + +for _id in range(SUBJECT_NUMBER): + _role = "role{}".format(random.randrange(ROLE_NUMBER)) + _vm = "vm{}".format(random.randrange(OBJECT_NUMBER)) + _action = random.choice(list(action_data['action-type'].keys())) + rules["rbac"].append( + { + "rule": (_role, _vm, _action), + "instructions": ( + {"decision": "grant"}, + ) + }, + ) -- cgit 1.2.3-korg