Skip to content

Commit 30f107a

Browse files
authored
Merge pull request #8 from cowprotocol/nuno/make-restart-strategy-atomic
Make restart strategy atomic: Instead of performing a get, a delete, and an apply, instead perform a get followed by a replace, making it atomic.
2 parents cd2485a + 184ccf4 commit 30f107a

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

routes/images.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ router.post("/:images/restart", async function (request, response, next) {
4040
await deployment.restart(deploymentName);
4141
debug("Deployment restarted => %s", deploymentName);
4242
} catch (error) {
43-
debug("Error during restart => %s", error.message);
43+
debug("Error during restart of %s => %s", deploymentName, error.message ? error.message : error);
4444
}
4545
});
4646
});
@@ -81,7 +81,7 @@ router.post("/:images/rollout", async function (request, response, next) {
8181
await deployment.rollout(deploymentName);
8282
debug("Deployment rolled out => %s", deploymentName);
8383
} catch (error) {
84-
debug("Error during rollout => %s", error.message);
84+
debug("Error during rollout of %s => %s", deploymentName, error.message ? error.message : error);
8585
}
8686
});
8787
});

util/commands.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ const executeCommand = (command, args, options = undefined) => {
1212
}
1313

1414
const deployment = {
15-
applyConfig (deploymentName, config) {
15+
applyConfig (config) {
1616
return executeCommand('kubectl', ['apply', '-f', '-'], {input: config})
1717
},
18+
replaceConfig (config) {
19+
return executeCommand('kubectl', ['replace', '-f', '-'], {input: config})
20+
},
1821
delete (deploymentName) {
1922
return executeCommand('kubectl', ['delete', 'deployment', deploymentName])
2023
},
@@ -42,9 +45,7 @@ const deployment = {
4245
},
4346
restart (deploymentName) {
4447
return this.getConfig(deploymentName).then(config => {
45-
return this.delete(deploymentName).then(() => {
46-
return this.applyConfig(deploymentName, config)
47-
})
48+
return this.replaceConfig(config)
4849
})
4950
},
5051
rollout (deploymentName) {

0 commit comments

Comments
 (0)