2 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 1 --log=no_loc
3 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 1:
4 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Create a process on Jupiter
5 > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO] Start daemon on Jupiter (76296000.000000)
6 > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO] Execute daemon
7 > [Jupiter:process_daemon:(2) 1.000000] [msg_test/INFO] Execute daemon
8 > [Jupiter:process_daemon:(2) 2.000000] [msg_test/INFO] Execute daemon
9 > [Tremblay:test_launcher:(1) 3.000000] [msg_test/INFO] Turn off Jupiter
10 > [Jupiter:process_daemon:(2) 3.000000] [msg_test/INFO] Execute daemon
11 > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test 1 seems ok, cool !(#Processes: 1, it should be 1; #tasks: 3)
12 > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test done. See you!
13 > [13.000000] [msg_test/INFO] Simulation time 13
15 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 2 --log=no_loc
16 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 2:
17 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Turn off Jupiter
18 > [0.000000] [simix_process/WARNING] Cannot launch process 'process_daemon' on failed host 'Jupiter'
19 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test 2 does not crash as it should (number of Process : 1, it should be 1)
20 > [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
21 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Turn off
22 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] sleep
23 > [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.)
24 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you!
25 > [20.000000] [msg_test/INFO] Simulation time 20
27 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 3 --log=no_loc
28 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 3:
29 > [Jupiter:process_sleep:(2) 0.000000] [msg_test/INFO] I'm alive but I should sleep
30 > [Jupiter:process_sleep:(2) 10.000000] [msg_test/INFO] I'm alive but I should sleep
31 > [Jupiter:process_sleep:(2) 20.000000] [msg_test/INFO] I'm alive but I should sleep
32 > [Jupiter:process_sleep:(2) 30.000000] [msg_test/INFO] I'm alive but I should sleep
33 > [Jupiter:process_sleep:(2) 40.000000] [msg_test/INFO] I'm alive but I should sleep
34 > [Jupiter:process_sleep:(2) 50.000000] [msg_test/INFO] I'm alive but I should sleep
35 > [Jupiter:process_sleep:(2) 60.000000] [msg_test/INFO] I'm alive but I should sleep
36 > [Jupiter:process_sleep:(2) 70.000000] [msg_test/INFO] I'm alive but I should sleep
37 > [Jupiter:process_sleep:(2) 80.000000] [msg_test/INFO] I'm alive but I should sleep
38 > [Jupiter:process_sleep:(2) 90.000000] [msg_test/INFO] I'm alive but I should sleep
39 > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO] Turn off
40 > [Jupiter:process_sleep:(2) 100.000000] [msg_test/INFO] I'm alive but I should sleep
41 > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO] sleep for 10 seconds
42 > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] number of Process : 1 it should be 1 (i.e. the Test one))
43 > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] Test done. See you!
44 > [10100.000000] [msg_test/INFO] Simulation time 10100
46 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 4 --log=no_loc
47 > [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
48 > [Tremblay:commRX:(2) 10.000000] [msg_test/INFO] Start RX
49 > [Jupiter:commTX:(3) 10.000000] [msg_test/INFO] Start TX
50 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] number of processes: 3
51 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Turn Jupiter off
52 > [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
53 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you!
54 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO] Receive message: TRANSFERT_FAILURE
55 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO] RX Done
56 > [20.000000] [msg_test/INFO] Simulation time 20
58 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 5 --log=no_loc
59 > [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
60 > [Jupiter:commRX:(2) 10.000000] [msg_test/INFO] Start RX
61 > [Tremblay:commTX:(3) 10.000000] [msg_test/INFO] Start TX
62 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] number of processes: 3
63 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Turn Jupiter off
64 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 5 seems ok, cool !(number of Process : 2, it should be 2
65 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test done. See you!
66 > [Tremblay:commTX:(3) 40.000000] [msg_test/INFO] TX done
67 > [40.000000] [msg_test/INFO] Simulation time 40
69 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml 6 --log=no_loc
70 > [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
71 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO] Start daemon on vm0 (76296000.000000)
72 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO] Execute daemon
73 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO] Start daemon on Jupiter (76296000.000000)
74 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO] Execute daemon
75 > [Jupiter:process_daemonJUPI:(3) 1.000001] [msg_test/INFO] Execute daemon
76 > [Jupiter:process_daemonJUPI:(3) 2.000002] [msg_test/INFO] Execute daemon
77 > [Jupiter:process_daemonJUPI:(3) 3.000004] [msg_test/INFO] Execute daemon
78 > [Jupiter:process_daemonJUPI:(3) 4.000005] [msg_test/INFO] Execute daemon
79 > [Jupiter:process_daemonJUPI:(3) 5.000006] [msg_test/INFO] Execute daemon
80 > [Jupiter:process_daemonJUPI:(3) 6.000007] [msg_test/INFO] Execute daemon
81 > [Jupiter:process_daemonJUPI:(3) 7.000008] [msg_test/INFO] Execute daemon
82 > [Jupiter:process_daemonJUPI:(3) 8.000009] [msg_test/INFO] Execute daemon
83 > [Jupiter:process_daemonJUPI:(3) 9.000011] [msg_test/INFO] Execute daemon
84 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Turn Jupiter off
85 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Shutdown vm0
86 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Destroy vm0
87 > [10.000000] [surf_vm/WARNING] Dirty page tracking: 1 pending task(s) on a destroyed VM (first one is (name hidden)).
88 > If you don't understand why your task was not properly removed, please report that bug.
89 > This is a known bug if you turned the host off during the VM execution.
90 > Please remind us of that problem at some point: our code base is not ready to fix this harmless issue in 2016, sorry.
91 > [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 ;)
92 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test done. See you!
93 > [10.000000] [msg_test/INFO] Simulation time 10