$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 1 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 1: > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Create a process on Jupiter > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO] Start daemon on Jupiter (76296000.000000) > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO] Execute deamon > [Jupiter:process_daemon:(2) 1.000000] [msg_test/INFO] Execute deamon > [Jupiter:process_daemon:(2) 2.000000] [msg_test/INFO] Execute deamon > [Tremblay:test_launcher:(1) 3.000000] [msg_test/INFO] Turn off Jupiter > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test 1 seems ok, cool !(number of Process : 1, it should be 1 (i.e. the Test one)) > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test done. See you! > [13.000000] [msg_test/INFO] Simulation time 13 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 2 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 2: > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Turn off Jupiter > [0.000000] [simix_process/WARNING] Cannot launch process 'process_daemon' on failed host 'Jupiter' > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test 2 does not crash, WTF ?!(number of Process : 1, it should be 1) > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Ok so let's turn on/off the node to see whether the process is correctly bound to Jupiter > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Turn off > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] sleep > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] number of Process : 1 it should be 1. The daemon that has been created for test2 has been correctly destroyed....ok at least it looks rigorous, cool ! You just have to disallow the possibility to create a new process on a node when the node is off.) > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you! > [20.000000] [msg_test/INFO] Simulation time 20 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 3 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 3: > [Jupiter:process_sleep:(2) 0.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 10.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 20.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 30.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 40.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 50.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 60.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 70.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 80.000000] [msg_test/INFO] I'm alive but I should sleep > [Jupiter:process_sleep:(2) 90.000000] [msg_test/INFO] I'm alive but I should sleep > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO] Turn off > [Jupiter:process_sleep:(2) 100.000000] [msg_test/INFO] I'm alive but I should sleep > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO] sleep for 10 seconds > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] number of Process : 1 it should be 1 (i.e. the Test one)) > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] Test done. See you! > [10100.000000] [msg_test/INFO] Simulation time 10100 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 4 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 4 (turn off src during a communication) : Create a Process/task to make a communication between Jupiter and Tremblay and turn off Jupiter during the communication > [Tremblay:commRX:(2) 10.000000] [msg_test/INFO] Start RX > [Jupiter:commTX:(3) 10.000000] [msg_test/INFO] Start TX > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] number of processes: 3 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Turn Jupiter off > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 4 seems ok (number of Process : 2, it should be 1 or 2 if RX has not been satisfied) cool, you can now turn off a node that has a process paused by a sleep call > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you! > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO] Receive message: TRANSFERT_FAILURE > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO] RX Done > [20.000000] [msg_test/INFO] Simulation time 20 # This test is broken: $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 5 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 5 (turn off dest during a communication : Create a Process/task to make a communication between Tremblay and Jupiter and turn off Jupiter during the communication > [Jupiter:commRX:(2) 10.000000] [msg_test/INFO] Start RX > [Tremblay:commTX:(3) 10.000000] [msg_test/INFO] Start TX > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] number of processes: 3 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Turn Jupiter off > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 5 seems ok, cool !(number of Process : 2, it should be 2 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you! > [Tremblay:commTX:(3) 40.000000] [msg_test/INFO] TX done > [40.000000] [msg_test/INFO] Simulation time 40 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 6 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 6: Turn on Jupiter, assign a VM on Jupiter, launch a process inside the VM, and turn off the node > [0.000000] [surf_vm_workstation/INFO] Create VM(vm0)@PM(Jupiter) with 0 mounted disks > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO] Start daemon on vm0 (76296000.000000) > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO] Start daemon on Jupiter (76296000.000000) > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 1.000001] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 2.000002] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 3.000004] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 4.000005] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 5.000006] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 6.000007] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 7.000008] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 8.000009] [msg_test/INFO] Execute deamon > [Jupiter:process_daemonJUPI:(3) 9.000011] [msg_test/INFO] Execute deamon > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Turn Jupiter off > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Shutdown vm0 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Destroy vm0 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test 6 is also weird: when the node Jupiter is turned off once again, the VM and its daemon are not killed. However, the issue regarding the shutdown of hosted VMs can be seen a feature not a bug ;) > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test done. See you! > [10.000000] [msg_test/INFO] Simulation time 10