You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2015/03/23 17:00:09 UTC
ambari git commit: AMBARI-10180. Repo validation doesn't pass on
debian7 (aonishuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 7ed1d2e37 -> 10e61fff7
AMBARI-10180. Repo validation doesn't pass on debian7 (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/10e61fff
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/10e61fff
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/10e61fff
Branch: refs/heads/trunk
Commit: 10e61fff798a050ef25bbcc68d71f54d35dac350
Parents: 7ed1d2e
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Mon Mar 23 18:00:03 2015 +0200
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Mon Mar 23 18:00:03 2015 +0200
----------------------------------------------------------------------
.../server/configuration/Configuration.java | 12 ++++++++----
.../server/state/stack/LatestRepoCallable.java | 4 +++-
.../ambari/server/state/stack/OsFamily.java | 20 +++++++++++++++++++-
.../apache/ambari/server/view/ViewRegistry.java | 5 ++++-
.../resources/stacks/HDP/2.3/repos/repoinfo.xml | 12 ++++++++++++
5 files changed, 46 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/10e61fff/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index cfdcb95..c3ad685 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -33,6 +33,7 @@ import org.apache.ambari.server.orm.PersistenceType;
import org.apache.ambari.server.security.ClientSecurityType;
import org.apache.ambari.server.security.authorization.LdapServerProperties;
import org.apache.ambari.server.security.encryption.CredentialProvider;
+import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.utils.ShellCommandUtil;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.RandomStringUtils;
@@ -40,6 +41,7 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -49,6 +51,9 @@ import com.google.inject.Singleton;
*/
@Singleton
public class Configuration {
+
+ @Inject
+ private OsFamily osFamily;
public static final String CONFIG_FILE = "ambari.properties";
public static final String BOOTSTRAP_DIR = "bootstrap.dir";
@@ -298,8 +303,6 @@ public class Configuration {
private static final String SERVER_PERSISTENCE_TYPE_DEFAULT = "local";
private static final String SERVER_CONNECTION_MAX_IDLE_TIME = "server.connection.max.idle.millis";
- private static final String UBUNTU_OS = "ubuntu12";
-
/**
* Default for repo validation suffixes.
*/
@@ -1139,10 +1142,11 @@ public class Configuration {
/**
* @return a string array of suffixes used to validate repo URLs.
*/
- public String[] getRepoValidationSuffixes(String osFamily) {
+ public String[] getRepoValidationSuffixes(String osType) {
+ String osFamily = this.osFamily.find_family(osType);
String repoSuffixes;
- if(osFamily.equals(UBUNTU_OS)) {
+ if(osFamily.equals(OsFamily.UBUNTU_FAMILY)) {
repoSuffixes = properties.getProperty(REPO_SUFFIX_KEY_UBUNTU,
REPO_SUFFIX_UBUNTU);
} else {
http://git-wip-us.apache.org/repos/asf/ambari/blob/10e61fff/ambari-server/src/main/java/org/apache/ambari/server/state/stack/LatestRepoCallable.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/LatestRepoCallable.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/LatestRepoCallable.java
index 373be33..9eb2387 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/LatestRepoCallable.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/LatestRepoCallable.java
@@ -108,7 +108,9 @@ public class LatestRepoCallable implements Callable<Void> {
// Agents do the reverse action (take the base url, and append <name>.repo)
String repo_file_format;
- if(ri.getOsType().equals("ubuntu12")) {
+ String osFamily = os_family.find_family(ri.getOsType());
+
+ if(osFamily.equals(OsFamily.UBUNTU_FAMILY)) {
repo_file_format = "list";
} else {
repo_file_format = "repo";
http://git-wip-us.apache.org/repos/asf/ambari/blob/10e61fff/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
index 22b6005..2df3fcf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
@@ -41,6 +41,8 @@ import org.apache.commons.io.IOUtils;
*/
@Singleton
public class OsFamily {
+ public final static String UBUNTU_FAMILY = "ubuntu";
+
private final String os_pattern = "([^\\d]*)([\\d]*)";
private final String OS_DISTRO = "distro";
private final String OS_VERSION = "versions";
@@ -124,7 +126,7 @@ public class OsFamily {
}
/**
- * Finds the family for the specific OS
+ * Finds the family for the specific OS + it's version number
* @param os the OS
* @return the family, or <code>null</code> if not defined
*/
@@ -138,6 +140,22 @@ public class OsFamily {
}
return null;
}
+
+ /**
+ * Finds the family for the specific OS
+ * @param os the OS
+ * @return the family, or <code>null</code> if not defined
+ */
+ public String find_family(String os) {
+ Map<String,String> pos = parse_os(os);
+ for ( String family : osMap.keySet()) {
+ Map<String, Set<String>> fam = osMap.get(family);
+ if (fam.get(OS_DISTRO).contains(pos.get(OS_DISTRO)) && fam.get(OS_VERSION).contains(pos.get(OS_VERSION))){
+ return family;
+ }
+ }
+ return null;
+ }
/**
* Form list of all supported os types
http://git-wip-us.apache.org/repos/asf/ambari/blob/10e61fff/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index 7eccd66..419ba02 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -23,6 +23,7 @@ import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.persist.Transactional;
+
import org.apache.ambari.server.api.resources.ResourceInstanceFactoryImpl;
import org.apache.ambari.server.api.resources.SubResourceDefinition;
import org.apache.ambari.server.api.resources.ViewExternalSubResourceDefinition;
@@ -33,6 +34,7 @@ import org.apache.ambari.server.configuration.ComponentSSLConfiguration;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.AmbariServer;
import org.apache.ambari.server.controller.AmbariSessionManager;
+import org.apache.ambari.server.controller.ControllerModule;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.orm.dao.MemberDAO;
@@ -84,6 +86,7 @@ import org.springframework.security.core.GrantedAuthority;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
+
import java.beans.IntrospectionException;
import java.io.File;
import java.util.Collection;
@@ -257,7 +260,7 @@ public class ViewRegistry {
String archivePath = args[1];
try {
- Injector injector = Guice.createInjector();
+ Injector injector = Guice.createInjector(new ControllerModule());
ViewExtractor extractor = injector.getInstance(ViewExtractor.class);
ViewArchiveUtility archiveUtility = injector.getInstance(ViewArchiveUtility.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/10e61fff/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
index 5b25a04..646b2c0 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
@@ -65,4 +65,16 @@
<reponame>HDP-UTILS</reponame>
</repo>
</os>
+ <os family="ubuntu7">
+ <repo>
+ <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian6/2.x/updates/2.3.0.0</baseurl>
+ <repoid>HDP-2.3</repoid>
+ <reponame>HDP</reponame>
+ </repo>
+ <repo>
+ <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian6</baseurl>
+ <repoid>HDP-UTILS-1.1.0.20</repoid>
+ <reponame>HDP-UTILS</reponame>
+ </repo>
+ </os>
</reposinfo>