You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2014/11/13 05:21:31 UTC
[2/3] ambari git commit: AMBARI-8300 - Alerts: Remove Nagios Remnants
From Ambari Server Code (jonathanhurley)
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index eb6237d..8a05331 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -356,8 +356,9 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
(String) properties.get(SERVICE_SERVICE_STATE_PROPERTY_ID));
Object o = properties.get(SERVICE_MAINTENANCE_STATE_PROPERTY_ID);
- if (null != o)
+ if (null != o) {
svcRequest.setMaintenanceState(o.toString());
+ }
return svcRequest;
}
@@ -727,14 +728,6 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
throw new IllegalArgumentException("Cannot handle different desired state"
+ " changes for a set of services at the same time");
}
-
- if (maintenanceCluster != null) {
- try {
- maintenanceStateHelper.createRequests(controller, requestProperties, maintenanceCluster);
- } catch (Exception e) {
- LOG.warn("Could not send maintenance state to Nagios (" + e.getMessage() + ")");
- }
- }
Cluster cluster = clusters.getCluster(clusterNames.iterator().next());
@@ -914,8 +907,9 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
}
}
- for (Service service : removable)
+ for (Service service : removable) {
service.getCluster().deleteService(service.getName());
+ }
return null;
}
@@ -1232,8 +1226,9 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
State state = State.UNKNOWN;
for (ServiceComponentHostResponse schr : hostComponentResponses) {
State schState = getHostComponentState(schr);
- if (schState.ordinal() < state.ordinal())
+ if (schState.ordinal() < state.ordinal()) {
state = schState;
+ }
}
return state;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Stack.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Stack.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Stack.java
index cd22340..243e282 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Stack.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Stack.java
@@ -18,6 +18,13 @@
package org.apache.ambari.server.controller.internal;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.StackConfigurationRequest;
@@ -30,13 +37,6 @@ import org.apache.ambari.server.controller.StackServiceResponse;
import org.apache.ambari.server.state.AutoDeployInfo;
import org.apache.ambari.server.state.DependencyInfo;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
/**
* Encapsulates stack information.
*/
@@ -388,7 +388,7 @@ class Stack {
dependencies.put(componentName, componentDependencies);
}
}
- this.serviceComponents.put(service, componentSet);
+ serviceComponents.put(service, componentSet);
}
/**
@@ -430,20 +430,6 @@ class Stack {
*/
//todo: This information should be specified in the stack definition.
void registerConditionalDependencies() {
- Collection<DependencyInfo> nagiosDependencies = getDependenciesForComponent("NAGIOS_SERVER");
- for (DependencyInfo dependency : nagiosDependencies) {
- if (dependency.getComponentName().equals("HCAT")) {
- dependencyConditionalServiceMap.put(dependency, "HIVE");
- } else if (dependency.getComponentName().equals("OOZIE_CLIENT")) {
- dependencyConditionalServiceMap.put(dependency, "OOZIE");
- } else if (dependency.getComponentName().equals("YARN_CLIENT")) {
- dependencyConditionalServiceMap.put(dependency, "YARN");
- } else if (dependency.getComponentName().equals("TEZ_CLIENT")) {
- dependencyConditionalServiceMap.put(dependency, "TEZ");
- } else if (dependency.getComponentName().equals("MAPREDUCE2_CLIENT")) {
- dependencyConditionalServiceMap.put(dependency, "MAPREDUCE2");
- }
- }
dbDependencyInfo.put("MYSQL_SERVER", "global/hive_database");
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosAlert.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosAlert.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosAlert.java
deleted file mode 100644
index 1d58430..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosAlert.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.controller.nagios;
-
-import org.apache.ambari.server.state.Alert;
-
-/**
- * Represents a Nagios alert as represented by the JSON returning from the HTTP
- * call.
- */
-public class NagiosAlert {
- private String service_description = null;
- private String host_name = null;
-// private String current_attempt = null;
- private String current_state = null;
- private String plugin_output = null;
- private String last_hard_state_change = null;
- private String last_hard_state = null;
- private String last_time_ok = null;
- private String last_time_warning = null;
- private String last_time_unknown = null;
- private String last_time_critical = null;
-// private String is_flapping = null;
-// private String last_check = null;
- private String service_type = null;
- private String long_plugin_output = null;
-
-
- /**
- * Use a cluster alert as the basis for this alert. This bridge can be
- * removed when Nagios is not longer the Source For Alerts.
- */
- public NagiosAlert(Alert alert) {
- service_type = alert.getService();
- host_name = alert.getHost();
- switch (alert.getState()) {
- case CRITICAL:
- current_state = "2";
- break;
- case OK:
- current_state = "0";
- break;
- case WARNING:
- current_state = "1";
- break;
- default:
- current_state = "3";
- break;
- }
-
- service_description = alert.getLabel();
- plugin_output = alert.getText();
-
- }
-
- public NagiosAlert() {
- }
-
- /**
- * @return the description
- */
- public String getDescription() {
- return service_description;
- }
-
- /**
- * @return the host
- */
- public String getHost() {
- return host_name;
- }
-
- /**
- * @return the service
- */
- public String getService() {
- return service_type;
- }
-
- /**
- * @return the status
- */
- public int getStatus() {
- int i = 3;
- try {
- i = Integer.parseInt(current_state);
- } catch (Exception e) {
- // don't ruin someone's day
- }
- return i;
- }
-
-
- /**
- * @return the last status
- */
- public int getLastStatus() {
- int i = 3;
- try {
- i = Integer.parseInt(last_hard_state);
- } catch (Exception e) {
- // don't ruin someone's day
- }
-
- return i;
- }
-
- /**
- * @return the output
- */
- public String getOutput() {
- return plugin_output;
- }
-
- /**
- * @param status the status
- * @return a string indicating what the status means
- */
- public static String getStatusString(int status) {
- switch (status) {
- case 0:
- return "OK";
- case 1:
- return "WARNING";
- case 2:
- return "CRITICAL";
- default:
- return "UNKNOWN";
- }
- }
-
-
- /**
- * @return the status timestamp
- */
- public long getStatusTime() {
- long l = -1L;
-
- try {
- switch (getStatus()) {
- case 0:
- l = getLong (last_time_ok);
- break;
- case 1:
- l = getLong(last_time_warning);
- break;
- case 2:
- l = getLong(last_time_critical);
- break;
- default:
- l = getLong(last_time_unknown);
- break;
- }
- } catch (Exception e) {
- // don't ruin someone's day
- }
-
- return l;
- }
-
- /**
- * @return the last status timestamp
- */
- public long getLastStatusTime() {
- return getLong(last_hard_state_change);
- }
-
- private long getLong(String str) {
- try {
- return Long.parseLong(str);
- } catch (Exception e) {
- return 0L;
- }
- }
-
- /**
- * @return the long output, if any
- */
- public String getLongPluginOutput() {
- return long_plugin_output;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append('{');
- sb.append(this.service_type).append(',');
- sb.append(this.host_name).append(',');
- sb.append(this.current_state);
- sb.append('}');
- return sb.toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
index 5b93db8..5a8c9bf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
@@ -17,420 +17,41 @@
*/
package org.apache.ambari.server.controller.nagios;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
-import java.util.regex.Pattern;
-import org.apache.ambari.server.AmbariException;
-import org.apache.ambari.server.configuration.ComponentSSLConfiguration;
-import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.internal.BaseProvider;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.PropertyProvider;
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.SystemException;
-import org.apache.ambari.server.controller.utilities.StreamProvider;
-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.ServiceComponentHost;
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.gson.Gson;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
/**
- * Used to populate resources that have Nagios alertable properties.
+ * Deprecated. To be removed for Ambari 2.0.0 after the web client has removed
+ * references to {@code legacy_alerts}.
*/
@Deprecated
public class NagiosPropertyProvider extends BaseProvider implements PropertyProvider {
-
- private static final Logger LOG = LoggerFactory.getLogger(NagiosPropertyProvider.class);
+
private static final Set<String> NAGIOS_PROPERTY_IDS = new HashSet<String>();
- private static final String NAGIOS_TEMPLATE = "http://%s/ambarinagios/nagios/nagios_alerts.php?q1=alerts&alert_type=all";
-
+
private static final String ALERT_DETAIL_PROPERTY_ID = "legacy_alerts/detail";
private static final String ALERT_SUMMARY_PROPERTY_ID = "legacy_alerts/summary";
- private static final String ALERT_SUMMARY_OK_PROPERTY_ID = "legacy_alerts/summary/OK";
- private static final String ALERT_SUMMARY_WARNING_PROPERTY_ID = "legacy_alerts/summary/WARNING";
- private static final String ALERT_SUMMARY_CRITICAL_PROPERTY_ID = "legacy_alerts/summary/CRITICAL";
- private static final String ALERT_SUMMARY_PASSIVE_PROPERTY_ID = "legacy_alerts/summary/PASSIVE";
- private static final String PASSIVE_TOKEN = "AMBARIPASSIVE=";
-
- private static final List<String> DEFAULT_IGNORABLE_FOR_SERVICES = Collections.unmodifiableList(new ArrayList<String>(
- Arrays.asList("NodeManager health", "NodeManager process", "TaskTracker process",
- "RegionServer process", "DataNode process", "DataNode space",
- "ZooKeeper Server process", "Supervisors process")));
-
- private static List<String> IGNORABLE_FOR_SERVICES;
-
- private static final List<String> IGNORABLE_FOR_HOSTS = new ArrayList<String>(
- Collections.singletonList("percent"));
-
- private static final Pattern COMMA_PATTERN = Pattern.compile(",");
- // holds alerts for clusters. clusterName is the key
- private static final Map<String, List<NagiosAlert>> CLUSTER_ALERTS =
- new ConcurrentHashMap<String, List<NagiosAlert>>();
- private static final ScheduledExecutorService scheduler;
-
- private static final Set<String> CLUSTER_NAMES = new CopyOnWriteArraySet<String>();
-
static {
NAGIOS_PROPERTY_IDS.add(ALERT_SUMMARY_PROPERTY_ID);
NAGIOS_PROPERTY_IDS.add(ALERT_DETAIL_PROPERTY_ID);
- IGNORABLE_FOR_SERVICES = new ArrayList<String>(DEFAULT_IGNORABLE_FOR_SERVICES);
-
- scheduler = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
- @Override
- public Thread newThread(Runnable r) {
- return new Thread(r, "NagiosPropertyProvider Request Reset Thread");
- }
- });
}
- @Inject
- private static Clusters clusters;
- private Resource.Type resourceType;
- private String clusterNameProperty;
- private String resourceTypeProperty;
- private StreamProvider urlStreamProvider;
- private boolean waitOnFirstCall = false;
-
- @Inject
- public static void init(Injector injector) {
- clusters = injector.getInstance(Clusters.class);
- Configuration config = injector.getInstance(Configuration.class);
-
- IGNORABLE_FOR_SERVICES = new ArrayList<String>(DEFAULT_IGNORABLE_FOR_SERVICES);
- String ignores = config.getProperty(Configuration.NAGIOS_IGNORE_FOR_SERVICES_KEY);
- if (null != ignores) {
- Collections.addAll(IGNORABLE_FOR_SERVICES, COMMA_PATTERN.split(ignores));
- }
-
- ignores = config.getProperty(Configuration.NAGIOS_IGNORE_FOR_HOSTS_KEY);
- if (null != ignores) {
- Collections.addAll(IGNORABLE_FOR_HOSTS, COMMA_PATTERN.split(ignores));
- }
-
- }
-
- public NagiosPropertyProvider(Resource.Type type,
- StreamProvider streamProvider,
- String clusterPropertyId,
- String typeMatchPropertyId) {
-
+ @Deprecated
+ public NagiosPropertyProvider() {
super(NAGIOS_PROPERTY_IDS);
-
- resourceType = type;
- clusterNameProperty = clusterPropertyId;
- resourceTypeProperty = typeMatchPropertyId;
- urlStreamProvider = streamProvider;
-
- scheduler.scheduleAtFixedRate(new Runnable() {
- @Override
- public void run() {
- for (String clusterName : CLUSTER_NAMES) {
- List<NagiosAlert> alerts = new LinkedList<NagiosAlert>();
- try {
- alerts = populateAlerts(clusterName);
- } catch (Exception e) {
- LOG.error("Could not load Nagios alerts: " + e.getMessage());
- }
- CLUSTER_ALERTS.put(clusterName, alerts);
- }
- }
- }, 0L, 30L, TimeUnit.SECONDS);
}
-
- /**
- * Use only for testing to remove all cached alerts.
- */
- public void forceReset() {
- CLUSTER_NAMES.clear();
- CLUSTER_ALERTS.clear();
- waitOnFirstCall = true;
- }
-
@Override
public Set<Resource> populateResources(Set<Resource> resources,
Request request, Predicate predicate) throws SystemException {
-
- Set<String> propertyIds = getRequestPropertyIds(request, predicate);
-
- for (Resource res : resources) {
- String matchValue = res.getPropertyValue(resourceTypeProperty).toString();
-
- if (null == matchValue)
- continue;
-
- Object clusterPropertyValue = res.getPropertyValue(clusterNameProperty);
- if (null == clusterPropertyValue)
- continue;
-
- final String clusterName = clusterPropertyValue.toString();
- if (null == clusterName)
- continue;
-
- if (!CLUSTER_ALERTS.containsKey(clusterName)) {
- // prevent endless looping for the first-time collection
- CLUSTER_ALERTS.put(clusterName, Collections.<NagiosAlert>emptyList());
-
- Future<List<NagiosAlert>> f = scheduler.submit(new Callable<List<NagiosAlert>>() {
- @Override
- public List<NagiosAlert> call() throws Exception {
- return populateAlerts(clusterName);
- }
- });
-
- if (waitOnFirstCall) {
- try {
- CLUSTER_ALERTS.put(clusterName, f.get());
- } catch (Exception e) {
- LOG.error("Could not load metrics - Executor exception" +
- " (" + e.getMessage() + ")");
- }
- }
- }
-
- CLUSTER_NAMES.add(clusterName);
-
- List<NagiosAlert> alerts = CLUSTER_ALERTS.get(clusterName);
- if (null != alerts) {
- updateAlerts (res, matchValue, alerts, propertyIds);
- }
-
- }
-
return resources;
}
-
- /**
- * Aggregates and sets nagios properties on a resource.
- * @param res the resource
- * @param matchValue the value to match
- * @param allAlerts all alerts from Nagios
- * @param requestedIds the requested ids for the resource
- */
- private void updateAlerts(Resource res, String matchValue, List<NagiosAlert> allAlerts,
- Set<String> requestedIds) {
- if (null == allAlerts || 0 == allAlerts.size())
- return;
-
- int ok = 0;
- int warning = 0;
- int critical = 0;
- int passive = 0;
-
- List<Map<String, Object>> alerts = new ArrayList<Map<String, Object>>();
-
- Set<String> processedHosts = new HashSet<String>();
-
- for (NagiosAlert alert : allAlerts) {
- boolean match = false;
-
- switch (resourceType.getInternalType()) {
- case Service:
- match = alert.getService().equals(matchValue);
- if (match && null != alert.getDescription() &&
- IGNORABLE_FOR_SERVICES.contains(alert.getDescription())) {
- match = false;
- }
- break;
- case Host:
- match = alert.getHost().equals(matchValue);
- if (match && null != alert.getDescription()) {
- String desc = alert.getDescription();
- Iterator<String> it = IGNORABLE_FOR_HOSTS.iterator();
- while (it.hasNext() && match) {
- if (-1 != desc.toLowerCase().indexOf(it.next()))
- match = false;
- }
- }
- break;
- case Cluster:
- if (!processedHosts.contains(alert.getHost())) {
- match = true;
- Iterator<String> it = IGNORABLE_FOR_HOSTS.iterator();
- String desc = alert.getDescription();
- while (it.hasNext() && match) {
- if (-1 != desc.toLowerCase().indexOf(it.next()))
- match = false;
- }
- }
- break;
- default:
- break;
- }
-
- if (match) {
-
- processedHosts.add(alert.getHost());
-
- // status = the return code from the plugin that controls
- // whether an alert is sent out (0 when using wrapper)
- // actual_status = the actual process result
-
- Map<String, Object> map = new LinkedHashMap<String, Object>();
-
- map.put("description", alert.getDescription());
- map.put("host_name", alert.getHost());
- map.put("last_status", NagiosAlert.getStatusString(alert.getLastStatus()));
- map.put("last_status_time", Long.valueOf(alert.getLastStatusTime()));
- map.put("service_name", alert.getService());
- map.put("status", NagiosAlert.getStatusString(alert.getStatus()));
- map.put("status_time", Long.valueOf(alert.getStatusTime()));
- map.put("output", alert.getOutput());
- map.put("actual_status", NagiosAlert.getStatusString(alert.getStatus()));
-
- String longOut = alert.getLongPluginOutput();
- int index = (null == longOut) ? -1 : longOut.indexOf(PASSIVE_TOKEN);
- if (-1 != index) {
- int actualStatus = 3;
- try {
- int len = PASSIVE_TOKEN.length();
-
- actualStatus = Integer.parseInt(longOut.substring(
- index + len, index + len+1));
- } catch (Exception e) {
- // do nothing
- }
-
- map.put("status", "PASSIVE");
- map.put("actual_status", NagiosAlert.getStatusString(actualStatus));
- passive++;
- } else {
- switch (alert.getStatus()) {
- case 0:
- ok++;
- break;
- case 1:
- warning++;
- break;
- case 2:
- critical++;
- break;
- case 3:
- passive++;
- break;
- default:
- break;
- }
- }
-
- alerts.add(map);
- }
- }
-
- setResourceProperty(res, ALERT_SUMMARY_OK_PROPERTY_ID, Integer.valueOf(ok), requestedIds);
- setResourceProperty(res, ALERT_SUMMARY_WARNING_PROPERTY_ID, Integer.valueOf(warning), requestedIds);
- setResourceProperty(res, ALERT_SUMMARY_CRITICAL_PROPERTY_ID, Integer.valueOf(critical), requestedIds);
- setResourceProperty(res, ALERT_SUMMARY_PASSIVE_PROPERTY_ID, Integer.valueOf(passive), requestedIds);
-
- if (!alerts.isEmpty() &&
- (resourceType.getInternalType() != Resource.InternalType.Cluster)) {
-
- setResourceProperty(res, ALERT_DETAIL_PROPERTY_ID, alerts, requestedIds);
- }
- }
-
- /**
- * Contacts Nagios and loads/parses the response into Nagios alert instances.
- * @param clusterName the cluster name
- * @return a list of nagios alerts
- * @throws SystemException
- */
- private List<NagiosAlert> populateAlerts(String clusterName) throws Exception {
-
- String nagiosHost = null;
-
- List<NagiosAlert> results = new ArrayList<NagiosAlert>();
-
- try {
- Cluster cluster = clusters.getCluster(clusterName);
- Service service = cluster.getService("NAGIOS");
- Map<String, ServiceComponentHost> hosts = service.getServiceComponent("NAGIOS_SERVER").getServiceComponentHosts();
-
- if (!hosts.isEmpty())
- nagiosHost = hosts.keySet().iterator().next();
-
- } catch (AmbariException e) {
- LOG.debug("Cannot find a nagios service. Skipping alerts.");
- }
-
- if (null == nagiosHost) {
- return results;
- } else {
- String template = NAGIOS_TEMPLATE;
-
- if (ComponentSSLConfiguration.instance().isNagiosSSL())
- template = template.replace("http", "https");
-
- String url = String.format(template, nagiosHost);
-
- InputStream in = null;
-
- try {
- in = urlStreamProvider.readFrom(url);
-
- NagiosAlerts alerts = new Gson().fromJson(IOUtils.toString(in, "UTF-8"), NagiosAlerts.class);
-
- results.addAll(alerts.alerts);
-
- Collections.sort(results, new Comparator<NagiosAlert>() {
- @Override
- public int compare(NagiosAlert o1, NagiosAlert o2) {
- if (o2.getStatus() != o1.getStatus())
- return o2.getStatus()-o1.getStatus();
- else {
- return (int)(o2.getLastStatusTime()-o1.getLastStatusTime());
- }
- }
- });
-
- return results;
- } catch (Exception e) {
- throw new SystemException("Error reading HTTP response for cluster " + clusterName +
- ", nagios=" + url + " (" + e.getMessage() + ")", e);
- } finally {
- if (in != null) {
- try {
- in.close();
- }
- catch (IOException ioe) {
- LOG.error("Error closing HTTP response stream " + url);
- }
- }
- }
- }
- }
-
- private static class NagiosAlerts {
- private List<NagiosAlert> alerts;
- }
-
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
index 63d8760..4a18c69 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
@@ -18,12 +18,13 @@
package org.apache.ambari.server.state;
-import com.google.inject.persist.Transactional;
+import java.util.Map;
+import java.util.concurrent.locks.ReadWriteLock;
+
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.ServiceResponse;
-import java.util.Map;
-import java.util.concurrent.locks.ReadWriteLock;
+import com.google.inject.persist.Transactional;
public interface Service {
@@ -108,7 +109,6 @@ public interface Service {
OOZIE,
WEBHCAT,
SQOOP,
- NAGIOS,
GANGLIA,
ZOOKEEPER,
PIG,
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java
index 5d78201..da3a572 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java
@@ -87,7 +87,7 @@ public class AlertDefinitionHash {
* All clusters.
*/
@Inject
- private Clusters m_clusters;
+ private Provider<Clusters> m_clusters;
@Inject
private ActionQueue m_actionQueue;
@@ -157,7 +157,7 @@ public class AlertDefinitionHash {
* @throws AmbariException
*/
public Map<String, String> getHashes(String hostName) throws AmbariException {
- Set<Cluster> clusters = m_clusters.getClustersForHost(hostName);
+ Set<Cluster> clusters = m_clusters.get().getClustersForHost(hostName);
if (null == clusters || clusters.size() == 0) {
return Collections.emptyMap();
}
@@ -321,7 +321,7 @@ public class AlertDefinitionHash {
Cluster cluster = null;
String clusterName = null;
try {
- cluster = m_clusters.getClusterById(clusterId);
+ cluster = m_clusters.get().getClusterById(clusterId);
if (null != cluster) {
clusterName = cluster.getClusterName();
}
@@ -380,7 +380,7 @@ public class AlertDefinitionHash {
Set<String> affectedHosts = new HashSet<String>();
try {
- hosts = m_clusters.getHostsForCluster(clusterName);
+ hosts = m_clusters.get().getHostsForCluster(clusterName);
} catch (AmbariException ambariException) {
LOG.error("Unable to lookup hosts for cluster named {}", clusterName,
ambariException);
@@ -460,7 +460,7 @@ public class AlertDefinitionHash {
String clusterName = null;
try {
- Cluster cluster = m_clusters.getClusterById(clusterId);
+ Cluster cluster = m_clusters.get().getClusterById(clusterId);
clusterName = cluster.getClusterName();
} catch (AmbariException ae) {
LOG.error("Unable to lookup cluster for alert definition commands", ae);
@@ -503,7 +503,7 @@ public class AlertDefinitionHash {
hostName, hash, definitions);
try {
- Cluster cluster = m_clusters.getCluster(clusterName);
+ Cluster cluster = m_clusters.get().getCluster(clusterName);
command.addConfigs(m_configHelper.get(), cluster);
} catch (AmbariException ae) {
LOG.warn("Unable to add configurations to alert definition command", ae);
@@ -594,7 +594,7 @@ public class AlertDefinitionHash {
Set<AlertDefinitionEntity> definitions = new HashSet<AlertDefinitionEntity>();
try {
- Cluster cluster = m_clusters.getCluster(clusterName);
+ Cluster cluster = m_clusters.get().getCluster(clusterName);
if (null == cluster) {
LOG.warn("Unable to get alert definitions for the missing cluster {}",
clusterName);
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java b/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
index 4339f60..5cd67f5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
@@ -120,7 +120,6 @@ public class StageUtils {
componentToClusterInfoKeyMap.put("WEBHCAT_SERVER", "webhcat_server_host");
componentToClusterInfoKeyMap.put("MYSQL_SERVER", "hive_mysql_host");
componentToClusterInfoKeyMap.put("DASHBOARD", "dashboard_host");
- componentToClusterInfoKeyMap.put("NAGIOS_SERVER", "nagios_server_host");
componentToClusterInfoKeyMap.put("GANGLIA_SERVER", "ganglia_server_host");
componentToClusterInfoKeyMap.put("DATANODE", "slave_hosts");
componentToClusterInfoKeyMap.put("TASKTRACKER", "mapred_tt_hosts");
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/resources/key_properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/key_properties.json b/ambari-server/src/main/resources/key_properties.json
index c1a6636..14e132d 100644
--- a/ambari-server/src/main/resources/key_properties.json
+++ b/ambari-server/src/main/resources/key_properties.json
@@ -145,12 +145,6 @@
"HostComponent": "HostComponentProcess/component_name",
"HostComponentProcess": "HostComponentProcess/name"
},
- "Alert": {
- "Cluster": "Alert/cluster_name",
- "Service": "Alert/service_name",
- "Host": "Alert/host_name",
- "Alert": "Alert/id"
- },
"ClientConfig": {
"Cluster": "ServiceComponentInfo/cluster_name",
"Service": "ServiceComponentInfo/service_name",
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index ad59922..189b70c 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -421,22 +421,6 @@
"HostComponentProcess/name",
"HostComponentProcess/status"
],
- "Alert": [
- "Alert/cluster_name",
- "Alert/id",
- "Alert/name",
- "Alert/latest_timestamp",
- "Alert/maintenance_state",
- "Alert/original_timestamp",
- "Alert/instance",
- "Alert/label",
- "Alert/state",
- "Alert/text",
- "Alert/component_name",
- "Alert/host_name",
- "Alert/service_name",
- "Alert/scope"
- ],
"ClientConfig":[
"ServiceComponentInfo/service_name",
"ServiceComponentInfo/component_name",
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index e1e25e0..2d898e5 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -3963,8 +3963,6 @@ public class AmbariManagementControllerTest {
assertEquals(1, response.getTasks().size());
taskStatus = response.getTasks().get(0);
Assert.assertEquals("h3", taskStatus.getHostName());
-
- Assert.assertTrue(null != cmd.getPassiveInfo());
}
@Test
@@ -4066,9 +4064,6 @@ public class AmbariManagementControllerTest {
Assert.assertEquals("CLIENT", roleParams.get(ExecutionCommand.KeyNames.COMPONENT_CATEGORY));
Assert.assertTrue(hrc.getExecutionCommandWrapper().getExecutionCommand().getCommandParams().containsKey("hdfs_client"));
Assert.assertEquals("abc", hrc.getExecutionCommandWrapper().getExecutionCommand().getCommandParams().get("hdfs_client"));
-
- // verify passive info is not passed when not NAGIOS
- Assert.assertNull(hrc.getExecutionCommandWrapper().getExecutionCommand().getPassiveInfo());
}
@SuppressWarnings("serial")
@@ -7611,8 +7606,7 @@ public class AmbariManagementControllerTest {
roleToIndex.put(Role.SQOOP, 20);
roleToIndex.put(Role.GANGLIA_SERVER, 21);
roleToIndex.put(Role.GANGLIA_MONITOR, 22);
- roleToIndex.put(Role.NAGIOS_SERVER, 23);
- roleToIndex.put(Role.AMBARI_SERVER_ACTION, 24);
+ roleToIndex.put(Role.AMBARI_SERVER_ACTION, 23);
}
}
@@ -9534,21 +9528,21 @@ public class AmbariManagementControllerTest {
null);
- ServiceComponentHost nagiosSch = null;
+ ServiceComponentHost monitoringServiceComponentHost = null;
for (ServiceComponentHost sch : cluster.getServiceComponentHosts(host1)) {
if (sch.getServiceComponentName().equals(fakeServer)) {
- nagiosSch = sch;
+ monitoringServiceComponentHost = sch;
}
}
- assertFalse(nagiosSch.isRestartRequired());
+
+ assertFalse(monitoringServiceComponentHost.isRestartRequired());
createServiceComponent(clusterName, hdfsService, hdfsClient,
State.INIT);
createServiceComponentHost(clusterName, hdfsService, hdfsClient, host1, null);
- assertTrue(nagiosSch.isRestartRequired());
-
+ assertTrue(monitoringServiceComponentHost.isRestartRequired());
}
@Test
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/MaintenanceStateHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/MaintenanceStateHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/MaintenanceStateHelperTest.java
index 9b4ce29..d9c5039 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/MaintenanceStateHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/MaintenanceStateHelperTest.java
@@ -17,45 +17,39 @@
*/
package org.apache.ambari.server.controller;
-import com.google.inject.Injector;
+import static org.easymock.EasyMock.anyInt;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.createMockBuilder;
+import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.createStrictMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.internal.RequestOperationLevel;
import org.apache.ambari.server.controller.internal.RequestResourceFilter;
import org.apache.ambari.server.controller.spi.Resource;
+import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Host;
import org.apache.ambari.server.state.MaintenanceState;
import org.apache.ambari.server.state.Service;
-import org.apache.ambari.server.state.ServiceComponent;
import org.apache.ambari.server.state.ServiceComponentHost;
-import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.easymock.Capture;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Test;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createMockBuilder;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.createStrictMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
+import com.google.inject.Injector;
/**
* Tests the {@link MaintenanceStateHelper} class
@@ -63,187 +57,6 @@ import static org.easymock.EasyMock.verify;
public class MaintenanceStateHelperTest {
@Test
- public void testService() throws Exception {
- testService(MaintenanceState.ON);
- testService(MaintenanceState.OFF);
- }
-
- @Test
- public void testHost() throws Exception {
- testHost(MaintenanceState.ON);
- testHost(MaintenanceState.OFF);
- }
-
- @Test
- public void testHostComponent() throws Exception {
- testHostComponent(MaintenanceState.ON);
- testHostComponent(MaintenanceState.OFF);
- }
-
- private void testHostComponent(MaintenanceState state) throws Exception {
- AmbariManagementController amc = createMock(AmbariManagementController.class);
- Capture<ExecuteActionRequest> earCapture = new Capture<ExecuteActionRequest>();
- Capture<Map<String, String>> rpCapture = new Capture<Map<String, String>>();
- expect(amc.createAction(capture(earCapture), capture(rpCapture))).andReturn(null);
- Injector injector = createStrictMock(Injector.class);
- MaintenanceStateHelper maintenanceStateHelper = createMockBuilder
- (MaintenanceStateHelper.class).withConstructor(injector).createMock();
-
- Clusters clusters = createMock(Clusters.class);
- Cluster cluster = createMock(Cluster.class);
- expect(amc.getClusters()).andReturn(clusters).anyTimes();
- expect(clusters.getClusterById(1L)).andReturn(cluster);
- expect(cluster.getClusterName()).andReturn("c1").anyTimes();
-
- ServiceComponentHost sch = createMock(ServiceComponentHost.class);
- expect(sch.getClusterName()).andReturn("c1");
- expect(sch.getClusterId()).andReturn(1L);
- expect(sch.getMaintenanceState()).andReturn(state);
- expect(sch.getServiceName()).andReturn("HDFS");
- expect(sch.getServiceComponentName()).andReturn("NAMENODE").anyTimes();
- expect(sch.getHostName()).andReturn("h1");
-
- replay(amc, clusters, cluster, sch, maintenanceStateHelper);
-
- Map<String, String> map = new HashMap<String, String>();
- map.put("context", "abc");
- maintenanceStateHelper.createRequests(amc, map, sch.getClusterName());
-
- ExecuteActionRequest ear = earCapture.getValue();
- map = rpCapture.getValue();
-
- Assert.assertEquals("nagios_update_ignore", ear.getActionName());
- Assert.assertEquals(null, ear.getCommandName());
- Assert.assertEquals(1, ear.getResourceFilters().size());
- RequestResourceFilter resourceFilter = ear.getResourceFilters().get(0);
-
- Assert.assertEquals("NAGIOS", resourceFilter.getServiceName());
- Assert.assertEquals("NAGIOS_SERVER", resourceFilter.getComponentName());
- Assert.assertEquals("c1", ear.getClusterName());
- Assert.assertTrue(map.containsKey("context"));
- Assert.assertEquals(ear.getOperationLevel().getLevel(), Type.HostComponent);
- }
-
- private void testHost(MaintenanceState state) throws Exception {
- AmbariManagementController amc = createMock(AmbariManagementController.class);
- Capture<ExecuteActionRequest> earCapture = new Capture<ExecuteActionRequest>();
- Capture<Map<String, String>> rpCapture = new Capture<Map<String, String>>();
- expect(amc.createAction(capture(earCapture), capture(rpCapture))).andReturn(null);
- Injector injector = createStrictMock(Injector.class);
- MaintenanceStateHelper maintenanceStateHelper = createMockBuilder
- (MaintenanceStateHelper.class).withConstructor(injector).createMock();
-
- Clusters clusters = createMock(Clusters.class);
- Cluster cluster = createMock(Cluster.class);
- Service service = createMock(Service.class);
-
- ServiceComponent sc1 = createMock(ServiceComponent.class);
- ServiceComponent sc2 = createMock(ServiceComponent.class);
- expect(sc1.isClientComponent()).andReturn(Boolean.FALSE).anyTimes();
- expect(sc2.isClientComponent()).andReturn(Boolean.TRUE).anyTimes();
-
- ServiceComponentHost sch1 = createMock(ServiceComponentHost.class);
- Map<String, ServiceComponentHost> schMap = new HashMap<String, ServiceComponentHost>();
- schMap.put("h1", sch1);
- expect(sch1.getHostName()).andReturn("h1");
- expect(sch1.getServiceName()).andReturn("HDFS").anyTimes();
- expect(sch1.getServiceComponentName()).andReturn("NAMENODE").anyTimes();
-
- List<ServiceComponentHost> schList = new ArrayList<ServiceComponentHost>(schMap.values());
-
- expect(amc.getClusters()).andReturn(clusters).anyTimes();
- expect(clusters.getClusterById(1L)).andReturn(cluster);
- expect(cluster.getClusterName()).andReturn("c1").anyTimes();
- expect(cluster.getService("HDFS")).andReturn(service).anyTimes();
- expect(cluster.getClusterId()).andReturn(Long.valueOf(1L));
- expect(cluster.getServiceComponentHosts("h1")).andReturn(schList);
- expect(service.getServiceComponent("NAMENODE")).andReturn(sc1);
-
- Host host = createMock(Host.class);
- expect(host.getHostName()).andReturn("h1").anyTimes();
- expect(host.getMaintenanceState(1L)).andReturn(state);
-
- replay(amc, clusters, cluster, service, sch1, host, maintenanceStateHelper);
-
- Map<String, String> map = new HashMap<String, String>();
- map.put("context", "abc");
- maintenanceStateHelper.createRequests(amc, map, cluster.getClusterName());
-
- ExecuteActionRequest ear = earCapture.getValue();
- rpCapture.getValue();
-
- Assert.assertEquals("nagios_update_ignore", ear.getActionName());
- Assert.assertEquals(null, ear.getCommandName());
- Assert.assertEquals(1, ear.getResourceFilters().size());
- RequestResourceFilter resourceFilter = ear.getResourceFilters().get(0);
- Assert.assertEquals("NAGIOS", resourceFilter.getServiceName());
- Assert.assertEquals("NAGIOS_SERVER", resourceFilter.getComponentName());
- Assert.assertEquals("c1", ear.getClusterName());
- Assert.assertTrue(map.containsKey("context"));
- Assert.assertEquals(ear.getOperationLevel().getLevel(), Type.HostComponent);
- }
-
- private void testService(MaintenanceState state) throws Exception {
- AmbariManagementController amc = createMock(AmbariManagementController.class);
- Capture<ExecuteActionRequest> earCapture = new Capture<ExecuteActionRequest>();
- Capture<Map<String, String>> rpCapture = new Capture<Map<String, String>>();
- expect(amc.createAction(capture(earCapture), capture(rpCapture))).andReturn(null);
- Injector injector = createStrictMock(Injector.class);
- MaintenanceStateHelper maintenanceStateHelper = createMockBuilder
- (MaintenanceStateHelper.class).withConstructor(injector).createMock();
-
- Clusters clusters = createMock(Clusters.class);
- Cluster cluster = createMock(Cluster.class);
- Service service = createMock(Service.class);
-
- ServiceComponent sc1 = createMock(ServiceComponent.class);
- ServiceComponent sc2 = createMock(ServiceComponent.class);
- expect(sc1.isClientComponent()).andReturn(Boolean.FALSE).anyTimes();
- expect(sc2.isClientComponent()).andReturn(Boolean.TRUE).anyTimes();
-
- ServiceComponentHost sch1 = createMock(ServiceComponentHost.class);
- Map<String, ServiceComponentHost> schMap = new HashMap<String, ServiceComponentHost>();
- schMap.put("h1", sch1);
- expect(sch1.getHostName()).andReturn("h1");
- expect(sch1.getServiceName()).andReturn("HDFS");
- expect(sch1.getServiceComponentName()).andReturn("NAMENODE");
-
- expect(sc1.getServiceComponentHosts()).andReturn(schMap);
-
- Map<String, ServiceComponent> scMap = new HashMap<String, ServiceComponent>();
- scMap.put("NAMENODE", sc1);
- scMap.put("HDFS_CLIENT", sc2);
-
- expect(amc.getClusters()).andReturn(clusters).anyTimes();
- expect(clusters.getClusterById(1L)).andReturn(cluster);
- expect(cluster.getClusterName()).andReturn("c1");
- expect(cluster.getClusterId()).andReturn(1L);
- expect(service.getCluster()).andReturn(cluster);
- expect(service.getServiceComponents()).andReturn(scMap);
- expect(service.getMaintenanceState()).andReturn(state);
- expect(service.getName()).andReturn("HDFS");
-
- replay(amc, clusters, cluster, service, sc1, sc2, sch1, maintenanceStateHelper);
-
- Map<String, String> map = new HashMap<String, String>();
- map.put("context", "abc");
- maintenanceStateHelper.createRequests(amc, map, "c1");
-
- ExecuteActionRequest ear = earCapture.getValue();
- map = rpCapture.getValue();
-
- Assert.assertEquals("nagios_update_ignore", ear.getActionName());
- Assert.assertEquals(null, ear.getCommandName());
- Assert.assertEquals(1, ear.getResourceFilters().size());
- RequestResourceFilter resourceFilter = ear.getResourceFilters().get(0);
- Assert.assertEquals("NAGIOS", resourceFilter.getServiceName());
- Assert.assertEquals("NAGIOS_SERVER", resourceFilter.getComponentName());
- Assert.assertEquals("c1", ear.getClusterName());
- Assert.assertTrue(map.containsKey("context"));
- Assert.assertEquals(ear.getOperationLevel().getLevel(), Type.HostComponent);
- }
-
- @Test
public void testisOperationAllowed() throws Exception {
// Tests that isOperationAllowed() falls
// back to guessing req op level if operation level is not specified
@@ -540,34 +353,6 @@ public class MaintenanceStateHelperTest {
Assert.assertTrue(ignored.contains("host3"));
}
- @Test
- public void testcreateRequests() throws AmbariException {
- Injector injector = createStrictMock(Injector.class);
- MaintenanceStateHelper maintenanceStateHelper =
- createMockBuilder(MaintenanceStateHelper.class)
- .withConstructor(injector)
- .createNiceMock();
- replay(maintenanceStateHelper);
-
- RequestStatusResponse rsrMock = EasyMock.createMock(RequestStatusResponse.class);
- AmbariManagementController amcMock = EasyMock.createMock(AmbariManagementController.class);
-
- Capture<Map<String, String>> rpCapture = new Capture<Map<String, String>>();
- Capture<ExecuteActionRequest> actReqCapture = new Capture<ExecuteActionRequest>();
- expect(amcMock.createAction(capture(actReqCapture), capture(rpCapture))).andReturn(rsrMock);
- replay(amcMock, rsrMock);
-
- Map<String, String> requestProperties = new HashMap<String, String>();
- requestProperties.put("context", "some.request.description");
-
- maintenanceStateHelper.createRequests(amcMock, requestProperties, "dummy_cluster");
-
- verify(amcMock);
-
- // Check that new request name is substituted
- Assert.assertEquals(rpCapture.getValue().get("context"), MaintenanceStateHelper.UPDATE_NAGIOS_REQUEST_NAME);
- }
-
private static void injectField(MaintenanceStateHelper maintenanceStateHelper, Clusters clusters)
throws NoSuchFieldException, IllegalAccessException {
Class<?> maintenanceHelperClass = MaintenanceStateHelper.class;
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
index b7e8ced..c1567dc 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
@@ -92,7 +92,6 @@ public class AlertDefinitionResourceProviderTest {
m_injector = Guice.createInjector(Modules.override(
new InMemoryDefaultTestModule()).with(new MockModule()));
- AlertDefinitionResourceProvider.init(m_injector);
m_injector.injectMembers(m_factory);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java
index 3d9f331..1c85aeb 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java
@@ -108,10 +108,11 @@ public class AlertGroupResourceProviderTest {
m_clusters = createMock(Clusters.class);
m_cluster = createMock(Cluster.class);
+ // create an injector which will inject the mocks
m_injector = Guice.createInjector(Modules.override(
new InMemoryDefaultTestModule()).with(new MockModule()));
- AlertGroupResourceProvider.init(m_injector);
+ assertNotNull(m_injector);
expect(m_amc.getClusters()).andReturn(m_clusters).atLeastOnce();
expect(m_clusters.getCluster((String) anyObject())).andReturn(m_cluster).atLeastOnce();
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java
index 49caffc..0367dd3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProviderTest.java
@@ -66,10 +66,11 @@ public class AlertHistoryResourceProviderTest {
public void before() {
m_dao = createStrictMock(AlertsDAO.class);
+ // create an injector which will inject the mocks
m_injector = Guice.createInjector(Modules.override(
new InMemoryDefaultTestModule()).with(new MockModule()));
- AlertHistoryResourceProvider.init(m_injector);
+ Assert.assertNotNull(m_injector);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProviderTest.java
index 22c30bc..3322da6 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProviderTest.java
@@ -72,10 +72,11 @@ public class AlertNoticeResourceProviderTest {
public void before() {
m_dao = createStrictMock(AlertDispatchDAO.class);
+ // create an injector which will inject the mocks
m_injector = Guice.createInjector(Modules.override(
new InMemoryDefaultTestModule()).with(new MockModule()));
- AlertNoticeResourceProvider.init(m_injector);
+ Assert.assertNotNull(m_injector);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertResourceProviderTest.java
index eef05f6..c1e7576 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertResourceProviderTest.java
@@ -22,6 +22,7 @@ import static org.apache.ambari.server.configuration.Configuration.JDBC_IN_MEMRO
import static org.easymock.EasyMock.capture;
import static org.easymock.EasyMock.captureLong;
import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.createStrictMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
@@ -50,6 +51,7 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.DBAccessorImpl;
+import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
import org.apache.ambari.server.orm.dao.AlertsDAO;
import org.apache.ambari.server.orm.entities.AlertCurrentEntity;
import org.apache.ambari.server.orm.entities.AlertDefinitionEntity;
@@ -67,6 +69,7 @@ import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
+import com.google.inject.util.Modules;
/**
* Test the AlertResourceProvider class
@@ -82,13 +85,16 @@ public class AlertResourceProviderTest {
private static final String ALERT_VALUE_SERVICE = "service";
private AlertsDAO m_dao;
-// private Injector m_injector;
+ private Injector m_injector;
private AmbariManagementController m_amc;
@Before
@SuppressWarnings("boxing")
public void before() throws Exception {
- Injector m_injector = Guice.createInjector(new MockModule());
+ m_dao = createStrictMock(AlertsDAO.class);
+
+ m_injector = Guice.createInjector(Modules.override(
+ new InMemoryDefaultTestModule()).with(new MockModule()));
m_amc = m_injector.getInstance(AmbariManagementController.class);
@@ -100,10 +106,6 @@ public class AlertResourceProviderTest {
expect(cluster.getClusterId()).andReturn(Long.valueOf(1L));
replay(m_amc, clusters, cluster);
-
- m_dao = m_injector.getInstance(AlertsDAO.class);
-
- AlertResourceProvider.init(m_injector);
}
@@ -119,7 +121,7 @@ public class AlertResourceProviderTest {
Request request = PropertyHelper.getReadRequest(
AlertResourceProvider.ALERT_ID,
- AlertResourceProvider.ALERT_NAME,
+ AlertResourceProvider.ALERT_DEFINITION_NAME,
AlertResourceProvider.ALERT_LABEL);
Predicate predicate = new PredicateBuilder().property(
@@ -148,7 +150,7 @@ public class AlertResourceProviderTest {
Request request = PropertyHelper.getReadRequest(
AlertResourceProvider.ALERT_ID,
- AlertResourceProvider.ALERT_NAME,
+ AlertResourceProvider.ALERT_DEFINITION_NAME,
AlertResourceProvider.ALERT_LABEL);
Predicate predicate = new PredicateBuilder().property(
@@ -179,7 +181,7 @@ public class AlertResourceProviderTest {
Request request = PropertyHelper.getReadRequest(
AlertResourceProvider.ALERT_ID,
- AlertResourceProvider.ALERT_NAME,
+ AlertResourceProvider.ALERT_DEFINITION_NAME,
AlertResourceProvider.ALERT_LABEL);
Predicate predicate = new PredicateBuilder().property(
@@ -212,7 +214,7 @@ public class AlertResourceProviderTest {
replay(m_dao);
Request request = PropertyHelper.getReadRequest(
- AlertResourceProvider.ALERT_ID, AlertResourceProvider.ALERT_NAME,
+ AlertResourceProvider.ALERT_ID, AlertResourceProvider.ALERT_DEFINITION_NAME,
AlertResourceProvider.ALERT_LABEL, AlertResourceProvider.ALERT_STATE,
AlertResourceProvider.ALERT_ORIGINAL_TIMESTAMP);
@@ -268,7 +270,7 @@ public class AlertResourceProviderTest {
replay(m_dao);
Request request = PropertyHelper.getReadRequest(
- AlertResourceProvider.ALERT_ID, AlertResourceProvider.ALERT_NAME,
+ AlertResourceProvider.ALERT_ID, AlertResourceProvider.ALERT_DEFINITION_NAME,
AlertResourceProvider.ALERT_LABEL, AlertResourceProvider.ALERT_STATE,
AlertResourceProvider.ALERT_ORIGINAL_TIMESTAMP);
@@ -302,10 +304,7 @@ public class AlertResourceProviderTest {
}
private AlertResourceProvider createProvider() {
- return new AlertResourceProvider(
- PropertyHelper.getPropertyIds(Resource.Type.Alert),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Alert),
- m_amc);
+ return new AlertResourceProvider(m_amc);
}
/**
@@ -414,7 +413,7 @@ public class AlertResourceProviderTest {
@Override
public void configure(Binder binder) {
binder.bind(EntityManager.class).toInstance(EasyMock.createMock(EntityManager.class));
- binder.bind(AlertsDAO.class).toInstance(EasyMock.createMock(AlertsDAO.class));
+ binder.bind(AlertsDAO.class).toInstance(m_dao);
binder.bind(AmbariManagementController.class).toInstance(createMock(AmbariManagementController.class));
binder.bind(DBAccessor.class).to(DBAccessorImpl.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/291974ee/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java
index ce623ed..7a633e7 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java
@@ -81,10 +81,11 @@ public class AlertTargetResourceProviderTest {
m_dao = createStrictMock(AlertDispatchDAO.class);
m_amc = createMock(AmbariManagementController.class);
+ // create an injector which will inject the mocks
m_injector = Guice.createInjector(Modules.override(
new InMemoryDefaultTestModule()).with(new MockModule()));
- AlertTargetResourceProvider.init(m_injector);
+ Assert.assertNotNull(m_injector);
}
/**