From cd99334d4f1309772f25c9799abd16f378fc4db7 Mon Sep 17 00:00:00 2001 From: alena Date: Sat, 21 May 2011 12:40:30 -0700 Subject: [PATCH] bug 9961: use 'firewall_rules'.'is_static_nat' field to make a decision about what version to return - 221 or 222 status 9961: resolved fixed --- .../com/cloud/upgrade/dao/VersionDaoImpl.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/upgrade/dao/VersionDaoImpl.java b/server/src/com/cloud/upgrade/dao/VersionDaoImpl.java index 6ed8529a49e..e0427f1b703 100644 --- a/server/src/com/cloud/upgrade/dao/VersionDaoImpl.java +++ b/server/src/com/cloud/upgrade/dao/VersionDaoImpl.java @@ -102,10 +102,19 @@ public class VersionDaoImpl extends GenericDaoBase implements V pstmt.close(); } } else { - rs.close(); - pstmt.close(); - s_logger.debug("No version table but has nics table, returning 2.2.1"); - return "2.2.1"; + try { + rs.close(); + pstmt.close(); + pstmt = conn.prepareStatement("SELECT is_static_nat from firewall_rules"); + pstmt.executeQuery(); + return "2.2.1"; + } catch (SQLException e) { + s_logger.debug("Assuming the exception means static_nat field doesn't exist in firewall_rules table, returning version 2.2.2"); + return "2.2.2"; + } finally { + rs.close(); + pstmt.close(); + } } }