@@ -148,8 +148,7 @@ init_scheduler() {
148148}
149149
150150# Default VM resources when not specified in launch_vm
151- DEFAULT_VM_VCPUS=2
152- DEFAULT_VM_MEMORY=4096
151+ # DEFAULT_VM_VCPUS, DEFAULT_VM_MEMORY, DEFAULT_VM_DISKSIZE defined in common.sh
153152
154153parse_static_scenario_resources () {
155154 local scenario_script=" $1 "
@@ -344,7 +343,18 @@ get_scenario_requirements() {
344343 (
345344 source " ${scenario_script} "
346345 if type dynamic_schedule_requirements & > /dev/null; then
346+ # Get explicit requirements from function
347347 dynamic_schedule_requirements > " ${output_file} "
348+
349+ # Fill in missing values from SCENARIO_* variables or defaults
350+ # This allows scenarios to define SCENARIO_VCPUS=4 and have it picked up
351+ # without needing to echo it in dynamic_schedule_requirements()
352+ grep -q " ^min_vcpus=" " ${output_file} " || echo " min_vcpus=${SCENARIO_VCPUS:- ${DEFAULT_VM_VCPUS} } " >> " ${output_file} "
353+ grep -q " ^min_memory=" " ${output_file} " || echo " min_memory=${SCENARIO_MEMORY:- ${DEFAULT_VM_MEMORY} } " >> " ${output_file} "
354+ grep -q " ^min_disksize=" " ${output_file} " || echo " min_disksize=${SCENARIO_DISKSIZE:- ${DEFAULT_VM_DISKSIZE} } " >> " ${output_file} "
355+ grep -q " ^networks=" " ${output_file} " || echo " networks=${SCENARIO_NETWORKS:- } " >> " ${output_file} "
356+ grep -q " ^fips=" " ${output_file} " || echo " fips=${SCENARIO_FIPS:- false} " >> " ${output_file} "
357+ grep -q " ^boot_image=" " ${output_file} " || echo " boot_image=${start_image:- } " >> " ${output_file} "
348358 else
349359 # This shouldn't happen if scenario_is_dynamic was checked first
350360 echo " ERROR: dynamic_schedule_requirements not found" >&2
@@ -413,21 +423,21 @@ vm_satisfies_requirements() {
413423 local vm_state=" ${VM_REGISTRY} /${vm_name} /state"
414424 [ -f " ${vm_state} " ] || return 1
415425
416- # Get VM capabilities
426+ # Get VM capabilities (defaults from common.sh)
417427 local vm_vcpus vm_memory vm_disksize vm_networks vm_fips vm_boot_image
418- vm_vcpus=$( get_req_value " ${vm_state} " " vcpus" " 2 " )
419- vm_memory=$( get_req_value " ${vm_state} " " memory" " 4096 " )
420- vm_disksize=$( get_req_value " ${vm_state} " " disksize" " 20 " )
421- vm_networks=$( get_req_value " ${vm_state} " " networks" " default " )
428+ vm_vcpus=$( get_req_value " ${vm_state} " " vcpus" " ${DEFAULT_VM_VCPUS} " )
429+ vm_memory=$( get_req_value " ${vm_state} " " memory" " ${DEFAULT_VM_MEMORY} " )
430+ vm_disksize=$( get_req_value " ${vm_state} " " disksize" " ${DEFAULT_VM_DISKSIZE} " )
431+ vm_networks=$( get_req_value " ${vm_state} " " networks" " ${DEFAULT_VM_NETWORK} " )
422432 vm_fips=$( get_req_value " ${vm_state} " " fips" " false" )
423433 vm_boot_image=$( get_req_value " ${vm_state} " " boot_image" " " )
424434
425- # Get scenario requirements
435+ # Get scenario requirements (defaults from common.sh)
426436 local req_vcpus req_memory req_disksize req_networks req_fips req_boot_image
427437 req_vcpus=$( get_req_value " ${scenario_reqs} " " min_vcpus" " ${DEFAULT_VM_VCPUS} " )
428438 req_memory=$( get_req_value " ${scenario_reqs} " " min_memory" " ${DEFAULT_VM_MEMORY} " )
429- req_disksize=$( get_req_value " ${scenario_reqs} " " min_disksize" " 20 " )
430- req_networks=$( get_req_value " ${scenario_reqs} " " networks" " default " )
439+ req_disksize=$( get_req_value " ${scenario_reqs} " " min_disksize" " ${DEFAULT_VM_DISKSIZE} " )
440+ req_networks=$( get_req_value " ${scenario_reqs} " " networks" " ${DEFAULT_VM_NETWORK} " )
431441 req_fips=$( get_req_value " ${scenario_reqs} " " fips" " false" )
432442 req_boot_image=$( get_req_value " ${scenario_reqs} " " boot_image" " " )
433443
@@ -525,12 +535,12 @@ register_vm() {
525535 # Copy requirements as VM state with status
526536 cp " ${scenario_reqs} " " ${vm_dir} /state"
527537
528- # Add vcpus/memory/disksize from min_* values and set status
538+ # Add vcpus/memory/disksize from min_* values and set status (defaults from common.sh)
529539 local vcpus memory disksize networks fips boot_image
530540 vcpus=$( get_req_value " ${scenario_reqs} " " min_vcpus" " ${DEFAULT_VM_VCPUS} " )
531541 memory=$( get_req_value " ${scenario_reqs} " " min_memory" " ${DEFAULT_VM_MEMORY} " )
532- disksize=$( get_req_value " ${scenario_reqs} " " min_disksize" " 20 " )
533- networks=$( get_req_value " ${scenario_reqs} " " networks" " default " )
542+ disksize=$( get_req_value " ${scenario_reqs} " " min_disksize" " ${DEFAULT_VM_DISKSIZE} " )
543+ networks=$( get_req_value " ${scenario_reqs} " " networks" " ${DEFAULT_VM_NETWORK} " )
534544 fips=$( get_req_value " ${scenario_reqs} " " fips" " false" )
535545 boot_image=$( get_req_value " ${scenario_reqs} " " boot_image" " " )
536546
0 commit comments