Repository: ambari
Updated Branches:
  refs/heads/trunk 91b782011 -> 99d96d15c


AMBARI-10170. Full Delete of Host : Fix UpgradeCatalogs to handle host-related 
changes in 1.6.1, 1.7.0, and 2.0.0 after refactoring Entity models (alejandro)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/99d96d15
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/99d96d15
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/99d96d15

Branch: refs/heads/trunk
Commit: 99d96d15c90ff11f1483d63c48194e31c54bf83e
Parents: 91b7820
Author: Alejandro Fernandez <afernan...@hortonworks.com>
Authored: Thu Apr 30 15:00:31 2015 -0700
Committer: Alejandro Fernandez <afernan...@hortonworks.com>
Committed: Fri May 1 10:18:43 2015 -0700

----------------------------------------------------------------------
 .../server/upgrade/AbstractUpgradeCatalog.java  | 19 +++++---
 .../server/upgrade/SchemaUpgradeHelper.java     | 46 +++++++-----------
 .../ambari/server/upgrade/UpgradeCatalog.java   | 13 ++---
 .../server/upgrade/UpgradeCatalog150.java       | 16 +++---
 .../server/upgrade/UpgradeCatalog151.java       | 15 +++---
 .../server/upgrade/UpgradeCatalog160.java       | 15 +++---
 .../server/upgrade/UpgradeCatalog161.java       | 15 +++---
 .../server/upgrade/UpgradeCatalog170.java       | 15 +++---
 .../server/upgrade/UpgradeCatalog200.java       | 15 +++---
 .../server/upgrade/UpgradeCatalog210.java       | 28 ++++++-----
 .../server/upgrade/UpgradeCatalog210Test.java   | 25 +++++++---
 .../server/upgrade/UpgradeCatalogTest.java      | 51 ++------------------
 .../ambari/server/upgrade/UpgradeTest.java      |  2 +
 13 files changed, 121 insertions(+), 154 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
index 940be93..ec63512 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
@@ -91,11 +91,6 @@ public abstract class AbstractUpgradeCatalog implements 
UpgradeCatalog {
     return null;
   }
 
-  @Override
-  public String[] getCompatibleVersions() {
-    return null;
-  }
-
   protected static UpgradeCatalog getUpgradeCatalog(String version) {
     return upgradeCatalogMap.get(version);
   }
@@ -229,7 +224,7 @@ public abstract class AbstractUpgradeCatalog implements 
UpgradeCatalog {
    * If xml owner service is not in the cluster, the configuration won't be 
added.
    *
    * @param configType Configuration type. (hdfs-site, etc.)
-   * @param properties Set property names.
+   * @param propertyNames Set property names.
    */
   protected void updateConfigurationPropertiesWithValuesFromXml(String 
configType,
       Set<String> propertyNames, boolean updateIfExists, boolean 
createNewConfigType) throws AmbariException {
@@ -377,6 +372,11 @@ public abstract class AbstractUpgradeCatalog implements 
UpgradeCatalog {
   }
 
   @Override
+  public void preUpgradeData() throws AmbariException, SQLException {
+    executePreDMLUpdates();
+  }
+
+  @Override
   public void upgradeData() throws AmbariException, SQLException {
     executeDMLUpdates();
     updateMetaInfoVersion(getTargetVersion());
@@ -384,6 +384,13 @@ public abstract class AbstractUpgradeCatalog implements 
UpgradeCatalog {
 
   protected abstract void executeDDLUpdates() throws AmbariException, 
SQLException;
 
+  /**
+   * Perform data insertion before running normal upgrade of data, requires 
started persist service
+   * @throws AmbariException
+   * @throws SQLException
+   */
+  protected abstract void executePreDMLUpdates() throws AmbariException, 
SQLException;
+
   protected abstract void executeDMLUpdates() throws AmbariException, 
SQLException;
 
   @Override

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
index 1d6095b..a8f719a 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
@@ -151,33 +151,6 @@ public class SchemaUpgradeHelper {
   }
 
   /**
-   * Determine if the class definitions in the target version allow running 
the Upgrade Catalogs in the path.
-   * @param upgradeCatalogs Ordered list of upgrade catalogs
-   * @param targetVersion Destination version
-   * @throws AmbariException If invalid path, will throw an exception.
-   */
-  public void validateUpgradePath(List<UpgradeCatalog> upgradeCatalogs, String 
targetVersion) throws AmbariException {
-    for(UpgradeCatalog upgradeCatalog : upgradeCatalogs) {
-      if (upgradeCatalog.getCompatibleVersions() != null) {
-        boolean validPath = false;
-        for (String version : upgradeCatalog.getCompatibleVersions()) {
-          // Treat dots as dots instead of match-any-char, and * as wildcard
-          String regexVersion = version.replace(".", "\\.").replace("*", ".*");
-          Matcher m = Pattern.compile(regexVersion).matcher(targetVersion);
-          if (m.matches()) {
-            validPath = true;
-            break;
-          }
-        }
-        if (!validPath) {
-          throw new AmbariException("Cannot upgrade because UpgradeCatalog " +
-              upgradeCatalog.getTargetVersion() + " is not supported in Ambari 
version " + targetVersion + ".");
-        }
-      }
-    }
-  }
-
-  /**
    * Extension of main controller module
    */
   public static class UpgradeHelperModule extends ControllerModule {
@@ -220,6 +193,21 @@ public class SchemaUpgradeHelper {
     }
   }
 
+  public void executePreDMLUpdates(List<UpgradeCatalog> upgradeCatalogs) 
throws AmbariException {
+    LOG.info("Executing Pre-DML changes.");
+
+    if (upgradeCatalogs != null && !upgradeCatalogs.isEmpty()) {
+      for (UpgradeCatalog upgradeCatalog : upgradeCatalogs) {
+        try {
+          upgradeCatalog.preUpgradeData();
+        } catch (Exception e) {
+          LOG.error("Upgrade failed. ", e);
+          throw new AmbariException(e.getMessage(), e);
+        }
+      }
+    }
+  }
+
   public void executeDMLUpdates(List<UpgradeCatalog> upgradeCatalogs) throws 
AmbariException {
     LOG.info("Executing DML changes.");
 
@@ -288,12 +276,12 @@ public class SchemaUpgradeHelper {
       List<UpgradeCatalog> upgradeCatalogs =
         schemaUpgradeHelper.getUpgradePath(sourceVersion, targetVersion);
 
-      schemaUpgradeHelper.validateUpgradePath(upgradeCatalogs, targetVersion);
-
       schemaUpgradeHelper.executeUpgrade(upgradeCatalogs);
 
       schemaUpgradeHelper.startPersistenceService();
 
+      schemaUpgradeHelper.executePreDMLUpdates(upgradeCatalogs);
+
       schemaUpgradeHelper.executeDMLUpdates(upgradeCatalogs);
 
       schemaUpgradeHelper.executeOnPostUpgrade(upgradeCatalogs);

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
index f482dc2..2b96a57 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
@@ -33,6 +33,13 @@ public interface UpgradeCatalog {
   void upgradeSchema() throws AmbariException, SQLException;
 
   /**
+   * perform data insertion before running normal upgrade of data, requires 
started persist service
+   * @throws AmbariException
+   * @throws SQLException
+   */
+  void preUpgradeData() throws AmbariException, SQLException;
+
+  /**
    * perform data updates as necessary, requires started persist service
    * @throws AmbariException
    * @throws SQLException
@@ -63,10 +70,4 @@ public interface UpgradeCatalog {
    * @return null : default
    */
   String getSourceVersion();
-
-  /**
-   * Returns a list of versions using simplified regex of the Ambari versions 
that allow running this UpgradeCatalog.
-   * @return null : default
-   */
-  String[] getCompatibleVersions();
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
index 03b995a..2dff5f9 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
@@ -93,14 +93,6 @@ public class UpgradeCatalog150 extends 
AbstractUpgradeCatalog {
     return "1.5.0";
   }
 
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"1.5.*", "1.6.*", "1.7.*", "2.0.*"};
-  }
-
   @Override
   public void executeDDLUpdates() throws AmbariException, SQLException {
     LOG.debug("Upgrading schema...");
@@ -423,6 +415,14 @@ public class UpgradeCatalog150 extends 
AbstractUpgradeCatalog {
     }
   }
 
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
+
   @Override
   public void executeDMLUpdates() throws AmbariException, SQLException {
     // Service Config mapping

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
index cd3945a..2ab296d 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
@@ -44,14 +44,6 @@ public class UpgradeCatalog151 extends 
AbstractUpgradeCatalog {
     return "1.5.1";
   }
 
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"1.5.*", "1.6.*", "1.7.*", "2.0.*"};
-  }
-
   // ----- Constructors ------------------------------------------------------
 
   @Inject
@@ -146,6 +138,13 @@ public class UpgradeCatalog151 extends 
AbstractUpgradeCatalog {
 
 
   // ----- UpgradeCatalog ----------------------------------------------------
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
 
   @Override
   public void executeDMLUpdates() throws AmbariException, SQLException {

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog160.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog160.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog160.java
index ac32081..2f7c84a 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog160.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog160.java
@@ -46,14 +46,6 @@ public class UpgradeCatalog160 extends 
AbstractUpgradeCatalog {
     return "1.6.0";
   }
 
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"1.6.*", "1.7.*", "2.0.*"};
-  }
-
   // ----- Constructors ------------------------------------------------------
 
   @Inject
@@ -193,6 +185,13 @@ public class UpgradeCatalog160 extends 
AbstractUpgradeCatalog {
 
 
   // ----- UpgradeCatalog ----------------------------------------------------
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
 
   @Override
   protected void executeDMLUpdates() throws AmbariException, SQLException {

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog161.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog161.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog161.java
index ac8bb52..6f6ce28 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog161.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog161.java
@@ -58,14 +58,6 @@ public class UpgradeCatalog161 extends 
AbstractUpgradeCatalog {
   }
 
   /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"1.6.*", "1.7.*", "2.0.*"};
-  }
-
-  /**
    * Logger.
    */
   private static final Logger LOG = LoggerFactory.getLogger
@@ -273,6 +265,13 @@ public class UpgradeCatalog161 extends 
AbstractUpgradeCatalog {
 
 
   // ----- UpgradeCatalog ----------------------------------------------------
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
 
   @Override
   protected void executeDMLUpdates() throws AmbariException, SQLException {

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
index 23ffad0..879cf31 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
@@ -149,14 +149,6 @@ public class UpgradeCatalog170 extends 
AbstractUpgradeCatalog {
   }
 
   /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"1.7.*", "2.0.*"};
-  }
-
-  /**
    * Logger.
    */
   private static final Logger LOG = LoggerFactory.getLogger
@@ -589,6 +581,13 @@ public class UpgradeCatalog170 extends 
AbstractUpgradeCatalog {
 
 
   // ----- UpgradeCatalog ----------------------------------------------------
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
 
   @Override
   protected void executeDMLUpdates() throws AmbariException, SQLException {

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
index 4117a1c..9804bca 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
@@ -96,14 +96,6 @@ public class UpgradeCatalog200 extends 
AbstractUpgradeCatalog {
   }
 
   /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] { "2.0.*", "2.1.*" };
-  }
-
-  /**
    * Logger.
    */
   private static final Logger LOG = LoggerFactory.getLogger
@@ -316,6 +308,13 @@ public class UpgradeCatalog200 extends 
AbstractUpgradeCatalog {
   }
 
   // ----- UpgradeCatalog ----------------------------------------------------
+  /**
+   * {@inheritDoc}
+   */
+  @Override
+  public void executePreDMLUpdates() {
+    ;
+  }
 
   /**
    * {@inheritDoc}

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
index d376cd6..f80b7ee 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
@@ -39,6 +39,7 @@ import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.Service;
 import org.apache.ambari.server.state.StackId;
+import org.apache.ambari.server.state.stack.OsFamily;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -92,6 +93,9 @@ public class UpgradeCatalog210 extends AbstractUpgradeCatalog 
{
 
   @Inject
   DaoUtils daoUtils;
+
+  @Inject
+  private OsFamily osFamily;
   
   /**
    * {@inheritDoc}
@@ -110,14 +114,6 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
   }
 
   /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String[] getCompatibleVersions() {
-    return new String[] {"*"};
-  }
-
-  /**
    * Logger.
    */
   private static final Logger LOG = LoggerFactory.getLogger
@@ -135,6 +131,7 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
     this.injector = injector;
 
     daoUtils = injector.getInstance(DaoUtils.class);
+    osFamily = injector.getInstance(OsFamily.class);
   }
 
   // ----- AbstractUpgradeCatalog --------------------------------------------
@@ -317,6 +314,8 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
         "host_id", HOSTS_TABLE, "host_id", false);
     dbAccessor.addFKConstraint(HOST_COMPONENT_DESIRED_STATE_TABLE, 
"FK_hcdesiredstate_host_id",
         "host_id", HOSTS_TABLE, "host_id", false);
+    dbAccessor.addFKConstraint(HOST_ROLE_COMMAND_TABLE, 
"FK_host_role_command_host_id",
+        "host_id", HOSTS_TABLE, "host_id", false);
     dbAccessor.addFKConstraint(HOST_STATE_TABLE, "FK_hoststate_host_id",
         "host_id", HOSTS_TABLE, "host_id", false);
     dbAccessor.addFKConstraint(KERBEROS_PRINCIPAL_HOST_TABLE, 
"FK_krb_pr_host_id",
@@ -503,7 +502,7 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
   /**
    * Adds the stack table and constraints.
    */
-  protected void executeStackDMLUpdates() throws AmbariException, SQLException 
{
+  protected void executeStackPreDMLUpdates() throws AmbariException, 
SQLException {
     Gson gson = new Gson();
 
     injector.getInstance(AmbariMetaInfo.class);
@@ -759,14 +758,19 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
    * {@inheritDoc}
    */
   @Override
+  protected void executePreDMLUpdates() throws AmbariException, SQLException {
+    executeStackPreDMLUpdates();
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  @Override
   protected void executeDMLUpdates() throws AmbariException, SQLException {
     addNewConfigurationsFromXml();
 
     // Initialize all default widgets and widget layouts
     initializeClusterAndServiceWidgets();
-
-    // populate new stack ID columns
-    executeStackDMLUpdates();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
index d150d76..13435e7 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
@@ -127,6 +127,23 @@ public class UpgradeCatalog210Test {
   }
 
   @Test
+  public void testExecutePreDMLUpdates() throws Exception {
+    Method executeStackPreDMLUpdates = 
UpgradeCatalog210.class.getDeclaredMethod("executeStackPreDMLUpdates");
+
+    UpgradeCatalog210 upgradeCatalog210 = 
createMockBuilder(UpgradeCatalog210.class)
+        .addMockedMethod( executeStackPreDMLUpdates) .createMock();
+
+    upgradeCatalog210.executeStackPreDMLUpdates();
+    expectLastCall().once();
+
+    replay(upgradeCatalog210);
+
+    upgradeCatalog210.executePreDMLUpdates();
+
+    verify(upgradeCatalog210);
+  }
+
+  @Test
   public void testExecuteDMLUpdates() throws Exception {
     Method addNewConfigurationsFromXml =
       
AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
@@ -134,12 +151,9 @@ public class UpgradeCatalog210Test {
     Method initializeClusterAndServiceWidgets =
       
UpgradeCatalog210.class.getDeclaredMethod("initializeClusterAndServiceWidgets");
 
-    Method executeStackDMLUpdates = 
UpgradeCatalog210.class.getDeclaredMethod("executeStackDMLUpdates");
-
     UpgradeCatalog210 upgradeCatalog210 = 
createMockBuilder(UpgradeCatalog210.class)
       .addMockedMethod(addNewConfigurationsFromXml)
-      .addMockedMethod(initializeClusterAndServiceWidgets)
-      .addMockedMethod( executeStackDMLUpdates) .createMock();
+      .addMockedMethod(initializeClusterAndServiceWidgets).createMock();
 
     upgradeCatalog210.addNewConfigurationsFromXml();
     expectLastCall().once();
@@ -147,9 +161,6 @@ public class UpgradeCatalog210Test {
     upgradeCatalog210.initializeClusterAndServiceWidgets();
     expectLastCall().once();
 
-    upgradeCatalog210.executeStackDMLUpdates();
-    expectLastCall().once();
-
     replay(upgradeCatalog210);
 
     upgradeCatalog210.executeDMLUpdates();

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java
index eb53b03..319b9fe 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java
@@ -30,14 +30,11 @@ import org.apache.ambari.server.controller.ClusterRequest;
 import org.apache.ambari.server.controller.ConfigurationRequest;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.ClusterDAO;
-import org.apache.ambari.server.orm.entities.ClusterEntity;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.Config;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.sql.SQLException;
@@ -67,18 +64,18 @@ public class UpgradeCatalogTest {
     }
 
     @Override
-    public void executeDMLUpdates() throws AmbariException, SQLException {
+    public void executePreDMLUpdates() throws AmbariException, SQLException {
 
     }
 
     @Override
-    public String getTargetVersion() {
-      return "1.4.9";
+    public void executeDMLUpdates() throws AmbariException, SQLException {
+
     }
 
     @Override
-    public String[] getCompatibleVersions() {
-      return new String[] {"1.4.9", "1.5.*", "1.7.*", "2.0.*"};
+    public String getTargetVersion() {
+      return "1.4.9";
     }
   }
 
@@ -125,44 +122,6 @@ public class UpgradeCatalogTest {
     Assert.assertEquals(2, upgradeCatalogs.size());
     Assert.assertEquals("1.4.9", upgradeCatalogs.get(0).getTargetVersion());
     Assert.assertEquals("1.5.0", upgradeCatalogs.get(1).getTargetVersion());
-
-    schemaUpgradeHelper.validateUpgradePath(upgradeCatalogs, "1.5.0");
-  }
-
-  @Test
-  public void testValidateUpgradePath() throws Exception {
-    SchemaUpgradeHelper schemaUpgradeHelper = 
injector.getInstance(SchemaUpgradeHelper.class);
-
-    Set<UpgradeCatalog> upgradeCatalogSet = 
schemaUpgradeHelper.getAllUpgradeCatalogs();
-
-    Assert.assertNotNull(upgradeCatalogSet);
-    Assert.assertEquals(5, upgradeCatalogSet.size());
-
-    List<UpgradeCatalog> upgradeCatalogs = 
schemaUpgradeHelper.getUpgradePath(null, "2.1.0");
-
-    Assert.assertNotNull(upgradeCatalogs);
-    Assert.assertEquals(5, upgradeCatalogs.size());
-    Assert.assertEquals("1.4.9", upgradeCatalogs.get(0).getTargetVersion());
-    Assert.assertEquals("1.5.0", upgradeCatalogs.get(1).getTargetVersion());
-    Assert.assertEquals("1.7.0", upgradeCatalogs.get(2).getTargetVersion());
-    Assert.assertEquals("2.0.0", upgradeCatalogs.get(3).getTargetVersion());
-    Assert.assertEquals("2.1.0", upgradeCatalogs.get(4).getTargetVersion());
-
-    try {
-      // This is a valid path, so should not throw exception.
-      schemaUpgradeHelper.validateUpgradePath(upgradeCatalogs, "2.0.0");
-    } catch (Throwable ex) {
-      Assert.assertTrue(false);
-    }
-
-    Throwable e = null;
-    try {
-      // This is an invalid path, so should throw exception.
-      schemaUpgradeHelper.validateUpgradePath(upgradeCatalogs, "2.1.0");
-    } catch (Throwable ex) {
-      e = ex;
-    }
-    Assert.assertTrue(e instanceof AmbariException);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/ambari/blob/99d96d15/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
index b9b01f8..92b9297 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
@@ -213,6 +213,8 @@ public class UpgradeTest {
 
     schemaUpgradeHelper.startPersistenceService();
 
+    schemaUpgradeHelper.executePreDMLUpdates(upgradeCatalogs);
+
     schemaUpgradeHelper.executeDMLUpdates(upgradeCatalogs);
 
     LOG.info("Upgrade successful.");

Reply via email to