From: Frederic Suter Date: Fri, 13 Jul 2018 12:16:24 +0000 (+0200) Subject: add signals for VM live migration start/end X-Git-Tag: v3_21~469 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0fd45b48c7de0646ac07216ca943a595cc9ade94?hp=014e302e2156e34a1157c49f6347999ff20b10aa add signals for VM live migration start/end --- diff --git a/include/simgrid/s4u/VirtualMachine.hpp b/include/simgrid/s4u/VirtualMachine.hpp index baafbcf808..f7bb2c7b5c 100644 --- a/include/simgrid/s4u/VirtualMachine.hpp +++ b/include/simgrid/s4u/VirtualMachine.hpp @@ -57,6 +57,8 @@ public: static simgrid::xbt::signal on_shutdown; static simgrid::xbt::signal on_suspend; static simgrid::xbt::signal on_resume; + static simgrid::xbt::signal on_migration_start; + static simgrid::xbt::signal on_migration_end; // Deprecated methods XBT_ATTRIB_DEPRECATED_v323("Please use VirtualMachine::get_state()") VirtualMachine::state getState() diff --git a/src/plugins/vm/VmLiveMigration.cpp b/src/plugins/vm/VmLiveMigration.cpp index 38741de29a..2cdd524126 100644 --- a/src/plugins/vm/VmLiveMigration.cpp +++ b/src/plugins/vm/VmLiveMigration.cpp @@ -344,6 +344,7 @@ void sg_vm_migrate(simgrid::s4u::VirtualMachine* vm, simgrid::s4u::Host* dst_pm) THROWF(vm_error, 0, "Cannot migrate VM '%s' that is already migrating.", vm->get_cname()); vm->get_impl()->is_migrating_ = true; + simgrid::s4u::VirtualMachine::on_migration_start(*vm); std::string rx_name = std::string("__pr_mig_rx:") + vm->get_cname() + "(" + src_pm->get_cname() + "-" + dst_pm->get_cname() + ")"; @@ -366,4 +367,5 @@ void sg_vm_migrate(simgrid::s4u::VirtualMachine* vm, simgrid::s4u::Host* dst_pm) rx->join(); vm->get_impl()->is_migrating_ = false; + simgrid::s4u::VirtualMachine::on_migration_end(*vm); } diff --git a/src/plugins/vm/s4u_VirtualMachine.cpp b/src/plugins/vm/s4u_VirtualMachine.cpp index 9e892c6e78..6f0dbe580b 100644 --- a/src/plugins/vm/s4u_VirtualMachine.cpp +++ b/src/plugins/vm/s4u_VirtualMachine.cpp @@ -21,6 +21,8 @@ simgrid::xbt::signal VirtualMachine::on_started; simgrid::xbt::signal VirtualMachine::on_shutdown; simgrid::xbt::signal VirtualMachine::on_suspend; simgrid::xbt::signal VirtualMachine::on_resume; +simgrid::xbt::signal VirtualMachine::on_migration_start; +simgrid::xbt::signal VirtualMachine::on_migration_end; VirtualMachine::VirtualMachine(const char* name, s4u::Host* physical_host, int core_amount) : VirtualMachine(name, physical_host, core_amount, 1024)