Skip to content

Commit

Permalink
testsuite: update existing tests, add checks for update under rv1exec
Browse files Browse the repository at this point in the history
Problem: the current tests for reloading Fluxion with rv1exec fail due
to lack of update support. Now that the support is added, we need tests
for correct behavior.

Add new tests to check for ability to reload Fluxion and update a
resource graph with rv1exec. Update existing tests to use the
additional option required by resource-query for update.
  • Loading branch information
milroy committed Apr 15, 2024
1 parent ab645ac commit a025bcb
Show file tree
Hide file tree
Showing 6 changed files with 154 additions and 60 deletions.
21 changes: 21 additions & 0 deletions t/data/resource/jobspecs/update/test007.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
version: 9999
resources:
- type: node
count: 1
with:
- type: slot
count: 1
label: default
with:
- type: core
count: 1
# a comment
attributes:
system:
duration: 3600
tasks:
- command: [ "app" ]
slot: default
count:
per_slot: 1

23 changes: 23 additions & 0 deletions t/data/resource/jobspecs/update/test008.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: 9999
resources:
- type: node
count: 1
with:
- type: slot
count: 1
label: default
with:
- type: core
count: 1
- type: gpu
count: 1
# a comment
attributes:
system:
duration: 3600
tasks:
- command: [ "app" ]
slot: default
count:
per_slot: 1

1 change: 1 addition & 0 deletions t/data/resource/rv1exec/tiny_rv1exec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"version": 1, "execution": {"R_lite": [{"rank": "0-1", "children": {"core": "0-15", "gpu": "0-3"}}], "nodelist": ["node[0-1]"], "starttime": 0, "expiration": 1000000}}
2 changes: 1 addition & 1 deletion t/t1007-recovery-full.t
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ test_expect_success 'recovery: a cancel leads to a job schedule (rv1_nosched)' '
'

# flux-framework/flux-sched#991
test_expect_failure 'recovery: both modules restart (rv1_nosched->rv1_nosched)' '
test_expect_success 'recovery: both modules restart (rv1_nosched->rv1_nosched)' '
reload_resource match-format=rv1_nosched policy=high &&
reload_qmanager &&
flux module stats sched-fluxion-qmanager &&
Expand Down
155 changes: 102 additions & 53 deletions t/t3022-resource-update.t
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ unit_job="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test001.yaml"
job2="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test002.yaml"
job3="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test003.yaml"
job4="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test004.yaml"
job5="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test007.yaml"
job5="${SHARNESS_TEST_SRCDIR}/data/resource/jobspecs/update/test008.yaml"
grugs="${SHARNESS_TEST_SRCDIR}/data/resource/grugs/tiny.graphml"
rv1exec_graph="${SHARNESS_TEST_SRCDIR}/data/resource/rv1exec/tiny_rv1exec.json"
query="../../resource/utilities/resource-query"

test001_desc="match-allocate/update-allocate result in same output"
Expand All @@ -24,10 +27,10 @@ EOF
cat 001.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds001_ &&
cat >upd_cmds001 <<-EOF &&
update allocate cmds001_aa.json 1 0 3600
update allocate cmds001_ab.json 2 0 3600
update allocate cmds001_ac.json 3 0 3600
update allocate cmds001_ad.json 4 0 3600
update allocate jgf cmds001_aa.json 1 0 3600
update allocate jgf cmds001_ab.json 2 0 3600
update allocate jgf cmds001_ac.json 3 0 3600
update allocate jgf cmds001_ad.json 4 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 001.R.out2 < upd_cmds001 &&
Expand All @@ -47,9 +50,9 @@ EOF
cat 002.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds002_ &&
cat >upd_cmds002 <<-EOF &&
update allocate cmds002_aa.json 1 0 3600
update allocate jgf cmds002_aa.json 1 0 3600
match allocate ${unit_job}
update allocate cmds002_ac.json 3 0 3600
update allocate jgf cmds002_ac.json 3 0 3600
match allocate ${unit_job}
quit
EOF
Expand All @@ -76,16 +79,16 @@ EOF
cat 003.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds003_ &&
cat >upd_cmds003 <<-EOF &&
update allocate cmds003_aa.json 1 0 3600
update allocate cmds003_ab.json 2 0 3600
update allocate cmds003_ac.json 3 0 3600
update allocate cmds003_ad.json 4 0 3600
update reserve cmds003_ae.json 5 3600 3600
update reserve cmds003_af.json 6 3600 3600
update reserve cmds003_ag.json 7 3600 3600
update reserve cmds003_ah.json 8 3600 3600
update reserve cmds003_ai.json 9 7200 3600
update reserve cmds003_aj.json 10 7200 3600
update allocate jgf cmds003_aa.json 1 0 3600
update allocate jgf cmds003_ab.json 2 0 3600
update allocate jgf cmds003_ac.json 3 0 3600
update allocate jgf cmds003_ad.json 4 0 3600
update reserve jgf cmds003_ae.json 5 3600 3600
update reserve jgf cmds003_af.json 6 3600 3600
update reserve jgf cmds003_ag.json 7 3600 3600
update reserve jgf cmds003_ah.json 8 3600 3600
update reserve jgf cmds003_ai.json 9 7200 3600
update reserve jgf cmds003_aj.json 10 7200 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 003.R.out2 < upd_cmds003 &&
Expand All @@ -111,16 +114,16 @@ EOF
cat 004.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds004_ &&
cat >upd_cmds004 <<-EOF &&
update allocate cmds004_aa.json 1 0 3600
update allocate cmds004_ab.json 2 0 3600
update allocate cmds004_ac.json 3 0 3600
update allocate jgf cmds004_aa.json 1 0 3600
update allocate jgf cmds004_ab.json 2 0 3600
update allocate jgf cmds004_ac.json 3 0 3600
match allocate_orelse_reserve ${unit_job}
update reserve cmds004_ae.json 5 3600 3600
update reserve cmds004_af.json 6 3600 3600
update reserve jgf cmds004_ae.json 5 3600 3600
update reserve jgf cmds004_af.json 6 3600 3600
match allocate_orelse_reserve ${unit_job}
update reserve cmds004_ah.json 8 3600 3600
update reserve jgf cmds004_ah.json 8 3600 3600
match allocate_orelse_reserve ${unit_job}
update reserve cmds004_aj.json 10 7200 3600
update reserve jgf cmds004_aj.json 10 7200 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 004.R.out2 < upd_cmds004 &&
Expand Down Expand Up @@ -148,18 +151,18 @@ EOF
cat 005.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds005_ &&
cat >upd_cmds005 <<-EOF &&
update allocate cmds005_aa.json 1 0 3600
update allocate cmds005_ab.json 2 0 3600
update allocate cmds005_ac.json 3 0 3600
update allocate cmds005_ad.json 4 0 3600
update reserve cmds005_ae.json 5 3600 3600
update allocate jgf cmds005_aa.json 1 0 3600
update allocate jgf cmds005_ab.json 2 0 3600
update allocate jgf cmds005_ac.json 3 0 3600
update allocate jgf cmds005_ad.json 4 0 3600
update reserve jgf cmds005_ae.json 5 3600 3600
cancel 4
update reserve cmds005_af.json 6 0 3600
update reserve cmds005_ag.json 7 3600 3600
update reserve cmds005_ah.json 8 3600 3600
update reserve jgf cmds005_af.json 6 0 3600
update reserve jgf cmds005_ag.json 7 3600 3600
update reserve jgf cmds005_ah.json 8 3600 3600
cancel 6
update reserve cmds005_ai.json 9 0 3600
update reserve cmds005_aj.json 10 3600 3600
update reserve jgf cmds005_ai.json 9 0 3600
update reserve jgf cmds005_aj.json 10 3600 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 005.R.out2 < upd_cmds005 &&
Expand Down Expand Up @@ -187,10 +190,10 @@ split -l 1 --additional-suffix=".json" - cmds006_ &&
match allocate ${unit_job}
match allocate ${unit_job}
match allocate ${unit_job}
update allocate cmds006_aa.json 1 0 3600
update allocate cmds006_ab.json 2 0 3600
update allocate cmds006_ac.json 3 0 3600
update allocate cmds006_ad.json 4 0 3600
update allocate jgf cmds006_aa.json 1 0 3600
update allocate jgf cmds006_ab.json 2 0 3600
update allocate jgf cmds006_ac.json 3 0 3600
update allocate jgf cmds006_ad.json 4 0 3600
cancel 1
cancel 3
match allocate ${unit_job}
Expand Down Expand Up @@ -218,10 +221,10 @@ split -l 1 --additional-suffix=".json" - cmds007_ &&
match allocate ${unit_job}
match allocate ${unit_job}
match allocate ${unit_job}
update allocate cmds007_aa.json 5 0 3600
update allocate cmds007_ab.json 6 0 3600
update allocate cmds007_ac.json 7 0 3600
update allocate cmds007_ad.json 8 0 3600
update allocate jgf cmds007_aa.json 5 0 3600
update allocate jgf cmds007_ab.json 6 0 3600
update allocate jgf cmds007_ac.json 7 0 3600
update allocate jgf cmds007_ad.json 8 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 007.R.out2 < upd_cmds007 &&
Expand Down Expand Up @@ -251,7 +254,7 @@ EOF
split -l 1 --additional-suffix=".json" - cmds008_ &&
cat >upd_cmds008 <<-EOF &&
match allocate ${unit_job}
update allocate cmds008_aa.json 2 0 3600
update allocate jgf cmds008_aa.json 2 0 3600
match allocate ${unit_job}
match allocate ${unit_job}
match allocate ${unit_job}
Expand All @@ -262,7 +265,7 @@ EOF
cat 008.R.out2 | grep -v INFO > 008.R.out2.filtered &&
test_cmp 008.R.out2.filtered 008.R.out.filtered &&
cat >upd_cmds008.2 <<-EOF &&
update allocate cmds008_aa.json 1 0 3600
update allocate jgf cmds008_aa.json 1 0 3600
match allocate ${unit_job}
match allocate ${unit_job}
quit
Expand Down Expand Up @@ -296,10 +299,10 @@ EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 009.2.R.out < cmds009.2 &&
cat >upd_cmds009 <<-EOF &&
match allocate ${job3}
update allocate cmds009_aa.json 2 0 3600
update allocate cmds009_ab.json 3 0 3600
update allocate cmds009_ac.json 4 0 3600
update allocate cmds009_ad.json 5 0 3600
update allocate jgf cmds009_aa.json 2 0 3600
update allocate jgf cmds009_ab.json 3 0 3600
update allocate jgf cmds009_ac.json 4 0 3600
update allocate jgf cmds009_ad.json 5 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 009.R.out2 < upd_cmds009 &&
Expand All @@ -319,8 +322,8 @@ EOF
cat 010.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds010_ &&
cat >upd_cmds010 <<-EOF &&
update allocate cmds010_aa.json 1 0 3600
update allocate cmds010_ab.json 2 0 3600
update allocate jgf cmds010_aa.json 1 0 3600
update allocate jgf cmds010_ab.json 2 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 010.R.out2 < upd_cmds010 &&
Expand All @@ -340,15 +343,61 @@ EOF
cat 011.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds011_ &&
cat >upd_cmds011 <<-EOF &&
update allocate cmds001_aa.json 1 0 3600
update allocate cmds001_ab.json 2 0 3600
update allocate cmds001_ac.json 3 0 3600
update allocate cmds001_ad.json 4 0 3600
update allocate jgf cmds001_aa.json 1 0 3600
update allocate jgf cmds001_ab.json 2 0 3600
update allocate jgf cmds001_ac.json 3 0 3600
update allocate jgf cmds001_ad.json 4 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F rv1 -t 011.R.out2 < upd_cmds011 &&
test_cmp 011.R.out2 011.R.out
'

test012_desc="match-allocate/update-allocate result in same output for rv1exec"
test_expect_success "${test001_desc}" '
cat >cmds012 <<-EOF &&
match allocate ${job5}
match allocate ${job5}
match allocate ${job5}
match allocate ${job5}
quit
EOF
${query} -L ${rv1exec_graph} -f rv1exec -S CA -P high -F rv1_nosched -t 012.R.out < cmds012 &&
cat 012.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds012_ &&
cat >upd_cmds012 <<-EOF &&
update allocate rv1exec cmds012_aa.json 1 0 3600
update allocate rv1exec cmds012_ab.json 2 0 3600
update allocate rv1exec cmds012_ac.json 3 0 3600
update allocate rv1exec cmds012_ad.json 4 0 3600
quit
EOF
${query} -L ${rv1exec_graph} -f rv1exec -S CA -P high -F rv1_nosched -t 012.R.out2 < upd_cmds012 &&
test_cmp 012.R.out2 012.R.out
'

test013_desc="match-allocate/update-allocate result in same output for rv1exec with gpus"
test_expect_success "${test001_desc}" '
cat >cmds013 <<-EOF &&
match allocate ${job6}
match allocate ${job6}
match allocate ${job6}
match allocate ${job6}
quit
EOF
${query} -L ${rv1exec_graph} -f rv1exec -S CA -P high -F rv1_nosched -t 013.R.out < cmds013 &&
cat 013.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds013_ &&
cat >upd_cmds013 <<-EOF &&
update allocate rv1exec cmds013_aa.json 1 0 3600
update allocate rv1exec cmds013_ab.json 2 0 3600
update allocate rv1exec cmds013_ac.json 3 0 3600
update allocate rv1exec cmds013_ad.json 4 0 3600
quit
EOF
${query} -L ${rv1exec_graph} -f rv1exec -S CA -P high -F rv1_nosched -t 013.R.out2 < upd_cmds013 &&
test_cmp 013.R.out2 013.R.out
'

test_done

12 changes: 6 additions & 6 deletions t/t3023-resource-update2.t
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ EOF
cat 001.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds001_ &&
cat >upd_cmds001 <<-EOF &&
update allocate cmds001_aa.json 1 0 3600
update allocate cmds001_ab.json 2 0 3600
update allocate jgf cmds001_aa.json 1 0 3600
update allocate jgf cmds001_ab.json 2 0 3600
quit
EOF
${query} -L ${grugs} -S CA -P high -F jgf -t 001.R.out2 < upd_cmds001 &&
Expand All @@ -41,8 +41,8 @@ EOF
cat 002.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds002_ &&
cat >upd_cmds002 <<-EOF &&
update allocate cmds002_aa.json 1 0 3600
update allocate cmds002_ab.json 2 0 3600
update allocate jgf cmds002_aa.json 1 0 3600
update allocate jgf cmds002_ab.json 2 0 3600
quit
EOF
${query} -L ${grugs} -S PA -P high -F jgf -t 002.R.out2 < upd_cmds002 &&
Expand All @@ -60,7 +60,7 @@ EOF
cat 003.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds003_ &&
cat >upd_cmds003 <<-EOF &&
update allocate cmds003_aa.json 1 0 3600
update allocate jgf cmds003_aa.json 1 0 3600
match allocate ${job5}
match allocate ${job5}
quit
Expand All @@ -80,7 +80,7 @@ EOF
cat 004.R.out | grep -v INFO | \
split -l 1 --additional-suffix=".json" - cmds004_ &&
cat >upd_cmds004 <<-EOF &&
update allocate cmds004_aa.json 1 0 3600
update allocate jgf cmds004_aa.json 1 0 3600
match allocate ${job5}
match allocate ${job5}
cancel 1
Expand Down

0 comments on commit a025bcb

Please sign in to comment.