Skip to content

Commit eb01960

Browse files
authored
Merge pull request #63 from timohl/master
Fixed Task_container to support Evacuate. Fixed some indention.
2 parents 8bba865 + cc9b7e8 commit eb01960

File tree

8 files changed

+31
-18
lines changed

8 files changed

+31
-18
lines changed

include/fast-lib/log.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace fast {
66
class Dev_null
77
{
88
};
9-
extern Dev_null dev_null;
9+
extern Dev_null dev_null;
1010
template<typename T> Dev_null & operator<<(Dev_null &dest, T)
1111
{
1212
return dest;

include/fast-lib/message/agent/mmbwmon/reply.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ struct reply : public fast::Serializable
3737
void load(const YAML::Node &node) override;
3838

3939
std::vector<size_t> cores;
40-
double result;
40+
double result;
4141
};
4242

4343
}

include/fast-lib/message/agent/mmbwmon/restart.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ struct restart : public fast::Serializable
3434
YAML::Node emit() const override;
3535
void load(const YAML::Node &node) override;
3636

37-
std::string cgroup;
37+
std::string cgroup;
3838
};
3939

4040
}

include/fast-lib/message/agent/mmbwmon/stop.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct stop : public fast::Serializable
3535
YAML::Node emit() const override;
3636
void load(const YAML::Node &node) override;
3737

38-
std::string cgroup;
38+
std::string cgroup;
3939
};
4040

4141
}

include/fast-lib/message/migfra/task.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ struct Evacuate :
241241
YAML::Node emit() const override;
242242
void load(const YAML::Node &node) override;
243243

244-
std::vector<std::string> destinations;
245-
Optional<std::string> mode;
246-
Optional<bool> overbooking;
244+
std::vector<std::string> destinations;
245+
Optional<std::string> mode;
246+
Optional<bool> overbooking;
247247
Optional<unsigned int> retry_counter;
248248
Optional<std::string> migration_type;
249249
Optional<bool> rdma_migration;

src/message/agent/mmbwmon/reply.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ YAML::Node reply::emit() const
2020
void reply::load(const YAML::Node &node)
2121
{
2222
fast::load(cores, node["cores"]);
23-
fast::load(result, node["result"]);
23+
fast::load(result, node["result"]);
2424
}
2525

2626
}

src/message/migfra/pci_id.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ namespace migfra {
1818
// Converts integer type numbers to string in hex format.
1919
static std::string to_hex_string(unsigned int integer, int digits, bool show_base = true)
2020
{
21-
std::stringstream ss;
22-
ss << (show_base ? "0x" : "") << std::hex << std::setfill('0') << std::setw(digits) << +integer;
23-
return ss.str();
21+
std::stringstream ss;
22+
ss << (show_base ? "0x" : "") << std::hex << std::setfill('0') << std::setw(digits) << +integer;
23+
return ss.str();
2424
}
2525

2626

src/message/migfra/task.cpp

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ Task_container::Task_container(std::vector<std::shared_ptr<Task>> tasks, bool co
7070

7171
std::string Task_container::type(bool enable_result_format) const
7272
{
73-
std::array<std::string, 7> types;
73+
std::array<std::string, 8> types;
7474
if (enable_result_format)
75-
types = {{"vm started", "vm stopped", "vm migrated", "vm repinned", "vm suspended", "vm resumed", "quit"}};
75+
types = {{"vm started", "vm stopped", "vm migrated", "node evacuated" "vm repinned", "vm suspended", "vm resumed", "quit"}};
7676
else
77-
types = {{"start vm", "stop vm", "migrate vm", "repin vm", "suspend vm", "resume vm", "quit"}};
77+
types = {{"start vm", "stop vm", "migrate vm", "evacuate node", "repin vm", "suspend vm", "resume vm", "quit"}};
7878
if (tasks.empty())
7979
throw std::runtime_error("No subtasks available to get type.");
8080
else if (std::dynamic_pointer_cast<Start>(tasks.front()))
@@ -83,14 +83,16 @@ std::string Task_container::type(bool enable_result_format) const
8383
return types[1];
8484
else if (std::dynamic_pointer_cast<Migrate>(tasks.front()))
8585
return types[2];
86-
else if (std::dynamic_pointer_cast<Repin>(tasks.front()))
86+
else if (std::dynamic_pointer_cast<Evacuate>(tasks.front()))
8787
return types[3];
88-
else if (std::dynamic_pointer_cast<Suspend>(tasks.front()))
88+
else if (std::dynamic_pointer_cast<Repin>(tasks.front()))
8989
return types[4];
90-
else if (std::dynamic_pointer_cast<Resume>(tasks.front()))
90+
else if (std::dynamic_pointer_cast<Suspend>(tasks.front()))
9191
return types[5];
92-
else if (std::dynamic_pointer_cast<Quit>(tasks.front()))
92+
else if (std::dynamic_pointer_cast<Resume>(tasks.front()))
9393
return types[6];
94+
else if (std::dynamic_pointer_cast<Quit>(tasks.front()))
95+
return types[7];
9496
else
9597
throw std::runtime_error("Unknown type of Task.");
9698

@@ -104,6 +106,8 @@ YAML::Node Task_container::emit() const
104106
node["task"] = type_str;
105107
if (type_str == "migrate vm") {
106108
merge_node(node, tasks.front()->emit());
109+
} else if (type_str == "evacuate node") {
110+
merge_node(node, tasks.front()->emit());
107111
} else if (type_str == "repin vm") {
108112
merge_node(node, tasks.front()->emit());
109113
} else if (type_str == "start vm") {
@@ -143,6 +147,13 @@ static std::vector<std::shared_ptr<Task>> load_migrate_task(const YAML::Node &no
143147
return std::vector<std::shared_ptr<Task>>(1, migrate_task);
144148
}
145149

150+
static std::vector<std::shared_ptr<Task>> load_evacuate_task(const YAML::Node &node)
151+
{
152+
std::shared_ptr<Evacuate> evacuate_task;
153+
fast::load(evacuate_task, node);
154+
return std::vector<std::shared_ptr<Task>>(1, evacuate_task);
155+
}
156+
146157
static std::vector<std::shared_ptr<Task>> load_repin_task(const YAML::Node &node)
147158
{
148159
std::shared_ptr<Repin> repin_task;
@@ -185,6 +196,8 @@ void Task_container::load(const YAML::Node &node)
185196
tasks = load_stop_task(node);
186197
} else if (type == "migrate vm") {
187198
tasks = load_migrate_task(node);
199+
} else if (type == "evacuate node") {
200+
tasks = load_evacuate_task(node);
188201
} else if (type == "repin vm") {
189202
tasks = load_repin_task(node);
190203
} else if (type == "suspend vm") {

0 commit comments

Comments
 (0)