Skip to content

Commit 5270372

Browse files
authored
Merge branch 'master' into frisso-fix-run-as-root-bug
2 parents a0ce8ec + 1bb4fd9 commit 5270372

File tree

6 files changed

+34
-31
lines changed

6 files changed

+34
-31
lines changed

scripts/install.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ if [ "$INSTALL_CLEAN_POLYCUBE" == true ] ; then
142142
$SUDO rm -rf build
143143
fi
144144

145+
# Update submodules; useful in case you are re-running
146+
# this script on an existing install
147+
git submodule update --init --recursive
148+
145149
mkdir -p build && cd build
146150
git log -1
147151

src/polycubed/src/config.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,9 @@ void Config::create_configuration_file(const std::string &path) {
299299
file << "addr: " << server_ip << std::endl;
300300
file << "# file to save polycube logs" << std::endl;
301301
file << "logfile: " << logfile << std::endl;
302-
file << "# file to save last topology" << std::endl;
303-
file << "cubes-dump-file: " << cubes_dump_file << std::endl;
302+
// uncomment when cubes dump is enabled as default behavior
303+
//file << "# file to save last topology" << std::endl;
304+
//file << "cubes-dump-file: " << cubes_dump_file << std::endl;
304305
file << "# Security related:" << std::endl;
305306
file << "# server certificate " << std::endl;
306307
file << "#cert: path_to_certificate_file" << std::endl;
@@ -508,7 +509,6 @@ bool Config::load(int argc, char *argv[]) {
508509
}
509510

510511
load_from_file(configfile);
511-
cubes_dump_file_flag = false;
512512
load_from_cli(argc, argv);
513513
check();
514514

src/polycubed/src/server/Resources/Endpoint/LeafResource.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,10 @@ void LeafResource::CreateReplaceUpdate(const Pistache::Rest::Request &request,
116116
auto resp = WriteValue(cube_name, jbody, keys, op);
117117
errors.push_back(resp);
118118
// check if the operation completed successfully and in case update the configuration
119-
if (isOperationSuccessful(resp.error_tag)) {
120-
if (auto d = core_->get_cubes_dump()) {
121-
d->UpdateCubesConfig(request.resource(), jbody, keys, op,
122-
ResourceType::LeafResource);
123-
}
119+
if (isOperationSuccessful(resp.error_tag) &&
120+
configuration::config.getCubesDumpEnabled()) {
121+
core_->get_cubes_dump()->UpdateCubesConfig(request.resource(), jbody,
122+
keys, op, ResourceType::LeafResource);
124123
}
125124
}
126125
Server::ResponseGenerator::Generate(std::move(errors), std::move(response));

src/polycubed/src/server/Resources/Endpoint/ListResource.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <utility>
2121
#include <vector>
2222

23+
#include "../../config.h"
2324
#include "../../Server/ResponseGenerator.h"
2425
#include "../Body/JsonNodeField.h"
2526
#include "../Body/ListKey.h"
@@ -182,11 +183,10 @@ void ListResource::CreateReplaceUpdateWhole(
182183
errors.push_back(resp);
183184
}
184185
// check if the operation completed successfully and in case update the configuration
185-
if (isOperationSuccessful(resp.error_tag)) {
186-
if (auto d = core_->get_cubes_dump()) {
187-
d->UpdateCubesConfig(request.resource(), jbody, keys, op,
188-
ResourceType::ListResource);
189-
}
186+
if (isOperationSuccessful(resp.error_tag) &&
187+
configuration::config.getCubesDumpEnabled()) {
188+
core_->get_cubes_dump()->UpdateCubesConfig(request.resource(), jbody,
189+
keys, op, ResourceType::ListResource);
190190
}
191191
}
192192
Server::ResponseGenerator::Generate(std::move(errors), std::move(response));
@@ -244,8 +244,8 @@ void ListResource::del_multiple(const Request &request,
244244
ListKeyValues keys{};
245245
dynamic_cast<const ParentResource *const>(parent_)->Keys(request, keys);
246246
errors.push_back(DeleteWhole(cube_name, keys));
247-
if (auto d = core_->get_cubes_dump()) {
248-
d->UpdateCubesConfig(request.resource(), nullptr, keys,
247+
if (configuration::config.getCubesDumpEnabled()) {
248+
core_->get_cubes_dump()->UpdateCubesConfig(request.resource(), nullptr, keys,
249249
Operation::kDelete, ResourceType::ListResource);
250250
}
251251
}

src/polycubed/src/server/Resources/Endpoint/ParentResource.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,14 @@ void ParentResource::CreateReplaceUpdate(
130130
errors.push_back(resp);
131131
}
132132
// check if the operation completed successfully and in case update the configuration
133-
if (isOperationSuccessful(resp.error_tag)) {
134-
if (auto d = core_->get_cubes_dump()) {
135-
if (rpc_action_) {
136-
logger->warn("An action has been received: it is not supported "
137-
"by polycube stateful functionalities yet.");
138-
} else {
139-
d->UpdateCubesConfig(request.resource(), jbody, keys, op,
140-
ResourceType::ParentResource);
141-
}
133+
if (isOperationSuccessful(resp.error_tag) &&
134+
configuration::config.getCubesDumpEnabled()) {
135+
if (rpc_action_) {
136+
logger->warn("An action has been received: it is not supported "
137+
"by polycube stateful functionalities yet.");
138+
} else {
139+
core_->get_cubes_dump()->UpdateCubesConfig(request.resource(), jbody,
140+
keys, op, ResourceType::ParentResource);
142141
}
143142
}
144143
}
@@ -225,8 +224,8 @@ void ParentResource::del(const Request &request, ResponseWriter response) {
225224
std::vector<Response>{{ErrorTag::kNoContent, nullptr}},
226225
std::move(response));
227226
errors.push_back({ErrorTag::kCreated, nullptr});
228-
if (auto d = core_->get_cubes_dump()) {
229-
d->UpdateCubesConfig(request.resource(), nullptr, keys,
227+
if (configuration::config.getCubesDumpEnabled()) {
228+
core_->get_cubes_dump()->UpdateCubesConfig(request.resource(), nullptr, keys,
230229
Operation::kDelete, ResourceType::ParentResource);
231230
}
232231
} else {

src/polycubed/src/server/Resources/Endpoint/Service.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ Service::CreateReplaceUpdate(const std::string &name, nlohmann::json &body,
105105
if (!update) {
106106
cube_names_.AddValue(name);
107107
}
108-
if (auto d = core_->get_cubes_dump()) {
109-
d->UpdateCubesConfig(RestServer::base + this->name_ + "/" + name + "/",
108+
if (configuration::config.getCubesDumpEnabled()) {
109+
core_->get_cubes_dump()->UpdateCubesConfig(RestServer::base + this->name_ + "/" + name + "/",
110110
body, k, op, ResourceType::Service);
111111
}
112112
}
@@ -218,9 +218,10 @@ void Service::del(const Pistache::Rest::Request &request,
218218
auto res = DeleteValue(name, k);
219219
Server::ResponseGenerator::Generate(std::vector<Response>{res},
220220
std::move(response));
221-
if (auto d = core_->get_cubes_dump()) {
222-
d->UpdateCubesConfig(RestServer::base + this->name_ + "/" + name + "/",
223-
nullptr, k, Operation::kDelete, ResourceType::Service);
221+
if (configuration::config.getCubesDumpEnabled()) {
222+
core_->get_cubes_dump()->UpdateCubesConfig(
223+
RestServer::base + this->name_ + "/" + name + "/",nullptr, k,
224+
Operation::kDelete, ResourceType::Service);
224225
}
225226
}
226227

0 commit comments

Comments
 (0)