Author: mahadev
Date: Tue Jan 29 18:17:02 2013
New Revision: 1440043
URL: http://svn.apache.org/viewvc?rev=1440043&view=rev
Log:
AMBARI-1293. Add test case for API not allowing starting of host components
that are in STOP_FAILED state
Added:
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
Modified:
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
Added:
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java?rev=1440043&view=auto
==============================================================================
---
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
(added)
+++
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
Tue Jan 29 18:17:02 2013
@@ -0,0 +1,42 @@
+/**
+ * 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.agent;
+
+import org.apache.ambari.server.Role;
+
+public interface DummyHeartbeatConstants {
+
+ String DummyCluster = "cluster1";
+ String DummyHostname1 = "host1";
+ String DummyOs = "CentOS";
+ String DummyOsType = "centos5";
+ String DummyOSRelease = "5.8";
+
+ String DummyHostStatus = "I am ok";
+
+ String DummyStackId = "HDP-0.1";
+
+ String HDFS = "HDFS";
+ String HBASE = "HBASE";
+
+ String DATANODE = Role.DATANODE.name();
+ String NAMENODE = Role.NAMENODE.name();
+ String SECONDARY_NAMENODE = Role.SECONDARY_NAMENODE.name();
+ String HBASE_MASTER = Role.HBASE_MASTER.name();
+
+}
Modified:
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java?rev=1440043&r1=1440042&r2=1440043&view=diff
==============================================================================
---
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
(original)
+++
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
Tue Jan 29 18:17:02 2013
@@ -47,11 +47,14 @@ import javax.xml.bind.JAXBException;
import java.io.IOException;
import java.util.*;
+import static org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS;
import static org.junit.Assert.*;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import static org.apache.ambari.server.agent.DummyHeartbeatConstants.*;
+
public class TestHeartbeatHandler {
private static final Logger log =
LoggerFactory.getLogger(TestHeartbeatHandler.class);
@@ -85,22 +88,21 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
- fsm.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ fsm.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
- hostObject.setOsType("centos5");
+ hostObject.setOsType(DummyOsType);
ActionQueue aq = new ActionQueue();
HeartBeatHandler handler = new HeartBeatHandler(fsm, aq, am, injector);
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("CentOS");
- hi.setOSRelease("5.8");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOs);
+ hi.setOSRelease(DummyOSRelease);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
handler.handleRegistration(reg);
@@ -108,73 +110,62 @@ public class TestHeartbeatHandler {
ExecutionCommand execCmd = new ExecutionCommand();
execCmd.setCommandId("2-34");
- execCmd.setHostname(hostname);
- aq.enqueue(hostname, new ExecutionCommand());
+ execCmd.setHostname(DummyHostname1);
+ aq.enqueue(DummyHostname1, new ExecutionCommand());
HeartBeat hb = new HeartBeat();
hb.setResponseId(0);
- hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
- hb.setHostname(hostname);
+ hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
+ hb.setHostname(DummyHostname1);
handler.handleHeartBeat(hb);
assertEquals(HostState.HEALTHY, hostObject.getState());
- assertEquals(0, aq.dequeueAll(hostname).size());
+ assertEquals(0, aq.dequeueAll(DummyHostname1).size());
}
@Test
public void testStatusHeartbeat() throws Exception {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
- final String hostname = "host1";
- String clusterName = "cluster1";
- String serviceName = "HDFS";
- String componentName1 = "DATANODE";
- String componentName2 = "NAMENODE";
- //injector.injectMembers(this);
-
- clusters.addHost(hostname);
- clusters.getHost(hostname).setOsType("centos5");
- clusters.getHost(hostname).persist();
-// Host hostObject = clusters.getHost(hostname);
-// hostObject.setIPv4("ipv4");
-// hostObject.setIPv6("ipv6");
-// hostObject.setOsType("centos5");
-// hostObject.persist();
- clusters.addCluster(clusterName);
- Cluster cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+ clusters.addHost(DummyHostname1);
+ clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+ clusters.getHost(DummyHostname1).persist();
+ clusters.addCluster(DummyCluster);
+
+ Cluster cluster = clusters.getCluster(DummyCluster);
+ cluster.setDesiredStackVersion(new StackId(DummyStackId));
@SuppressWarnings("serial")
Set<String> hostNames = new HashSet<String>(){{
- add(hostname);
+ add(DummyHostname1);
}};
- clusters.mapHostsToCluster(hostNames, clusterName);
- Service hdfs = cluster.addService(serviceName);
+ clusters.mapHostsToCluster(hostNames, DummyCluster);
+ Service hdfs = cluster.addService(HDFS);
hdfs.persist();
- hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+ hdfs.addServiceComponent(DATANODE).persist();
+
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(NAMENODE).persist();
+
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
ActionQueue aq = new ActionQueue();
HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am,
injector);
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("CentOS");
- hi.setOSRelease("5.8");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOs);
+ hi.setOSRelease(DummyOSRelease);
+ reg.setHostname(DummyHostname1);
reg.setResponseId(0);
reg.setHardwareProfile(hi);
handler.handleRegistration(reg);
- ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName1).getServiceComponentHost(hostname);
- ServiceComponentHost serviceComponentHost2 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName2).getServiceComponentHost(hostname);
+ ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
+ ServiceComponentHost serviceComponentHost2 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
serviceComponentHost1.setState(State.INSTALLED);
serviceComponentHost2.setState(State.INSTALLED);
@@ -182,16 +173,16 @@ public class TestHeartbeatHandler {
HeartBeat hb = new HeartBeat();
hb.setTimestamp(System.currentTimeMillis());
hb.setResponseId(0);
- hb.setHostname(hostname);
- hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+ hb.setHostname(DummyHostname1);
+ hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
hb.setReports(new ArrayList<CommandReport>());
ArrayList<ComponentStatus> componentStatuses = new
ArrayList<ComponentStatus>();
ComponentStatus componentStatus1 = new ComponentStatus();
- componentStatus1.setClusterName(clusterName);
- componentStatus1.setServiceName(serviceName);
- componentStatus1.setMessage("I am ok");
+ componentStatus1.setClusterName(DummyCluster);
+ componentStatus1.setServiceName(HDFS);
+ componentStatus1.setMessage(DummyHostStatus);
componentStatus1.setStatus(State.STARTED.name());
- componentStatus1.setComponentName(componentName1);
+ componentStatus1.setComponentName(DATANODE);
componentStatuses.add(componentStatus1);
hb.setComponentStatus(componentStatuses);
@@ -206,60 +197,48 @@ public class TestHeartbeatHandler {
public void testStartFailedStatusHeartbeat() throws Exception {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
- final String hostname = "host1";
- String clusterName = "cluster1";
- String serviceName = "HDFS";
- String componentName1 = "DATANODE";
- String componentName2 = "NAMENODE";
- String componentName3 = "SECONDARY_NAMENODE";
- //injector.injectMembers(this);
-
- clusters.addHost(hostname);
- clusters.getHost(hostname).setOsType("centos5");
- clusters.getHost(hostname).persist();
-// Host hostObject = clusters.getHost(hostname);
-// hostObject.setIPv4("ipv4");
-// hostObject.setIPv6("ipv6");
-// hostObject.setOsType("centos5");
-// hostObject.persist();
- clusters.addCluster(clusterName);
- Cluster cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+ clusters.addHost(DummyHostname1);
+ clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+ clusters.getHost(DummyHostname1).persist();
+ clusters.addCluster(DummyCluster);
+
+ Cluster cluster = clusters.getCluster(DummyCluster);
+ cluster.setDesiredStackVersion(new StackId(DummyStackId));
@SuppressWarnings("serial")
Set<String> hostNames = new HashSet<String>(){{
- add(hostname);
+ add(DummyHostname1);
}};
- clusters.mapHostsToCluster(hostNames, clusterName);
- Service hdfs = cluster.addService(serviceName);
+ clusters.mapHostsToCluster(hostNames, DummyCluster);
+ Service hdfs = cluster.addService(HDFS);
hdfs.persist();
- hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+ hdfs.addServiceComponent(DATANODE).persist();
+
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(NAMENODE).persist();
+
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
ActionQueue aq = new ActionQueue();
HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am,
injector);
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("CentOS");
- hi.setOSRelease("5.8");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOs);
+ hi.setOSRelease(DummyOSRelease);
+ reg.setHostname(DummyHostname1);
reg.setResponseId(0);
reg.setHardwareProfile(hi);
handler.handleRegistration(reg);
- ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName1).getServiceComponentHost(hostname);
- ServiceComponentHost serviceComponentHost2 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName2).getServiceComponentHost(hostname);
- ServiceComponentHost serviceComponentHost3 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName3).getServiceComponentHost(hostname);
+ ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
+ ServiceComponentHost serviceComponentHost2 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
+ ServiceComponentHost serviceComponentHost3 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(SECONDARY_NAMENODE).getServiceComponentHost(DummyHostname1);
serviceComponentHost1.setState(State.INSTALLED);
serviceComponentHost2.setState(State.START_FAILED);
serviceComponentHost3.setState(State.STARTED);
@@ -267,32 +246,32 @@ public class TestHeartbeatHandler {
HeartBeat hb = new HeartBeat();
hb.setTimestamp(System.currentTimeMillis());
hb.setResponseId(0);
- hb.setHostname(hostname);
- hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+ hb.setHostname(DummyHostname1);
+ hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
hb.setReports(new ArrayList<CommandReport>());
ArrayList<ComponentStatus> componentStatuses = new
ArrayList<ComponentStatus>();
ComponentStatus componentStatus1 = new ComponentStatus();
- componentStatus1.setClusterName(clusterName);
- componentStatus1.setServiceName(serviceName);
- componentStatus1.setMessage("I am ok");
+ componentStatus1.setClusterName(DummyCluster);
+ componentStatus1.setServiceName(HDFS);
+ componentStatus1.setMessage(DummyHostStatus);
componentStatus1.setStatus(State.START_FAILED.name());
- componentStatus1.setComponentName(componentName1);
+ componentStatus1.setComponentName(DATANODE);
componentStatuses.add(componentStatus1);
ComponentStatus componentStatus2 = new ComponentStatus();
- componentStatus2.setClusterName(clusterName);
- componentStatus2.setServiceName(serviceName);
- componentStatus2.setMessage("I am ok");
+ componentStatus2.setClusterName(DummyCluster);
+ componentStatus2.setServiceName(HDFS);
+ componentStatus2.setMessage(DummyHostStatus);
componentStatus2.setStatus(State.INSTALLED.name());
- componentStatus2.setComponentName(componentName2);
+ componentStatus2.setComponentName(NAMENODE);
componentStatuses.add(componentStatus2);
ComponentStatus componentStatus3 = new ComponentStatus();
- componentStatus3.setClusterName(clusterName);
- componentStatus3.setServiceName(serviceName);
- componentStatus3.setMessage("I am ok");
+ componentStatus3.setClusterName(DummyCluster);
+ componentStatus3.setServiceName(HDFS);
+ componentStatus3.setMessage(DummyHostStatus);
componentStatus3.setStatus(State.INSTALLED.name());
- componentStatus3.setComponentName(componentName3);
+ componentStatus3.setComponentName(SECONDARY_NAMENODE);
componentStatuses.add(componentStatus3);
hb.setComponentStatus(componentStatuses);
@@ -307,52 +286,133 @@ public class TestHeartbeatHandler {
}
@Test
+ public void testLiveStatusUpdateAfterStopFailed() throws Exception {
+ ActionManager am = new ActionManager(0, 0, null, null,
+ new ActionDBInMemoryImpl(), new HostsMap((String) null));
+ clusters.addHost(DummyHostname1);
+ clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+ clusters.getHost(DummyHostname1).persist();
+ clusters.addCluster(DummyCluster);
+
+ Cluster cluster = clusters.getCluster(DummyCluster);
+ cluster.setDesiredStackVersion(new StackId(DummyStackId));
+
+ @SuppressWarnings("serial")
+ Set<String> hostNames = new HashSet<String>(){{
+ add(DummyHostname1);
+ }};
+ clusters.mapHostsToCluster(hostNames, DummyCluster);
+ Service hdfs = cluster.addService(HDFS);
+ hdfs.persist();
+ hdfs.addServiceComponent(DATANODE).persist();
+ hdfs.getServiceComponent(DATANODE).
+ addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(NAMENODE).persist();
+ hdfs.getServiceComponent(NAMENODE).
+ addServiceComponentHost(DummyHostname1).persist();
+
+ ActionQueue aq = new ActionQueue();
+ HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am,
injector);
+
+ Register reg = new Register();
+ HostInfo hi = new HostInfo();
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOs);
+ hi.setOSRelease(DummyOSRelease);
+ reg.setHostname(DummyHostname1);
+ reg.setResponseId(0);
+ reg.setHardwareProfile(hi);
+ handler.handleRegistration(reg);
+
+ ServiceComponentHost serviceComponentHost1 = clusters.
+ getCluster(DummyCluster).getService(HDFS).
+ getServiceComponent(DATANODE).
+ getServiceComponentHost(DummyHostname1);
+ ServiceComponentHost serviceComponentHost2 = clusters.
+ getCluster(DummyCluster).getService(HDFS).
+ getServiceComponent(NAMENODE).
+ getServiceComponentHost(DummyHostname1);
+ serviceComponentHost1.setState(State.STOP_FAILED);
+ serviceComponentHost2.setState(State.STOP_FAILED);
+
+ HeartBeat hb = new HeartBeat();
+ hb.setTimestamp(System.currentTimeMillis());
+ hb.setResponseId(0);
+ hb.setHostname(DummyHostname1);
+ hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
+ hb.setReports(new ArrayList<CommandReport>());
+ ArrayList<ComponentStatus> componentStatuses = new
ArrayList<ComponentStatus>();
+
+ ComponentStatus componentStatus1 = new ComponentStatus();
+ componentStatus1.setClusterName(DummyCluster);
+ componentStatus1.setServiceName(HDFS);
+ componentStatus1.setMessage(DummyHostStatus);
+ componentStatus1.setStatus(State.STARTED.name());
+ componentStatus1.setComponentName(DATANODE);
+ componentStatuses.add(componentStatus1);
+
+ ComponentStatus componentStatus2 = new ComponentStatus();
+ componentStatus2.setClusterName(DummyCluster);
+ componentStatus2.setServiceName(HDFS);
+ componentStatus2.setMessage(DummyHostStatus);
+ componentStatus2.setStatus(State.INSTALLED.name());
+ componentStatus2.setComponentName(NAMENODE);
+ componentStatuses.add(componentStatus2);
+
+ hb.setComponentStatus(componentStatuses);
+
+ handler.handleHeartBeat(hb);
+ State componentState1 = serviceComponentHost1.getState();
+ State componentState2 = serviceComponentHost2.getState();
+ assertEquals(State.STARTED, componentState1);
+ assertEquals(State.INSTALLED, componentState2);
+ }
+
+ @Test
public void testCommandReport() throws AmbariException {
- String hostname = "host1";
- String clusterName = "cluster1";
injector.injectMembers(this);
- clusters.addHost(hostname);
- clusters.getHost(hostname).persist();
- clusters.addCluster(clusterName);
+ clusters.addHost(DummyHostname1);
+ clusters.getHost(DummyHostname1).persist();
+ clusters.addCluster(DummyCluster);
ActionDBAccessor db = injector.getInstance(ActionDBAccessorImpl.class);
ActionManager am = new ActionManager(5000, 1200000, new ActionQueue(),
clusters, db,
new HostsMap((String) null));
- populateActionDB(db, hostname);
+ populateActionDB(db, DummyHostname1);
Stage stage = db.getAllStages(requestId).get(0);
Assert.assertEquals(stageId, stage.getStageId());
- stage.setHostRoleStatus(hostname, "HBASE_MASTER", HostRoleStatus.QUEUED);
- db.hostRoleScheduled(stage, hostname, "HBASE_MASTER");
+ stage.setHostRoleStatus(DummyHostname1, HBASE_MASTER,
HostRoleStatus.QUEUED);
+ db.hostRoleScheduled(stage, DummyHostname1, HBASE_MASTER);
List<CommandReport> reports = new ArrayList<CommandReport>();
CommandReport cr = new CommandReport();
cr.setActionId(StageUtils.getActionId(requestId, stageId));
cr.setTaskId(1);
- cr.setRole("HBASE_MASTER");
+ cr.setRole(HBASE_MASTER);
cr.setStatus("COMPLETED");
cr.setStdErr("");
cr.setStdOut("");
cr.setExitCode(215);
reports.add(cr);
- am.processTaskResponse(hostname, reports);
+ am.processTaskResponse(DummyHostname1, reports);
assertEquals(215,
- am.getAction(requestId, stageId).getExitCode(hostname,
"HBASE_MASTER"));
+ am.getAction(requestId, stageId).getExitCode(DummyHostname1,
HBASE_MASTER));
assertEquals(HostRoleStatus.COMPLETED, am.getAction(requestId, stageId)
- .getHostRoleStatus(hostname, "HBASE_MASTER"));
+ .getHostRoleStatus(DummyHostname1, HBASE_MASTER));
Stage s = db.getAllStages(requestId).get(0);
assertEquals(HostRoleStatus.COMPLETED,
- s.getHostRoleStatus(hostname, "HBASE_MASTER"));
+ s.getHostRoleStatus(DummyHostname1, HBASE_MASTER));
assertEquals(215,
- s.getExitCode(hostname, "HBASE_MASTER"));
+ s.getExitCode(DummyHostname1, HBASE_MASTER));
}
- private void populateActionDB(ActionDBAccessor db, String hostname) {
- Stage s = new Stage(requestId, "/a/b", "cluster1");
+ private void populateActionDB(ActionDBAccessor db, String DummyHostname1) {
+ Stage s = new Stage(requestId, "/a/b", DummyCluster);
s.setStageId(stageId);
String filename = null;
- s.addHostRoleExecutionCommand(hostname, Role.HBASE_MASTER,
+ s.addHostRoleExecutionCommand(DummyHostname1, Role.HBASE_MASTER,
RoleCommand.START,
new ServiceComponentHostStartEvent(Role.HBASE_MASTER.toString(),
- hostname, System.currentTimeMillis(),
- new HashMap<String, String>()), "cluster1", "HBASE");
+ DummyHostname1, System.currentTimeMillis(),
+ new HashMap<String, String>()), DummyCluster, HBASE);
List<Stage> stages = new ArrayList<Stage>();
stages.add(s);
db.persistActions(stages);
@@ -364,23 +424,22 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
injector);
- clusters.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ clusters.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("centos5");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOsType);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
handler.handleRegistration(reg);
assertEquals(hostObject.getState(), HostState.HEALTHY);
- assertEquals("centos5", hostObject.getOsType());
+ assertEquals(DummyOsType, hostObject.getOsType());
assertTrue(hostObject.getLastRegistrationTime() != 0);
assertEquals(hostObject.getLastHeartbeatTime(),
hostObject.getLastRegistrationTime());
@@ -391,29 +450,28 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
injector);
- clusters.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ clusters.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("centos5");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOsType);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
- reg.setPublicHostname(hostname + "-public");
+ reg.setPublicHostname(DummyHostname1 + "-public");
handler.handleRegistration(reg);
assertEquals(hostObject.getState(), HostState.HEALTHY);
- assertEquals("centos5", hostObject.getOsType());
+ assertEquals(DummyOsType, hostObject.getOsType());
assertTrue(hostObject.getLastRegistrationTime() != 0);
assertEquals(hostObject.getLastHeartbeatTime(),
hostObject.getLastRegistrationTime());
- Host verifyHost = clusters.getHost(hostname);
+ Host verifyHost = clusters.getHost(DummyHostname1);
assertEquals(verifyHost.getPublicHostName(), reg.getPublicHostname());
}
@@ -424,19 +482,18 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
injector);
- clusters.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ clusters.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
+ hi.setHostName(DummyHostname1);
hi.setOS("MegaOperatingSystem");
- reg.setHostname(hostname);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
try {
handler.handleRegistration(reg);
@@ -453,9 +510,8 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
- fsm.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ fsm.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
@@ -463,9 +519,9 @@ public class TestHeartbeatHandler {
injector);
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
+ hi.setHostName(DummyHostname1);
hi.setOS("redhat5");
- reg.setHostname(hostname);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
RegistrationResponse response = handler.handleRegistration(reg);
@@ -487,7 +543,7 @@ public class TestHeartbeatHandler {
register.setTimestamp(new Date().getTime());
register.setResponseId(123);
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
+ hi.setHostName(DummyHostname1);
hi.setOS("redhat5");
register.setHardwareProfile(hi);
RegistrationResponse registrationResponse =
heartBeatHandler.handleRegistration(register);
@@ -534,8 +590,8 @@ public class TestHeartbeatHandler {
public void testStateCommandsAtRegistration() throws AmbariException,
InvalidStateTransitionException {
List<StatusCommand> dummyCmds = new ArrayList<StatusCommand>();
StatusCommand statusCmd1 = new StatusCommand();
- statusCmd1.setClusterName("Cluster");
- statusCmd1.setServiceName("HDFS");
+ statusCmd1.setClusterName(DummyCluster);
+ statusCmd1.setServiceName(HDFS);
dummyCmds.add(statusCmd1);
HeartbeatMonitor hm = mock(HeartbeatMonitor.class);
when(hm.generateStatusCommands(anyString())).thenReturn(dummyCmds);
@@ -543,21 +599,20 @@ public class TestHeartbeatHandler {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
Clusters fsm = clusters;
- String hostname = "host1";
ActionQueue actionQueue = new ActionQueue();
HeartBeatHandler handler = new HeartBeatHandler(fsm, actionQueue, am,
injector);
handler.setHeartbeatMonitor(hm);
- clusters.addHost(hostname);
- Host hostObject = clusters.getHost(hostname);
+ clusters.addHost(DummyHostname1);
+ Host hostObject = clusters.getHost(DummyHostname1);
hostObject.setIPv4("ipv4");
hostObject.setIPv6("ipv6");
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("redhat5");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOsType);
+ reg.setHostname(DummyHostname1);
reg.setHardwareProfile(hi);
RegistrationResponse registrationResponse =
handler.handleRegistration(reg);
registrationResponse.getStatusCommands();
@@ -569,67 +624,59 @@ public class TestHeartbeatHandler {
public void testTaskInProgressHandling() throws AmbariException,
InvalidStateTransitionException {
ActionManager am = new ActionManager(0, 0, null, null,
new ActionDBInMemoryImpl(), new HostsMap((String) null));
- final String hostname = "host1";
- String clusterName = "cluster1";
- String serviceName = "HDFS";
- String componentName1 = "DATANODE";
- String componentName2 = "NAMENODE";
-
- clusters.addHost(hostname);
- clusters.getHost(hostname).setOsType("centos5");
- clusters.getHost(hostname).persist();
- clusters.addCluster(clusterName);
+ clusters.addHost(DummyHostname1);
+ clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+ clusters.getHost(DummyHostname1).persist();
+ clusters.addCluster(DummyCluster);
- Cluster cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+ Cluster cluster = clusters.getCluster(DummyCluster);
+ cluster.setDesiredStackVersion(new StackId(DummyStackId));
@SuppressWarnings("serial")
Set<String> hostNames = new HashSet<String>(){{
- add(hostname);
+ add(DummyHostname1);
}};
- clusters.mapHostsToCluster(hostNames, clusterName);
- Service hdfs = cluster.addService(serviceName);
+ clusters.mapHostsToCluster(hostNames, DummyCluster);
+ Service hdfs = cluster.addService(HDFS);
hdfs.persist();
- hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
- hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+ hdfs.addServiceComponent(DATANODE).persist();
+
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(NAMENODE).persist();
+
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+ hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
ActionQueue aq = new ActionQueue();
HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am,
injector);
Register reg = new Register();
HostInfo hi = new HostInfo();
- hi.setHostName("host1");
- hi.setOS("CentOS");
- hi.setOSRelease("5.8");
- reg.setHostname(hostname);
+ hi.setHostName(DummyHostname1);
+ hi.setOS(DummyOs);
+ hi.setOSRelease(DummyOSRelease);
+ reg.setHostname(DummyHostname1);
reg.setResponseId(0);
reg.setHardwareProfile(hi);
handler.handleRegistration(reg);
- ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName1).getServiceComponentHost(hostname);
- ServiceComponentHost serviceComponentHost2 =
clusters.getCluster(clusterName).getService(serviceName).
-
getServiceComponent(componentName2).getServiceComponentHost(hostname);
+ ServiceComponentHost serviceComponentHost1 =
clusters.getCluster(DummyCluster).getService(HDFS).
+
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
serviceComponentHost1.setState(State.INSTALLING);
HeartBeat hb = new HeartBeat();
hb.setTimestamp(System.currentTimeMillis());
hb.setResponseId(0);
- hb.setHostname(hostname);
- hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+ hb.setHostname(DummyHostname1);
+ hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
List<CommandReport> reports = new ArrayList<CommandReport>();
CommandReport cr = new CommandReport();
cr.setActionId(StageUtils.getActionId(requestId, stageId));
cr.setTaskId(1);
- cr.setClusterName(clusterName);
- cr.setServiceName(serviceName);
- cr.setRole(componentName1);
+ cr.setClusterName(DummyCluster);
+ cr.setServiceName(HDFS);
+ cr.setRole(DATANODE);
cr.setStatus("IN_PROGRESS");
cr.setStdErr("none");
cr.setStdOut("dummy output");