diff --git a/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java b/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java index 90639caf24c..6ac72ea2dfb 100644 --- a/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java +++ b/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java @@ -327,24 +327,25 @@ public void updateAgentVersion(String agentUuid, String agentType, String expect return; } - if (Objects.equals(agentVersionVO.getExpectVersion(), agentVersionVO.getCurrentVersion())) { + if (Objects.equals(agentVersionVO.getCurrentVersion(), currentVersion) + && Objects.equals(agentVersionVO.getExpectVersion(), expectVersion)) { logger.trace(String.format("Agent[uuid: %s] version expected version: %s, current version: %s, not changed", agentUuid, agentVersionVO.getExpectVersion(), agentVersionVO.getCurrentVersion())); return; } - if (!Objects.equals(agentVersionVO.getCurrentVersion(), currentVersion)) { - String originCurrentVersion = agentVersionVO.getCurrentVersion(); - agentVersionVO.setCurrentVersion(currentVersion); - logger.trace(String.format("Update agent[uuid: %s] version\n" + - "From:\n" + - "expected version: %s, current version: %s\n" + - "To:\n" + - "expected version: %s, current version: %s\n", - agentUuid, - agentVersionVO.getExpectVersion(), originCurrentVersion, - agentVersionVO.getExpectVersion(), agentVersionVO.getCurrentVersion())); - dbf.update(agentVersionVO); - } + String originCurrentVersion = agentVersionVO.getCurrentVersion(); + String originExpectVersion = agentVersionVO.getExpectVersion(); + agentVersionVO.setCurrentVersion(currentVersion); + agentVersionVO.setExpectVersion(expectVersion); + logger.trace(String.format("Update agent[uuid: %s] version\n" + + "From:\n" + + "expected version: %s, current version: %s\n" + + "To:\n" + + "expected version: %s, current version: %s\n", + agentUuid, + originExpectVersion, originCurrentVersion, + agentVersionVO.getExpectVersion(), agentVersionVO.getCurrentVersion())); + dbf.update(agentVersionVO); } /**