You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2014/04/25 15:57:46 UTC
git commit: AMBARI-5570. MySQL Server install failed during
deployment, suse11.(vbrodetskyi)
Repository: ambari
Updated Branches:
refs/heads/trunk fb57e05a5 -> 7c277169f
AMBARI-5570. MySQL Server install failed during deployment, suse11.(vbrodetskyi)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7c277169
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7c277169
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7c277169
Branch: refs/heads/trunk
Commit: 7c277169fe158222f1856e931a3a0a030dd0b318
Parents: fb57e05
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Fri Apr 25 16:57:30 2014 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Fri Apr 25 16:57:30 2014 +0300
----------------------------------------------------------------------
.../AmbariManagementControllerImpl.java | 20 +++++++++++++++++---
.../apache/ambari/server/state/ServiceInfo.java | 6 +-----
.../ambari/server/state/ServiceOsSpecific.java | 10 ++++++++++
3 files changed, 28 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7c277169/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 978ffaf..de3db69 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -1307,9 +1307,13 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
if (serviceInfo.getOsSpecifics().containsKey(AmbariMetaInfo.ANY_OS)) {
anyOs = serviceInfo.getOsSpecifics().get(AmbariMetaInfo.ANY_OS);
}
- ServiceOsSpecific hostOs = null;
- if (serviceInfo.getOsSpecifics().containsKey(osFamily)) {
- hostOs = serviceInfo.getOsSpecifics().get(osFamily);
+ ServiceOsSpecific hostOs = new ServiceOsSpecific(osFamily);
+ List<ServiceOsSpecific> foundedOSSpecifics = getOSSpecificsByFamily(serviceInfo.getOsSpecifics(), osFamily);
+ if (!foundedOSSpecifics.isEmpty()) {
+ for (ServiceOsSpecific osSpecific : foundedOSSpecifics) {
+ hostOs.addPackages(osSpecific.getPackages());
+ }
+ serviceInfo.getOsSpecifics().get(osFamily);
// Choose repo that is relevant for host
ServiceOsSpecific.Repo serviceRepo = hostOs.getRepo();
if (serviceRepo != null) {
@@ -1349,6 +1353,16 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
}
}
+ private List<ServiceOsSpecific> getOSSpecificsByFamily(Map<String, ServiceOsSpecific> osSpecifics, String osFamily) {
+ List<ServiceOsSpecific> foundedOSSpecifics = new ArrayList<ServiceOsSpecific>();
+ for (Entry<String, ServiceOsSpecific> osSpecific : osSpecifics.entrySet()) {
+ if (osSpecific.getKey().indexOf(osFamily) != -1) {
+ foundedOSSpecifics.add(osSpecific.getValue());
+ }
+ }
+ return foundedOSSpecifics;
+ }
+
private ActionExecutionContext getActionExecutionContext
(ExecuteActionRequest actionRequest) throws AmbariException {
http://git-wip-us.apache.org/repos/asf/ambari/blob/7c277169/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
index 6020481..8710fec 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
@@ -66,8 +66,6 @@ public class ServiceInfo {
private File metricsFile = null;
@XmlTransient
private Map<String, Map<String, List<MetricDefinition>>> metrics = null;
-
- private static final String OS_SEPARATOR = ",";
/**
@@ -316,9 +314,7 @@ public class ServiceInfo {
new TreeMap<String, ServiceOsSpecific>();
if (serviceOsSpecifics != null) {
for (ServiceOsSpecific osSpecific : serviceOsSpecifics) {
- for(String osFamily:osSpecific.getOsFamily().split(OS_SEPARATOR)) {
- tmpMap.put(osFamily.trim(), osSpecific);
- }
+ tmpMap.put(osSpecific.getOsFamily(), osSpecific);
}
}
serviceOsSpecificsMap = tmpMap;
http://git-wip-us.apache.org/repos/asf/ambari/blob/7c277169/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceOsSpecific.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceOsSpecific.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceOsSpecific.java
index aebf9e7..e317ece 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceOsSpecific.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceOsSpecific.java
@@ -32,6 +32,12 @@ public class ServiceOsSpecific {
private String osFamily;
private Repo repo;
+ public ServiceOsSpecific() {
+ }
+
+ public ServiceOsSpecific(String osFamily) {
+ this.osFamily = osFamily;
+ }
@XmlElementWrapper(name="packages")
@XmlElements(@XmlElement(name="package"))
@@ -52,6 +58,10 @@ public class ServiceOsSpecific {
return packages;
}
+ public void addPackages(List<Package> packages) {
+ this.packages.addAll(packages);
+ }
+
/**
* The <code>repo</code> tag. It has different set of fields compared to
* <link>org.apache.ambari.server.state.RepositoryInfo</link>,