blob: 207bfb021cde83e3bc59a0bd3081cc6f55a84349 [file] [log] [blame]
/**
* 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
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* 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.bigtop.itest.packagesmoke
import org.apache.bigtop.itest.pmanager.PackageManager
class BTServices {
static final List serviceDaemonUserNames = ["hbase", "hdfs", "hue", "mapred", "oozie", "sqoop",
"zookeeper", "hadoop"];
static final Map components = [
HDFS: [services: ["hadoop-namenode", "hadoop-datanode",
"hadoop-secondarynamenode"],
verifier: new StateVerifierHDFS(),
killIDs: ["hdfs"],
],
mapreduce: [services: ["hadoop-namenode", "hadoop-datanode",
"hadoop-jobtracker", "hadoop-tasktracker"],
killIDs: ["hdfs", "mapred"],
verifier: new StateVerifierMapreduce(),
],
hive: [services: ["hadoop-namenode", "hadoop-datanode",
"hadoop-jobtracker", "hadoop-tasktracker"],
killIDs: ["hdfs", "mapred"],
verifier: new StateVerifierHive(),
],
HBase: [services: ["hadoop-namenode", "hadoop-datanode",
"hbase-master"],
killIDs: ["hdfs", "hbase"],
verifier: new StateVerifierHBase(),
],
zookeeper: [services: ["hadoop-zookeeper"],
verifier: new StateVerifierZookeeper(),
killIDs: ["zookeeper"],
],
oozie: [services: ["hadoop-namenode", "hadoop-datanode", "hadoop-jobtracker", "hadoop-tasktracker",
"oozie"],
killIDs: ["hdfs", "mapred", "oozie"],
verifier: new StateVerifierOozie(),
],
sqoop: [services: ["hadoop-namenode", "hadoop-datanode",
"sqoop-metastore"],
killIDs: ["hdfs", "sqoop"],
verifier: new StateVerifierSqoop(),
],
hue: [services: ["hadoop-namenode", "hadoop-datanode", "hadoop-jobtracker", "hadoop-tasktracker",
"hue"],
killIDs: ["hdfs", "mapred", "hue"],
verifier: new StateVerifierHue(),
],
];
static final Map<String, List<String>> release2services = [
"bigtop": ["HDFS", "mapreduce", "hive", "HBase", "zookeeper", "oozie"],
];
public static Map getServices(String release) {
Map res = [:];
List<String> services;
if ((release =~ /\.\./).find()) {
String release_from = release.replaceAll(/\.\..*$/, "");
release = release.replaceAll(/^.*\.\./, "");
services = release2services[release].clone();
release2services[release_from].each {
services.remove(it);
}
} else {
services = release2services[release];
}
services.each {
// zookeeper is a very messy case of naming :-(
if (it == "zookeeper" &&
(PackageManager.getPackageManager().type == 'apt' ||
release == "3" || release == "3u1" || release == "bigtop")) {
res[it] = [services: ["hadoop-zookeeper-server"],
verifier: new StateVerifierZookeeper(),
];
} else {
res[it] = components[it];
}
}
return res;
}
}