You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2015/11/19 18:43:57 UTC
[1/2] ambari git commit: AMBARI-13970. Ambari 2.1.2.1 points to
Incorrect Repository version [After upgraded from ambari 1.7.0]
(dlysnichenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 fda293b7e -> 93878ca27
refs/heads/trunk 7603d3ff5 -> 9331012bc
AMBARI-13970. Ambari 2.1.2.1 points to Incorrect Repository version [After upgraded from ambari 1.7.0] (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/93878ca2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/93878ca2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/93878ca2
Branch: refs/heads/branch-2.1
Commit: 93878ca27cd84b1096371833f4d2b447a6ae827a
Parents: fda293b
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Thu Nov 19 19:42:49 2015 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Thu Nov 19 19:42:49 2015 +0200
----------------------------------------------------------------------
.../server/upgrade/UpgradeCatalog200.java | 29 +++++++++++++++++
.../server/upgrade/UpgradeCatalog213.java | 2 +-
.../main/python/ambari_server/serverUpgrade.py | 8 +++++
.../server/upgrade/UpgradeCatalog200Test.java | 34 ++++++++++++++++++--
4 files changed, 70 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/93878ca2/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 0d7383f..70b8f9f 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
@@ -364,10 +364,39 @@ public class UpgradeCatalog200 extends AbstractUpgradeCatalog {
stackRepoId, baseUrl);
}
}
+
+ // Repositories that have been autoset may be unexpected for user
+ // (especially if they are taken from online json)
+ // We have to output to stdout here, and not to log
+ // to be sure that user sees this message
+ System.out.printf("Ambari has recorded the following repository base urls for cluster %s. Please verify the " +
+ "values and ensure that these are correct. If necessary, " +
+ "after starting Ambari Server, you can edit them using Ambari UI, " +
+ "Admin -> Stacks and Versions -> Versions Tab and editing the base urls for the current Repo. " +
+ "It is critical that these repo base urls are valid for your environment as they " +
+ "will be used for Add Host/Service operations.",
+ cluster.getClusterName());
+ System.out.println(repositoryTable(ambariMetaInfo.getStack(stackName, stackVersion).getRepositories()));
}
}
+ /**
+ * Formats a list repositories for printing to console
+ * @param repositories list of repositories
+ * @return multi-line string
+ */
+ static String repositoryTable(List<RepositoryInfo> repositories) {
+ StringBuilder result = new StringBuilder();
+ for (RepositoryInfo repository : repositories) {
+ result.append(String.format(" %8s |", repository.getOsType()));
+ result.append(String.format(" %18s |", repository.getRepoId()));
+ result.append(String.format(" %48s ", repository.getBaseUrl()));
+ result.append("\n");
+ }
+ return result.toString();
+ }
+
protected void updateTezConfiguration() throws AmbariException {
updateConfigurationProperties("tez-site", Collections.singletonMap(TEZ_USE_CLUSTER_HADOOP_LIBS_PROPERTY, String.valueOf(false)), false, false);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/93878ca2/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
index 1d94c8b..cc1838b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
@@ -835,7 +835,7 @@ public class UpgradeCatalog213 extends AbstractUpgradeCatalog {
}
if (stackId != null && stackId.getStackName().equals("HDP") &&
VersionUtils.compareVersions(stackId.getStackVersion(), "2.2") >= 0) {
- if (content.indexOf("MaxDirectMemorySize={{hbase_max_direct_memory_size}}m") < 0) {
+ if (!content.contains("MaxDirectMemorySize={{hbase_max_direct_memory_size}}m")) {
String newPartOfContent = "\n\nexport HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS {% if hbase_max_direct_memory_size %} -XX:MaxDirectMemorySize={{hbase_max_direct_memory_size}}m {% endif %}\"\n\n";
content += newPartOfContent;
updateConfig = true;
http://git-wip-us.apache.org/repos/asf/ambari/blob/93878ca2/ambari-server/src/main/python/ambari_server/serverUpgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/serverUpgrade.py b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
index f05082f..fdff2ab 100644
--- a/ambari-server/src/main/python/ambari_server/serverUpgrade.py
+++ b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
@@ -251,6 +251,14 @@ def run_schema_upgrade(args):
(retcode, stdout, stderr) = run_os_command(command, env=environ)
print_info_msg("Return code from schema upgrade command, retcode = " + str(retcode))
+ if stdout:
+ print "Console output from schema upgrade command:"
+ print stdout
+ print
+ if stderr:
+ print "Error output from schema upgrade command:"
+ print stderr
+ print
if retcode > 0:
print_error_msg("Error executing schema upgrade, please check the server logs.")
else:
http://git-wip-us.apache.org/repos/asf/ambari/blob/93878ca2/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
index faf0390..32445a1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
@@ -42,6 +42,7 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -82,6 +83,7 @@ import org.apache.ambari.server.state.RepositoryInfo;
import org.apache.ambari.server.state.SecurityState;
import org.apache.ambari.server.state.SecurityType;
import org.apache.ambari.server.state.StackId;
+import org.apache.ambari.server.state.StackInfo;
import org.apache.ambari.server.state.stack.OsFamily;
import org.easymock.Capture;
import org.easymock.EasyMockSupport;
@@ -455,7 +457,8 @@ public class UpgradeCatalog200Test {
public void testPersistHDPRepo() throws Exception {
EasyMockSupport easyMockSupport = new EasyMockSupport();
final AmbariManagementController mockAmbariManagementController = easyMockSupport.createStrictMock(AmbariManagementController.class);
- final AmbariMetaInfo mockAmbariMetaInfo = easyMockSupport.createStrictMock(AmbariMetaInfo.class);
+ final AmbariMetaInfo mockAmbariMetaInfo = easyMockSupport.createNiceMock(AmbariMetaInfo.class);
+ final StackInfo mockStackInfo = easyMockSupport.createNiceMock(StackInfo.class);
final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
final Cluster mockCluster = easyMockSupport.createStrictMock(Cluster.class);
final Map<String, Cluster> clusterMap = new HashMap<String, Cluster>();
@@ -464,7 +467,7 @@ public class UpgradeCatalog200Test {
HashSet<OperatingSystemInfo> osiSet = new HashSet<OperatingSystemInfo>();
osiSet.add(osi);
StackId stackId = new StackId("HDP","2.2");
- RepositoryInfo mockRepositoryInfo = easyMockSupport.createStrictMock(RepositoryInfo.class);
+ final RepositoryInfo mockRepositoryInfo = easyMockSupport.createNiceMock(RepositoryInfo.class);
final Injector mockInjector = Guice.createInjector(new AbstractModule() {
@Override
@@ -481,8 +484,13 @@ public class UpgradeCatalog200Test {
expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).once();
expect(mockClusters.getClusters()).andReturn(clusterMap).once();
expect(mockCluster.getCurrentStackVersion()).andReturn(stackId).once();
+ expect(mockCluster.getClusterName()).andReturn("cc").anyTimes();
expect(mockAmbariMetaInfo.getOperatingSystems("HDP", "2.2")).andReturn(osiSet).once();
expect(mockAmbariMetaInfo.getRepository("HDP", "2.2", "redhat6", "HDP-2.2")).andReturn(mockRepositoryInfo).once();
+ expect(mockAmbariMetaInfo.getStack("HDP", "2.2")).andReturn(mockStackInfo);
+ expect(mockStackInfo.getRepositories()).andReturn(new ArrayList<RepositoryInfo>() {{
+ add(mockRepositoryInfo);
+ }});
expect(mockRepositoryInfo.getDefaultBaseUrl()).andReturn("http://baseurl").once();
mockAmbariMetaInfo.updateRepoBaseURL("HDP", "2.2", "redhat6", "HDP-2.2", "http://baseurl");
expectLastCall().once();
@@ -493,6 +501,28 @@ public class UpgradeCatalog200Test {
}
@Test
+ public void testRepositoryTable() {
+ final RepositoryInfo repositoryInfo1 = new RepositoryInfo();
+ repositoryInfo1.setOsType("redhat6");
+ repositoryInfo1.setRepoId("HDP-2.2");
+ repositoryInfo1.setBaseUrl("http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.6.0");
+
+ final RepositoryInfo repositoryInfo2 = new RepositoryInfo();
+ repositoryInfo2.setOsType("suse11");
+ repositoryInfo2.setRepoId("HDP-UTILS-1.1.0.20");
+ repositoryInfo2.setBaseUrl("http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3");
+
+ List<RepositoryInfo> repos = new ArrayList<RepositoryInfo>() {{
+ add(repositoryInfo1);
+ add(repositoryInfo2);
+ }};
+ String output = UpgradeCatalog200.repositoryTable(repos);
+ assertEquals(" redhat6 | HDP-2.2 | http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.6.0 \n" +
+ " suse11 | HDP-UTILS-1.1.0.20 | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3 \n",
+ output);
+ }
+
+ @Test
public void testUpdateClusterEnvConfiguration() throws Exception {
EasyMockSupport easyMockSupport = new EasyMockSupport();
final AmbariManagementController mockAmbariManagementController = easyMockSupport.createStrictMock(AmbariManagementController.class);
[2/2] ambari git commit: AMBARI-13970. Ambari 2.1.2.1 points to
Incorrect Repository version [After upgraded from ambari 1.7.0]
(dlysnichenko)
Posted by dm...@apache.org.
AMBARI-13970. Ambari 2.1.2.1 points to Incorrect Repository version [After upgraded from ambari 1.7.0] (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9331012b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9331012b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9331012b
Branch: refs/heads/trunk
Commit: 9331012bc0fe83ee453032c2ae2d8dba8c2f1ddd
Parents: 7603d3f
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Thu Nov 19 19:42:49 2015 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Thu Nov 19 19:43:35 2015 +0200
----------------------------------------------------------------------
.../server/upgrade/UpgradeCatalog200.java | 29 +++++++++++++++++
.../server/upgrade/UpgradeCatalog213.java | 2 +-
.../main/python/ambari_server/serverUpgrade.py | 8 +++++
.../server/upgrade/UpgradeCatalog200Test.java | 34 ++++++++++++++++++--
4 files changed, 70 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/9331012b/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 0d7383f..70b8f9f 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
@@ -364,10 +364,39 @@ public class UpgradeCatalog200 extends AbstractUpgradeCatalog {
stackRepoId, baseUrl);
}
}
+
+ // Repositories that have been autoset may be unexpected for user
+ // (especially if they are taken from online json)
+ // We have to output to stdout here, and not to log
+ // to be sure that user sees this message
+ System.out.printf("Ambari has recorded the following repository base urls for cluster %s. Please verify the " +
+ "values and ensure that these are correct. If necessary, " +
+ "after starting Ambari Server, you can edit them using Ambari UI, " +
+ "Admin -> Stacks and Versions -> Versions Tab and editing the base urls for the current Repo. " +
+ "It is critical that these repo base urls are valid for your environment as they " +
+ "will be used for Add Host/Service operations.",
+ cluster.getClusterName());
+ System.out.println(repositoryTable(ambariMetaInfo.getStack(stackName, stackVersion).getRepositories()));
}
}
+ /**
+ * Formats a list repositories for printing to console
+ * @param repositories list of repositories
+ * @return multi-line string
+ */
+ static String repositoryTable(List<RepositoryInfo> repositories) {
+ StringBuilder result = new StringBuilder();
+ for (RepositoryInfo repository : repositories) {
+ result.append(String.format(" %8s |", repository.getOsType()));
+ result.append(String.format(" %18s |", repository.getRepoId()));
+ result.append(String.format(" %48s ", repository.getBaseUrl()));
+ result.append("\n");
+ }
+ return result.toString();
+ }
+
protected void updateTezConfiguration() throws AmbariException {
updateConfigurationProperties("tez-site", Collections.singletonMap(TEZ_USE_CLUSTER_HADOOP_LIBS_PROPERTY, String.valueOf(false)), false, false);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/9331012b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
index 4a193bc..aaeb8b7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
@@ -837,7 +837,7 @@ public class UpgradeCatalog213 extends AbstractUpgradeCatalog {
}
if (stackId != null && stackId.getStackName().equals("HDP") &&
VersionUtils.compareVersions(stackId.getStackVersion(), "2.2") >= 0) {
- if (content.indexOf("MaxDirectMemorySize={{hbase_max_direct_memory_size}}m") < 0) {
+ if (!content.contains("MaxDirectMemorySize={{hbase_max_direct_memory_size}}m")) {
String newPartOfContent = "\n\nexport HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS {% if hbase_max_direct_memory_size %} -XX:MaxDirectMemorySize={{hbase_max_direct_memory_size}}m {% endif %}\"\n\n";
content += newPartOfContent;
updateConfig = true;
http://git-wip-us.apache.org/repos/asf/ambari/blob/9331012b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/serverUpgrade.py b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
index 312766d..293a480 100644
--- a/ambari-server/src/main/python/ambari_server/serverUpgrade.py
+++ b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
@@ -251,6 +251,14 @@ def run_schema_upgrade(args):
(retcode, stdout, stderr) = run_os_command(command, env=environ)
print_info_msg("Return code from schema upgrade command, retcode = " + str(retcode))
+ if stdout:
+ print "Console output from schema upgrade command:"
+ print stdout
+ print
+ if stderr:
+ print "Error output from schema upgrade command:"
+ print stderr
+ print
if retcode > 0:
print_error_msg("Error executing schema upgrade, please check the server logs.")
else:
http://git-wip-us.apache.org/repos/asf/ambari/blob/9331012b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
index faf0390..32445a1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
@@ -42,6 +42,7 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -82,6 +83,7 @@ import org.apache.ambari.server.state.RepositoryInfo;
import org.apache.ambari.server.state.SecurityState;
import org.apache.ambari.server.state.SecurityType;
import org.apache.ambari.server.state.StackId;
+import org.apache.ambari.server.state.StackInfo;
import org.apache.ambari.server.state.stack.OsFamily;
import org.easymock.Capture;
import org.easymock.EasyMockSupport;
@@ -455,7 +457,8 @@ public class UpgradeCatalog200Test {
public void testPersistHDPRepo() throws Exception {
EasyMockSupport easyMockSupport = new EasyMockSupport();
final AmbariManagementController mockAmbariManagementController = easyMockSupport.createStrictMock(AmbariManagementController.class);
- final AmbariMetaInfo mockAmbariMetaInfo = easyMockSupport.createStrictMock(AmbariMetaInfo.class);
+ final AmbariMetaInfo mockAmbariMetaInfo = easyMockSupport.createNiceMock(AmbariMetaInfo.class);
+ final StackInfo mockStackInfo = easyMockSupport.createNiceMock(StackInfo.class);
final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
final Cluster mockCluster = easyMockSupport.createStrictMock(Cluster.class);
final Map<String, Cluster> clusterMap = new HashMap<String, Cluster>();
@@ -464,7 +467,7 @@ public class UpgradeCatalog200Test {
HashSet<OperatingSystemInfo> osiSet = new HashSet<OperatingSystemInfo>();
osiSet.add(osi);
StackId stackId = new StackId("HDP","2.2");
- RepositoryInfo mockRepositoryInfo = easyMockSupport.createStrictMock(RepositoryInfo.class);
+ final RepositoryInfo mockRepositoryInfo = easyMockSupport.createNiceMock(RepositoryInfo.class);
final Injector mockInjector = Guice.createInjector(new AbstractModule() {
@Override
@@ -481,8 +484,13 @@ public class UpgradeCatalog200Test {
expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).once();
expect(mockClusters.getClusters()).andReturn(clusterMap).once();
expect(mockCluster.getCurrentStackVersion()).andReturn(stackId).once();
+ expect(mockCluster.getClusterName()).andReturn("cc").anyTimes();
expect(mockAmbariMetaInfo.getOperatingSystems("HDP", "2.2")).andReturn(osiSet).once();
expect(mockAmbariMetaInfo.getRepository("HDP", "2.2", "redhat6", "HDP-2.2")).andReturn(mockRepositoryInfo).once();
+ expect(mockAmbariMetaInfo.getStack("HDP", "2.2")).andReturn(mockStackInfo);
+ expect(mockStackInfo.getRepositories()).andReturn(new ArrayList<RepositoryInfo>() {{
+ add(mockRepositoryInfo);
+ }});
expect(mockRepositoryInfo.getDefaultBaseUrl()).andReturn("http://baseurl").once();
mockAmbariMetaInfo.updateRepoBaseURL("HDP", "2.2", "redhat6", "HDP-2.2", "http://baseurl");
expectLastCall().once();
@@ -493,6 +501,28 @@ public class UpgradeCatalog200Test {
}
@Test
+ public void testRepositoryTable() {
+ final RepositoryInfo repositoryInfo1 = new RepositoryInfo();
+ repositoryInfo1.setOsType("redhat6");
+ repositoryInfo1.setRepoId("HDP-2.2");
+ repositoryInfo1.setBaseUrl("http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.6.0");
+
+ final RepositoryInfo repositoryInfo2 = new RepositoryInfo();
+ repositoryInfo2.setOsType("suse11");
+ repositoryInfo2.setRepoId("HDP-UTILS-1.1.0.20");
+ repositoryInfo2.setBaseUrl("http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3");
+
+ List<RepositoryInfo> repos = new ArrayList<RepositoryInfo>() {{
+ add(repositoryInfo1);
+ add(repositoryInfo2);
+ }};
+ String output = UpgradeCatalog200.repositoryTable(repos);
+ assertEquals(" redhat6 | HDP-2.2 | http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.6.0 \n" +
+ " suse11 | HDP-UTILS-1.1.0.20 | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3 \n",
+ output);
+ }
+
+ @Test
public void testUpdateClusterEnvConfiguration() throws Exception {
EasyMockSupport easyMockSupport = new EasyMockSupport();
final AmbariManagementController mockAmbariManagementController = easyMockSupport.createStrictMock(AmbariManagementController.class);