From cc9b7e844fc049b3a04e7efef8eb4a8e8b5cb6a3 Mon Sep 17 00:00:00 2001 From: Tim Ohliger Date: Wed, 11 Apr 2018 13:58:12 +0200 Subject: [PATCH] Fixed Task_container to support Evacuate. Fixed some indention. --- include/fast-lib/log.hpp | 2 +- .../fast-lib/message/agent/mmbwmon/reply.hpp | 2 +- .../message/agent/mmbwmon/restart.hpp | 2 +- .../fast-lib/message/agent/mmbwmon/stop.hpp | 2 +- include/fast-lib/message/migfra/task.hpp | 6 ++--- src/message/agent/mmbwmon/reply.cpp | 2 +- src/message/migfra/pci_id.cpp | 6 ++--- src/message/migfra/task.cpp | 27 ++++++++++++++----- 8 files changed, 31 insertions(+), 18 deletions(-) diff --git a/include/fast-lib/log.hpp b/include/fast-lib/log.hpp index 98a5c00..254f333 100644 --- a/include/fast-lib/log.hpp +++ b/include/fast-lib/log.hpp @@ -6,7 +6,7 @@ namespace fast { class Dev_null { }; - extern Dev_null dev_null; + extern Dev_null dev_null; template Dev_null & operator<<(Dev_null &dest, T) { return dest; diff --git a/include/fast-lib/message/agent/mmbwmon/reply.hpp b/include/fast-lib/message/agent/mmbwmon/reply.hpp index ae1eed1..7496758 100644 --- a/include/fast-lib/message/agent/mmbwmon/reply.hpp +++ b/include/fast-lib/message/agent/mmbwmon/reply.hpp @@ -37,7 +37,7 @@ struct reply : public fast::Serializable void load(const YAML::Node &node) override; std::vector cores; - double result; + double result; }; } diff --git a/include/fast-lib/message/agent/mmbwmon/restart.hpp b/include/fast-lib/message/agent/mmbwmon/restart.hpp index 3fab2b9..6fb7607 100644 --- a/include/fast-lib/message/agent/mmbwmon/restart.hpp +++ b/include/fast-lib/message/agent/mmbwmon/restart.hpp @@ -34,7 +34,7 @@ struct restart : public fast::Serializable YAML::Node emit() const override; void load(const YAML::Node &node) override; - std::string cgroup; + std::string cgroup; }; } diff --git a/include/fast-lib/message/agent/mmbwmon/stop.hpp b/include/fast-lib/message/agent/mmbwmon/stop.hpp index 5ccc367..e23bde1 100644 --- a/include/fast-lib/message/agent/mmbwmon/stop.hpp +++ b/include/fast-lib/message/agent/mmbwmon/stop.hpp @@ -35,7 +35,7 @@ struct stop : public fast::Serializable YAML::Node emit() const override; void load(const YAML::Node &node) override; - std::string cgroup; + std::string cgroup; }; } diff --git a/include/fast-lib/message/migfra/task.hpp b/include/fast-lib/message/migfra/task.hpp index a16763d..64dceb7 100644 --- a/include/fast-lib/message/migfra/task.hpp +++ b/include/fast-lib/message/migfra/task.hpp @@ -241,9 +241,9 @@ struct Evacuate : YAML::Node emit() const override; void load(const YAML::Node &node) override; - std::vector destinations; - Optional mode; - Optional overbooking; + std::vector destinations; + Optional mode; + Optional overbooking; Optional retry_counter; Optional migration_type; Optional rdma_migration; diff --git a/src/message/agent/mmbwmon/reply.cpp b/src/message/agent/mmbwmon/reply.cpp index 37a276c..e132840 100644 --- a/src/message/agent/mmbwmon/reply.cpp +++ b/src/message/agent/mmbwmon/reply.cpp @@ -20,7 +20,7 @@ YAML::Node reply::emit() const void reply::load(const YAML::Node &node) { fast::load(cores, node["cores"]); - fast::load(result, node["result"]); + fast::load(result, node["result"]); } } diff --git a/src/message/migfra/pci_id.cpp b/src/message/migfra/pci_id.cpp index a246614..946192a 100644 --- a/src/message/migfra/pci_id.cpp +++ b/src/message/migfra/pci_id.cpp @@ -18,9 +18,9 @@ namespace migfra { // Converts integer type numbers to string in hex format. static std::string to_hex_string(unsigned int integer, int digits, bool show_base = true) { - std::stringstream ss; - ss << (show_base ? "0x" : "") << std::hex << std::setfill('0') << std::setw(digits) << +integer; - return ss.str(); + std::stringstream ss; + ss << (show_base ? "0x" : "") << std::hex << std::setfill('0') << std::setw(digits) << +integer; + return ss.str(); } diff --git a/src/message/migfra/task.cpp b/src/message/migfra/task.cpp index b1382a9..675ec78 100644 --- a/src/message/migfra/task.cpp +++ b/src/message/migfra/task.cpp @@ -70,11 +70,11 @@ Task_container::Task_container(std::vector> tasks, bool co std::string Task_container::type(bool enable_result_format) const { - std::array types; + std::array types; if (enable_result_format) - types = {{"vm started", "vm stopped", "vm migrated", "vm repinned", "vm suspended", "vm resumed", "quit"}}; + types = {{"vm started", "vm stopped", "vm migrated", "node evacuated" "vm repinned", "vm suspended", "vm resumed", "quit"}}; else - types = {{"start vm", "stop vm", "migrate vm", "repin vm", "suspend vm", "resume vm", "quit"}}; + types = {{"start vm", "stop vm", "migrate vm", "evacuate node", "repin vm", "suspend vm", "resume vm", "quit"}}; if (tasks.empty()) throw std::runtime_error("No subtasks available to get type."); else if (std::dynamic_pointer_cast(tasks.front())) @@ -83,14 +83,16 @@ std::string Task_container::type(bool enable_result_format) const return types[1]; else if (std::dynamic_pointer_cast(tasks.front())) return types[2]; - else if (std::dynamic_pointer_cast(tasks.front())) + else if (std::dynamic_pointer_cast(tasks.front())) return types[3]; - else if (std::dynamic_pointer_cast(tasks.front())) + else if (std::dynamic_pointer_cast(tasks.front())) return types[4]; - else if (std::dynamic_pointer_cast(tasks.front())) + else if (std::dynamic_pointer_cast(tasks.front())) return types[5]; - else if (std::dynamic_pointer_cast(tasks.front())) + else if (std::dynamic_pointer_cast(tasks.front())) return types[6]; + else if (std::dynamic_pointer_cast(tasks.front())) + return types[7]; else throw std::runtime_error("Unknown type of Task."); @@ -104,6 +106,8 @@ YAML::Node Task_container::emit() const node["task"] = type_str; if (type_str == "migrate vm") { merge_node(node, tasks.front()->emit()); + } else if (type_str == "evacuate node") { + merge_node(node, tasks.front()->emit()); } else if (type_str == "repin vm") { merge_node(node, tasks.front()->emit()); } else if (type_str == "start vm") { @@ -143,6 +147,13 @@ static std::vector> load_migrate_task(const YAML::Node &no return std::vector>(1, migrate_task); } +static std::vector> load_evacuate_task(const YAML::Node &node) +{ + std::shared_ptr evacuate_task; + fast::load(evacuate_task, node); + return std::vector>(1, evacuate_task); +} + static std::vector> load_repin_task(const YAML::Node &node) { std::shared_ptr repin_task; @@ -185,6 +196,8 @@ void Task_container::load(const YAML::Node &node) tasks = load_stop_task(node); } else if (type == "migrate vm") { tasks = load_migrate_task(node); + } else if (type == "evacuate node") { + tasks = load_evacuate_task(node); } else if (type == "repin vm") { tasks = load_repin_task(node); } else if (type == "suspend vm") {