Skip to content

Commit 0e41a3e

Browse files
authored
fix: return fresh deployment on rolling update (#168)
1 parent ab1cebe commit 0e41a3e

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

src/main/java/com/epam/aidial/deployment/manager/service/deployment/AbstractDeploymentManager.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ public void afterCommit() {
176176

177177
@Override
178178
@Transactional(isolation = Isolation.REPEATABLE_READ)
179-
public void rollingUpdate(String id) {
179+
public Deployment rollingUpdate(String id) {
180180
var deployment = getDeployment(id);
181181

182182
if (deployment.getStatus() != DeploymentStatus.RUNNING) {
183183
log.info("Deployment '{}' is not running; skipping rolling update", id);
184-
return;
184+
return deployment;
185185
}
186186

187187
try {
@@ -201,6 +201,9 @@ public void afterCommit() {
201201
}
202202
});
203203

204+
deployment.setStatus(DeploymentStatus.PENDING);
205+
return deployment;
206+
204207
} catch (Exception e) {
205208
var errorMessage = "Rolling update failed for deployment '%s'".formatted(id);
206209
log.warn(errorMessage, e);

src/main/java/com/epam/aidial/deployment/manager/service/deployment/DeploymentManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public interface DeploymentManager<S> {
2727

2828
Deployment undeploy(String id);
2929

30-
void rollingUpdate(String id);
30+
Deployment rollingUpdate(String id);
3131

3232
void updateCiliumNetworkPolicy(String id);
3333

src/main/java/com/epam/aidial/deployment/manager/service/deployment/DeploymentService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ public Deployment updateDeployment(String id, CreateDeployment request) {
181181

182182
boolean isApplicableForRollingUpdate = isApplicableForRollingUpdate(existingDeploymentWithResolvedSecrets, updatedDeployment, envsAreChanged);
183183
if (updatedDeployment.getStatus() == DeploymentStatus.RUNNING && isApplicableForRollingUpdate) {
184-
deploymentManager.rollingUpdate(id);
184+
updatedDeployment = deploymentManager.rollingUpdate(id);
185185
} else if (updatedDeployment.getStatus() == DeploymentStatus.CRASHED) {
186186
updatedDeployment = deploymentManager.undeploy(id);
187187
}

src/test/java/com/epam/aidial/deployment/manager/functional/tests/DeploymentFunctionalTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,7 @@ public void shouldSuccessfullyUpdateDeploymentIfRunningAndImageChanged() {
416416
Assertions.assertEquals("updated-deployment", updatedDeployment.getDisplayName());
417417
Assertions.assertEquals(savedDeployment.getId(), updatedDeployment.getId());
418418
Assertions.assertEquals(newImageDefinitionId, updatedDeployment.getImageDefinitionId());
419+
Assertions.assertEquals(DeploymentStatus.PENDING, updatedDeployment.getStatus());
419420

420421
verify(resource, times(1)).update();
421422
}

0 commit comments

Comments
 (0)