#! ./tesh

p Testing the Cloud API with a simple master/workers

$ $SG_TEST_EXENV ${bindir:=.}/cloud-masterworker$EXEEXT --log=no_loc ${srcdir:=.}/cluster.xml
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] # Launch 2 VMs
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] create VM00 on PM(node-1.acme.org)
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] put a process (WRK00) on VM00
> [VM00:WRK00:(2) 0.000000] [msg_test/INFO] WRK00 is listening on mailbox(MBOX:WRK00)
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] create VM01 on PM(node-10.acme.org)
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] put a process (WRK01) on VM01
> [VM01:WRK01:(3) 0.000000] [msg_test/INFO] WRK01 is listening on mailbox(MBOX:WRK01)
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] # Send a task to 2 worker process
> [node-0.acme.org:master:(1) 0.000000] [msg_test/INFO] Send task(Task00) to mailbox(MBOX:WRK00)
> [VM00:WRK00:(2) 0.090280] [msg_test/INFO] WRK00 received task(Task00) from mailbox(MBOX:WRK00)
> [node-0.acme.org:master:(1) 0.090280] [msg_test/INFO] Send task(Task01) to mailbox(MBOX:WRK01)
> [VM00:WRK00:(2) 0.100280] [msg_test/INFO] WRK00 executed task(Task00)
> [VM01:WRK01:(3) 0.180560] [msg_test/INFO] WRK01 received task(Task01) from mailbox(MBOX:WRK01)
> [node-0.acme.org:master:(1) 0.180560] [msg_test/INFO] # Suspend all VMs
> [node-0.acme.org:master:(1) 0.180560] [msg_test/INFO] suspend VM00
> [node-0.acme.org:master:(1) 0.180560] [msg_test/INFO] suspend VM01
> [node-0.acme.org:master:(1) 0.180560] [msg_test/INFO] # Wait a while
> [node-0.acme.org:master:(1) 2.180560] [msg_test/INFO] # Resume all VMs
> [node-0.acme.org:master:(1) 2.180560] [msg_test/INFO] # Sleep long enough for everyone to be done with previous batch of work
> [VM01:WRK01:(3) 2.190560] [msg_test/INFO] WRK01 executed task(Task01)
> [node-0.acme.org:master:(1) 10.000000] [msg_test/INFO] # Add one more process on each VM
> [node-0.acme.org:master:(1) 10.000000] [msg_test/INFO] put a process (WRK02) on VM00
> [VM00:WRK02:(4) 10.000000] [msg_test/INFO] WRK02 is listening on mailbox(MBOX:WRK02)
> [node-0.acme.org:master:(1) 10.000000] [msg_test/INFO] put a process (WRK03) on VM01
> [VM01:WRK03:(5) 10.000000] [msg_test/INFO] WRK03 is listening on mailbox(MBOX:WRK03)
> [node-0.acme.org:master:(1) 10.000000] [msg_test/INFO] # Send a task to 4 worker process
> [node-0.acme.org:master:(1) 10.000000] [msg_test/INFO] Send task(Task00) to mailbox(MBOX:WRK00)
> [VM00:WRK00:(2) 10.090280] [msg_test/INFO] WRK00 received task(Task00) from mailbox(MBOX:WRK00)
> [node-0.acme.org:master:(1) 10.090280] [msg_test/INFO] Send task(Task01) to mailbox(MBOX:WRK01)
> [VM00:WRK00:(2) 10.100280] [msg_test/INFO] WRK00 executed task(Task00)
> [VM01:WRK01:(3) 10.180560] [msg_test/INFO] WRK01 received task(Task01) from mailbox(MBOX:WRK01)
> [node-0.acme.org:master:(1) 10.180560] [msg_test/INFO] Send task(Task02) to mailbox(MBOX:WRK02)
> [VM01:WRK01:(3) 10.190560] [msg_test/INFO] WRK01 executed task(Task01)
> [VM00:WRK02:(4) 10.270841] [msg_test/INFO] WRK02 received task(Task02) from mailbox(MBOX:WRK02)
> [node-0.acme.org:master:(1) 10.270841] [msg_test/INFO] Send task(Task03) to mailbox(MBOX:WRK03)
> [VM00:WRK02:(4) 10.280841] [msg_test/INFO] WRK02 executed task(Task02)
> [VM01:WRK03:(5) 10.361121] [msg_test/INFO] WRK03 received task(Task03) from mailbox(MBOX:WRK03)
> [node-0.acme.org:master:(1) 10.361121] [msg_test/INFO] # Migrate all VMs to PM(node-1.acme.org)
> [node-1.acme.org:__pr_mig_tx:VM00(node-1.acme.org-node-1.acme.org):(7) 10.361121] [msg_vm/WARNING] use the default max_downtime value 30ms
> [VM01:WRK03:(5) 10.371121] [msg_test/INFO] WRK03 executed task(Task03)
> [node-10.acme.org:__pr_mig_tx:VM01(node-10.acme.org-node-1.acme.org):(9) 19.682922] [msg_vm/WARNING] use the default max_downtime value 30ms
> [node-0.acme.org:master:(1) 28.561942] [msg_test/INFO] # Migrate all VMs to PM(node-10.acme.org)
> [node-1.acme.org:__pr_mig_tx:VM00(node-1.acme.org-node-10.acme.org):(11) 28.561942] [msg_vm/WARNING] use the default max_downtime value 30ms
> [node-1.acme.org:__pr_mig_tx:VM01(node-1.acme.org-node-10.acme.org):(13) 37.440963] [msg_vm/WARNING] use the default max_downtime value 30ms
> [node-0.acme.org:master:(1) 46.319984] [msg_test/INFO] # Shutdown the half of worker processes gracefully. The remaining half will be forcibly killed.
> [VM00:WRK00:(2) 46.327790] [msg_test/INFO] WRK00 received task(finalize) from mailbox(MBOX:WRK00)
> [VM01:WRK01:(3) 46.335596] [msg_test/INFO] WRK01 received task(finalize) from mailbox(MBOX:WRK01)
> [node-0.acme.org:master:(1) 46.335596] [msg_test/INFO] # Wait a while before effective shutdown.
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] # Shutdown and destroy all the VMs. The remaining worker processes will be forcibly killed.
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] shutdown VM00
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] destroy VM00
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] shutdown VM01
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] destroy VM01
> [node-0.acme.org:master:(1) 48.335596] [msg_test/INFO] # Goodbye now!
> [48.335596] [msg_test/INFO] Bye (simulation time 48.3356)
