Repository: ambari
Updated Branches:
  refs/heads/trunk 9e22e1731 -> ef7fe6b5c


http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/configuration/users-ldif.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/configuration/users-ldif.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/configuration/users-ldif.xml
deleted file mode 100644
index ace4858..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/configuration/users-ldif.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * 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.
- */
--->
-
-<configuration supports_final="false" supports_adding_forbidden="true">
-
-    <property>
-        <name>content</name>
-        <value>
-# 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.
-
-version: 1
-
-# Please replace with site specific values
-dn: dc=hadoop,dc=apache,dc=org
-objectclass: organization
-objectclass: dcObject
-o: Hadoop
-dc: hadoop
-
-# Entry for a sample people container
-# Please replace with site specific values
-dn: ou=people,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:organizationalUnit
-ou: people
-
-# Entry for a sample end user
-# Please replace with site specific values
-dn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:person
-objectclass:organizationalPerson
-objectclass:inetOrgPerson
-cn: Guest
-sn: User
-uid: guest
-userPassword:guest-password
-
-# entry for sample user admin
-dn: uid=admin,ou=people,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:person
-objectclass:organizationalPerson
-objectclass:inetOrgPerson
-cn: Admin
-sn: Admin
-uid: admin
-userPassword:admin-password
-
-# entry for sample user sam
-dn: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:person
-objectclass:organizationalPerson
-objectclass:inetOrgPerson
-cn: sam
-sn: sam
-uid: sam
-userPassword:sam-password
-
-# entry for sample user tom
-dn: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:person
-objectclass:organizationalPerson
-objectclass:inetOrgPerson
-cn: tom
-sn: tom
-uid: tom
-userPassword:tom-password
-
-# create FIRST Level groups branch
-dn: ou=groups,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass:organizationalUnit
-ou: groups
-description: generic groups branch
-
-# create the analyst group under groups
-dn: cn=analyst,ou=groups,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass: groupofnames
-cn: analyst
-description:analyst  group
-member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org
-member: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org
-
-
-# create the scientist group under groups
-dn: cn=scientist,ou=groups,dc=hadoop,dc=apache,dc=org
-objectclass:top
-objectclass: groupofnames
-cn: scientist
-description: scientist group
-member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org
-
-        </value>
-        <description>
-            content for users-ldif file for the demo LDAP that comes with Knox.
-        </description>
-    </property>
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/metainfo.xml
index cf118ba..e3adf17 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/metainfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/metainfo.xml
@@ -20,68 +20,7 @@
   <services>
     <service>
       <name>KNOX</name>
-      <displayName>Knox</displayName>
-      <comment>Provides a single point of authentication and access for Apache 
Hadoop services in a cluster</comment>
-      <version>0.5.0.2.2</version>
-      <components>
-        <component>
-          <name>KNOX_GATEWAY</name>
-          <displayName>Knox Gateway</displayName>
-          <category>MASTER</category>
-          <cardinality>1+</cardinality>
-          <commandScript>
-            <script>scripts/knox_gateway.py</script>
-            <scriptType>PYTHON</scriptType>
-            <timeout>600</timeout>
-          </commandScript>
-            <customCommands>
-                <customCommand>
-                    <name>STARTDEMOLDAP</name>
-                    <commandScript>
-                        <script>scripts/demo_ldap.py</script>
-                        <scriptType>PYTHON</scriptType>
-                        <timeout>600</timeout>
-                    </commandScript>
-                </customCommand>
-                <customCommand>
-                    <name>STOPDEMOLDAP</name>
-                    <commandScript>
-                        <script>scripts/demo_ldap.py</script>
-                        <scriptType>PYTHON</scriptType>
-                        <timeout>600</timeout>
-                    </commandScript>
-                </customCommand>
-            </customCommands>
-        </component>
-      </components>
-      <osSpecifics>
-        <osSpecific>
-          <osFamily>redhat5,redhat6,suse11</osFamily>
-          <packages>
-            <package>
-              <name>knox_2_2_*</name>
-            </package>
-          </packages>
-        </osSpecific>
-        <osSpecific>
-          <osFamily>ubuntu12</osFamily>
-          <packages>
-            <package>
-              <name>knox-2-2-.*</name>
-            </package>
-          </packages>
-        </osSpecific>
-      </osSpecifics>
-      <commandScript>
-        <script>scripts/service_check.py</script>
-        <scriptType>PYTHON</scriptType>
-        <timeout>300</timeout>
-      </commandScript>
-      <configuration-dependencies>
-        <config-type>gateway-site</config-type>
-        <config-type>gateway-log4j</config-type>
-        <config-type>topology</config-type>
-      </configuration-dependencies>
+      <extends>common-services/KNOX/0.5.0.2.2</extends>
     </service>
   </services>
 </metainfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/files/validateKnoxStatus.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/files/validateKnoxStatus.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/files/validateKnoxStatus.py
deleted file mode 100644
index 257abfb..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/files/validateKnoxStatus.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-import optparse
-import socket
-
-#
-# Main.
-#
-def main():
-  parser = optparse.OptionParser(usage="usage: %prog [options]")
-  parser.add_option("-p", "--port", dest="port", help="Port for Knox process")
-  parser.add_option("-n", "--hostname", dest="hostname", help="Hostname of 
Knox Gateway component")
-
-  (options, args) = parser.parse_args()
-  timeout_seconds = 5
-  try:
-    s = socket.create_connection((options.hostname, 
int(options.port)),timeout=timeout_seconds)
-    print "Successfully connected to %s on port %s" % (options.hostname, 
options.port)
-    s.close()
-  except socket.error, e:
-    print "Connection to %s on port %s failed: %s" % (options.hostname, 
options.port, e)
-    exit(1)
-
-if __name__ == "__main__":
-  main()
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox.py
deleted file mode 100644
index 7d7d20c..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox.py
+++ /dev/null
@@ -1,85 +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.
-
-"""
-
-from resource_management import *
-
-
-def knox():
-    import params
-
-    Directory(params.knox_conf_dir,
-              owner = params.knox_user,
-              group = params.knox_group,
-              recursive = True
-    )
-
-
-    XmlConfig("gateway-site.xml",
-              conf_dir=params.knox_conf_dir,
-              configurations=params.config['configurations']['gateway-site'],
-              
configuration_attributes=params.config['configuration_attributes']['gateway-site'],
-              owner=params.knox_user,
-              group=params.knox_group,
-    )
-
-    File(format("{params.knox_conf_dir}/gateway-log4j.properties"),
-         mode=0644,
-         group=params.knox_group,
-         owner=params.knox_user,
-         content=params.gateway_log4j
-    )
-
-    File(format("{params.knox_conf_dir}/topologies/default.xml"),
-         group=params.knox_group,
-         owner=params.knox_user,
-         content=InlineTemplate(params.topology_template)
-    )
-    if params.security_enabled:
-      TemplateConfig( format("{knox_conf_dir}/krb5JAASLogin.conf"),
-                      owner = params.knox_user,
-                      template_tag = None
-      )
-
-    dirs_to_chown = (params.knox_data_dir, params.knox_logs_dir, 
params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir)
-    cmd = ('chown','-R',format('{knox_user}:{knox_group}'))+dirs_to_chown
-    Execute(cmd,
-            sudo = True,
-    )
-    
-    #File([params.knox_data_dir, params.knox_logs_dir, params.knox_logs_dir, 
params.knox_pid_dir, params.knox_conf_dir],
-    #     owner = params.knox_user,
-    #     group = params.knox_group
-    #)
-
-    cmd = format('{knox_client_bin} create-master --master 
{knox_master_secret!p}')
-    master_secret_exist = as_user(format('test -f {knox_master_secret_path}'), 
params.knox_user)
-    
-    Execute(cmd,
-            user=params.knox_user,
-            environment={'JAVA_HOME': params.java_home},
-            not_if=master_secret_exist,
-    )
-
-    cmd = format('{knox_client_bin} create-cert --hostname 
{knox_host_name_in_cluster}')
-    Execute(cmd,
-            user=params.knox_user,
-            environment={'JAVA_HOME': params.java_home},
-            not_if=master_secret_exist,
-    )
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox_gateway.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox_gateway.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox_gateway.py
deleted file mode 100644
index f578926..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox_gateway.py
+++ /dev/null
@@ -1,103 +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.
-
-"""
-
-from resource_management import *
-import sys
-
-from knox import knox
-from ldap import ldap
-
-class KnoxGateway(Script):
-  def install(self, env):
-    self.install_packages(env)
-    import params
-    env.set_params(params)
-    
-    File(format('{knox_conf_dir}/topologies/sandbox.xml'),
-         action = "delete",
-    )
-
-  def configure(self, env):
-    import params
-    env.set_params(params)
-    knox()
-    ldap()
-
-  def start(self, env):
-    import params
-    env.set_params(params)
-    self.configure(env)
-    daemon_cmd = format('{knox_bin} start')
-    no_op_test = format('ls {knox_pid_file} >/dev/null 2>&1 && ps -p `cat 
{knox_pid_file}` >/dev/null 2>&1')
-    Execute(daemon_cmd,
-            user=params.knox_user,
-            environment={'JAVA_HOME': params.java_home},
-            not_if=no_op_test
-    )
-
-  def stop(self, env):
-    import params
-    env.set_params(params)
-    self.configure(env)
-    daemon_cmd = format('{knox_bin} stop')
-    Execute(daemon_cmd,
-            environment={'JAVA_HOME': params.java_home},
-            user=params.knox_user,
-    )
-    Execute (format("rm -f {knox_pid_file}"))
-
-
-  def status(self, env):
-    import status_params
-    env.set_params(status_params)
-    check_process_status(status_params.knox_pid_file)
-
-
-  def configureldap(self, env):
-    import params
-    env.set_params(params)
-    ldap()
-
-  def startdemoldap(self, env):
-    import params
-    env.set_params(params)
-    self.configureldap(env)
-    daemon_cmd = format('{ldap_bin} start')
-    no_op_test = format('ls {ldap_pid_file} >/dev/null 2>&1 && ps -p `cat 
{ldap_pid_file}` >/dev/null 2>&1')
-    Execute(daemon_cmd,
-            user=params.knox_user,
-            environment={'JAVA_HOME': params.java_home},
-            not_if=no_op_test
-    )
-
-  def stopdemoldap(self, env):
-    import params
-    env.set_params(params)
-    self.configureldap(env)
-    daemon_cmd = format('{ldap_bin} stop')
-    Execute(daemon_cmd,
-            environment={'JAVA_HOME': params.java_home},
-            user=params.knox_user,
-            )
-    Execute (format("rm -f {ldap_pid_file}"))
-
-
-
-if __name__ == "__main__":
-  KnoxGateway().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/ldap.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/ldap.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/ldap.py
deleted file mode 100644
index 2ff8297..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/ldap.py
+++ /dev/null
@@ -1,39 +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.
-
-"""
-
-from resource_management import *
-
-
-def ldap():
-    import params
-
-    File(format("{params.knox_conf_dir}/ldap-log4j.properties"),
-         mode=0644,
-         group=params.knox_group,
-         owner=params.knox_user,
-         content=params.ldap_log4j
-    )
-
-    File(format("{params.knox_conf_dir}/users.ldif"),
-         mode=0644,
-         group=params.knox_group,
-         owner=params.knox_user,
-         content=params.users_ldif
-    )
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/params.py
deleted file mode 100644
index 2327a66..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/params.py
+++ /dev/null
@@ -1,139 +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.
-
-Ambari Agent
-
-"""
-
-from resource_management.libraries.functions.version import 
format_hdp_stack_version, compare_versions
-from resource_management import *
-import status_params
-
-config = Script.get_config()
-tmp_dir = Script.get_tmp_dir()
-
-hdp_stack_version = str(config['hostLevelParams']['stack_version'])
-hdp_stack_version = format_hdp_stack_version(hdp_stack_version)
-
-if hdp_stack_version != "" and compare_versions(hdp_stack_version, '2.2') >= 0:
-  knox_bin = '/usr/hdp/current/knox-server/bin/gateway.sh'
-  ldap_bin = '/usr/hdp/current/knox-server/bin/ldap.sh'
-  knox_client_bin = '/usr/hdp/current/knox-server/bin/knoxcli.sh'
-else:
-  knox_bin = '/usr/bin/gateway'
-  ldap_bin = '/usr/lib/knox/bin/ldap.sh'
-  knox_client_bin = '/usr/lib/knox/bin/knoxcli.sh'
-
-namenode_hosts = default("/clusterHostInfo/namenode_host", None)
-if type(namenode_hosts) is list:
-    namenode_host = namenode_hosts[0]
-else:
-    namenode_host = namenode_hosts
-
-has_namenode = not namenode_host == None
-namenode_http_port = "50070"
-namenode_rpc_port = "8020"
-
-if has_namenode:
-    if 'dfs.namenode.http-address' in config['configurations']['hdfs-site']:
-        namenode_http_port = 
get_port_from_url(config['configurations']['hdfs-site']['dfs.namenode.http-address'])
-    if 'dfs.namenode.rpc-address' in config['configurations']['hdfs-site']:
-        namenode_rpc_port = 
get_port_from_url(config['configurations']['hdfs-site']['dfs.namenode.rpc-address'])
-
-rm_hosts = default("/clusterHostInfo/rm_host", None)
-if type(rm_hosts) is list:
-    rm_host = rm_hosts[0]
-else:
-    rm_host = rm_hosts
-has_rm = not rm_host == None
-
-jt_rpc_port = "8050"
-rm_port = "8080"
-
-if has_rm:
-    if 'yarn.resourcemanager.address' in config['configurations']['yarn-site']:
-        jt_rpc_port = 
get_port_from_url(config['configurations']['yarn-site']['yarn.resourcemanager.address'])
-
-    if 'yarn.resourcemanager.webapp.address' in 
config['configurations']['yarn-site']:
-        rm_port = 
get_port_from_url(config['configurations']['yarn-site']['yarn.resourcemanager.webapp.address'])
-
-hive_http_port = 
default('/configurations/hive-site/hive.server2.thrift.http.port', "10001")
-hive_http_path = 
default('/configurations/hive-site/hive.server2.thrift.http.path', "cliservice")
-hive_server_hosts = default("/clusterHostInfo/hive_server_host", None)
-if type(hive_server_hosts) is list:
-    hive_server_host = hive_server_hosts[0]
-else:
-    hive_server_host = hive_server_hosts
-
-templeton_port = default('/configurations/webhcat-site/templeton.port', 
"50111")
-webhcat_server_hosts = default("/clusterHostInfo/webhcat_server_host", None)
-if type(webhcat_server_hosts) is list:
-    webhcat_server_host = webhcat_server_hosts[0]
-else:
-    webhcat_server_host = webhcat_server_hosts
-
-hbase_master_port = default('/configurations/hbase-site/hbase.rest.port', 
"8080")
-hbase_master_hosts = default("/clusterHostInfo/hbase_master_hosts", None)
-if type(hbase_master_hosts) is list:
-    hbase_master_host = hbase_master_hosts[0]
-else:
-    hbase_master_host = hbase_master_hosts
-
-oozie_server_hosts = default("/clusterHostInfo/oozie_server", None)
-if type(oozie_server_hosts) is list:
-    oozie_server_host = oozie_server_hosts[0]
-else:
-    oozie_server_host = oozie_server_hosts
-
-has_oozie = not oozie_server_host == None
-oozie_server_port = "11000"
-
-if has_oozie:
-    if 'oozie.base.url' in config['configurations']['oozie-site']:
-        oozie_server_port = 
get_port_from_url(config['configurations']['oozie-site']['oozie.base.url'])
-
-
-# server configurations
-knox_conf_dir = '/etc/knox/conf'
-knox_data_dir = '/var/lib/knox/data'
-knox_logs_dir = '/var/log/knox'
-knox_pid_dir = status_params.knox_pid_dir
-knox_user = default("/configurations/knox-env/knox_user", "knox")
-knox_group = default("/configurations/knox-env/knox_group", "knox")
-knox_pid_file = status_params.knox_pid_file
-ldap_pid_file = status_params.ldap_pid_file
-knox_master_secret = config['configurations']['knox-env']['knox_master_secret']
-knox_master_secret_path = '/var/lib/knox/data/security/master'
-knox_cert_store_path = '/var/lib/knox/data/security/keystores/gateway.jks'
-knox_host_name = config['clusterHostInfo']['knox_gateway_hosts'][0]
-knox_host_name_in_cluster = config['hostname']
-knox_host_port = config['configurations']['gateway-site']['gateway.port']
-topology_template = config['configurations']['topology']['content']
-gateway_log4j = config['configurations']['gateway-log4j']['content']
-ldap_log4j = config['configurations']['ldap-log4j']['content']
-users_ldif = config['configurations']['users-ldif']['content']
-java_home = config['hostLevelParams']['java_home']
-security_enabled = config['configurations']['cluster-env']['security_enabled']
-smokeuser = config['configurations']['cluster-env']['smokeuser']
-smoke_user_keytab = config['configurations']['cluster-env']['smokeuser_keytab']
-kinit_path_local = functions.get_kinit_path(["/usr/bin", "/usr/kerberos/bin", 
"/usr/sbin"])
-if security_enabled:
-  knox_keytab_path = config['configurations']['knox-env']['knox_keytab_path']
-  _hostname_lowercase = config['hostname'].lower()
-  knox_principal_name = 
config['configurations']['knox-env']['knox_principal_name'].replace('_HOST',_hostname_lowercase)
-
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/service_check.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/service_check.py
deleted file mode 100644
index 0349c24..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/service_check.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-
-from resource_management import *
-import sys
-
-class KnoxServiceCheck(Script):
-
-    def service_check(self, env):
-        import params
-        env.set_params(params)
-
-        validateKnoxFileName = "validateKnoxStatus.py"
-        validateKnoxFilePath = format("{tmp_dir}/{validateKnoxFileName}")
-        python_executable = sys.executable
-        validateStatusCmd = format("{python_executable} {validateKnoxFilePath} 
-p {knox_host_port} -n {knox_host_name}")
-        if params.security_enabled:
-          kinit_cmd = format("{kinit_path_local} -kt {smoke_user_keytab} 
{smokeuser};")
-          smoke_cmd = format("{kinit_cmd} {validateStatusCmd}")
-        else:
-          smoke_cmd = validateStatusCmd
-
-        print "Test connectivity to knox server"
-
-
-        File(validateKnoxFilePath,
-          content=StaticFile(validateKnoxFileName),
-          mode=0755
-          )
-
-        Execute(smoke_cmd,
-          tries=3,
-          try_sleep=5,
-          path='/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin',
-          user=params.smokeuser,
-          timeout=5,
-          logoutput=True
-        )
-
-if __name__ == "__main__":
-    KnoxServiceCheck().execute()
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/status_params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/status_params.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/status_params.py
deleted file mode 100644
index 880c617..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/status_params.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-
-from resource_management import *
-
-config = Script.get_config()
-
-knox_pid_dir = config['configurations']['knox-env']['knox_pid_dir']
-knox_pid_file = format("{knox_pid_dir}/gateway.pid")
-ldap_pid_file = format("{knox_pid_dir}/ldap.pid")

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/templates/krb5JAASLogin.conf.j2
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/templates/krb5JAASLogin.conf.j2
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/templates/krb5JAASLogin.conf.j2
deleted file mode 100644
index fa3237b..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/templates/krb5JAASLogin.conf.j2
+++ /dev/null
@@ -1,30 +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.
-#}
-com.sun.security.jgss.initiate {
-com.sun.security.auth.module.Krb5LoginModule required
-renewTGT=true
-doNotPrompt=true
-useKeyTab=true
-keyTab="{{knox_keytab_path}}"
-principal="{{knox_principal_name}}"
-isInitiator=true
-storeKey=true
-useTicketCache=true
-client=true;
-};
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-client.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-client.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-client.xml
deleted file mode 100644
index fdeceae..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-client.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * 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.
- */
--->
-<configuration supports_final="true">
-
-  <!--
-    <property>
-      <name>slider.security.protocol.acl</name>
-      <value>*</value>
-      <description>When security is enabled, set appropriate acl. Default 
value means allow everyone.</description>
-    </property>
-    -->
-
-  <!--
-     The recommended approach is to configure slider-env.sh and set 
HADOOP_CONF_DIR.
-     Otherwise, appropriate configurations from hdfs-site, yarn-site, can be 
dropped in this file
-     for Slider client to work. The following list is not an exhaustive list 
but the minimal config
-     needed to interact with a non-secure cluster.
-  -->
-
-  <!--
-      <property>
-        <name>yarn.resourcemanager.address</name>
-        <value>localhost:8050</value>
-        <description>The address of the applications manager interface in the 
RM.</description>
-      </property>
-
-      <property>
-        <name>yarn.resourcemanager.scheduler.address</name>
-        <value>localhost:8030</value>
-        <description>The address of the scheduler interface.</description>
-      </property>
-
-      <property>
-        <name>fs.defaultFS</name>
-        <value>hdfs://localhost:8020</value>
-        <description>The name of the default file system.  Either the
-          literal string "local" or a host:port for NDFS.</description>
-      </property>
-    -->
-
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-env.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-env.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-env.xml
deleted file mode 100644
index 80c3af1..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-env.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * 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.
- */
--->
-
-<configuration>
-  <!-- slider-env.sh -->
-  <property>
-    <name>content</name>
-    <description>This is the jinja template for slider-env.sh 
file</description>
-    <value>
-# Set Slider-specific environment variables here.
-
-# The only required environment variable is JAVA_HOME.  All others are
-# optional.  When running a distributed configuration it is best to
-# set JAVA_HOME in this file, so that it is correctly defined on
-# remote nodes.
-
-# The java implementation to use.  Required.
-export JAVA_HOME={{java64_home}}
-# The hadoop conf directory.  Optional as slider-client.xml can be edited to 
add properties.
-export HADOOP_CONF_DIR={{hadoop_conf_dir}}
-    </value>
-  </property>
-  
-</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-log4j.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-log4j.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-log4j.xml
deleted file mode 100644
index 709867c..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/configuration/slider-log4j.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * 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.
- */
--->
-
-<configuration supports_final="false">
-
-  <property>
-    <name>content</name>
-    <description>Custom log4j.properties</description>
-    <value>
-# 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.
-
-
-# Define some default values that can be overridden by system properties
-log4j.rootLogger=INFO,stdout
-log4j.threshhold=ALL
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-
-# log layout skips stack-trace creation operations by avoiding line numbers 
and method
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - 
%m%n
-
-# debug edition is much more expensive
-#log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} 
(%F:%M(%L)) - %m%n
-
-
-log4j.appender.subprocess=org.apache.log4j.ConsoleAppender
-log4j.appender.subprocess.layout=org.apache.log4j.PatternLayout
-log4j.appender.subprocess.layout.ConversionPattern=[%c{1}]: %m%n
-#log4j.logger.org.apache.slider.yarn.appmaster.SliderAppMasterer.master=INFO,subprocess
-
-# for debugging Slider
-#log4j.logger.org.apache.slider=DEBUG
-#log4j.logger.org.apache.slider=DEBUG
-
-# uncomment to debug service lifecycle issues
-#log4j.logger.org.apache.hadoop.yarn.service.launcher=DEBUG
-#log4j.logger.org.apache.hadoop.yarn.service=DEBUG
-
-# uncomment for YARN operations
-#log4j.logger.org.apache.hadoop.yarn.client=DEBUG
-
-# uncomment this to debug security problems
-#log4j.logger.org.apache.hadoop.security=DEBUG
-
-#crank back on some noise
-log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
-log4j.logger.org.apache.hadoop.hdfs=WARN
-
-
-log4j.logger.org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor=WARN
-log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WARN
-log4j.logger.org.apache.zookeeper=WARN
-    </value>
-  </property>
-
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/metainfo.xml
index 6d7dffe..d0e1346 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/metainfo.xml
@@ -20,113 +20,7 @@
   <services>
     <service>
       <name>SLIDER</name>
-      <displayName>Slider</displayName>
-      <comment>A framework for deploying, managing and monitoring existing 
distributed applications on YARN.</comment>
-      <version>0.60.0.2.2</version>
-      <components>
-        <component>
-          <name>SLIDER</name>
-          <displayName>Slider</displayName>
-          <category>CLIENT</category>
-          <cardinality>0+</cardinality>
-          <dependencies>
-            <dependency>
-              <name>HDFS/HDFS_CLIENT</name>
-              <scope>host</scope>
-              <auto-deploy>
-                <enabled>true</enabled>
-              </auto-deploy>
-            </dependency>
-            <dependency>
-              <name>YARN/YARN_CLIENT</name>
-              <scope>host</scope>
-              <auto-deploy>
-                <enabled>true</enabled>
-              </auto-deploy>
-            </dependency>
-          </dependencies>
-          <commandScript>
-            <script>scripts/slider_client.py</script>
-            <scriptType>PYTHON</scriptType>
-            <timeout>600</timeout>
-          </commandScript>
-          <configFiles>
-            <configFile>
-              <type>xml</type>
-              <fileName>slider-client.xml</fileName>
-              <dictionaryName>slider-client</dictionaryName>
-            </configFile>
-            <configFile>
-              <type>xml</type>
-              <fileName>core-site.xml</fileName>
-              <dictionaryName>core-site</dictionaryName>
-            </configFile>
-            <configFile>
-              <type>xml</type>
-              <fileName>hdfs-site.xml</fileName>
-              <dictionaryName>hdfs-site</dictionaryName>
-            </configFile>
-            <configFile>
-              <type>xml</type>
-              <fileName>yarn-site.xml</fileName>
-              <dictionaryName>yarn-site</dictionaryName>
-            </configFile>
-            <configFile>
-              <type>env</type>
-              <fileName>slider-env.sh</fileName>
-              <dictionaryName>slider-env</dictionaryName>
-            </configFile>
-            <configFile>
-              <type>env</type>
-              <fileName>log4j.properties</fileName>
-              <dictionaryName>slider-log4j</dictionaryName>
-            </configFile>
-          </configFiles>
-        </component>
-      </components>
-      <osSpecifics>
-        <osSpecific>
-          <osFamily>redhat5,redhat6,suse11</osFamily>
-          <packages>
-            <package>
-              <name>slider_2_2_*</name>
-            </package>
-            <package>
-              <name>storm_2_2_*</name>
-            </package>
-          </packages>
-        </osSpecific>
-        <osSpecific>
-          <osFamily>ubuntu12</osFamily>
-          <packages>
-            <package>
-              <name>slider-2-2-.*</name>
-            </package>
-            <package>
-              <name>storm-2-2-.*</name>
-            </package>
-          </packages>
-        </osSpecific>
-      </osSpecifics>
-
-      <commandScript>
-        <script>scripts/service_check.py</script>
-        <scriptType>PYTHON</scriptType>
-        <timeout>300</timeout>
-      </commandScript>
-
-      <requiredServices>
-        <service>YARN</service>
-        <service>HDFS</service>
-        <service>ZOOKEEPER</service>
-      </requiredServices>
-
-      <configuration-dependencies>
-        <config-type>slider-log4j</config-type>
-        <config-type>slider-client</config-type>
-        <config-type>slider-env</config-type>
-      </configuration-dependencies>
-
+      <extends>common-services/SLIDER/0.60.0.2.2</extends>
     </service>
   </services>
 </metainfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/files/hbaseSmokeVerify.sh
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/files/hbaseSmokeVerify.sh
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/files/hbaseSmokeVerify.sh
deleted file mode 100644
index 5c320c0..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/files/hbaseSmokeVerify.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env bash
-#
-#
-# 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.
-#
-#
-conf_dir=$1
-data=$2
-hbase_cmd=$3
-echo "scan 'ambarismoketest'" | $hbase_cmd --config $conf_dir shell > 
/tmp/hbase_chk_verify
-cat /tmp/hbase_chk_verify
-echo "Looking for $data"
-grep -q $data /tmp/hbase_chk_verify
-if [ "$?" -ne 0 ]
-then
-  exit 1
-fi
-
-grep -q '1 row(s)' /tmp/hbase_chk_verify

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/__init__.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/__init__.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/__init__.py
deleted file mode 100644
index 5561e10..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/params.py
deleted file mode 100644
index 657feba..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/params.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-
-from resource_management.libraries.functions.version import 
format_hdp_stack_version, compare_versions
-from resource_management import *
-
-# server configurations
-config = Script.get_config()
-
-hdp_stack_version = str(config['hostLevelParams']['stack_version'])
-hdp_stack_version = format_hdp_stack_version(hdp_stack_version)
-
-#hadoop params
-if hdp_stack_version != "" and compare_versions(hdp_stack_version, '2.2') >= 0:
-  slider_bin_dir = '/usr/hdp/current/slider-client/bin'
-else:
-  slider_bin_dir = "/usr/lib/slider/bin"
-
-slider_conf_dir = "/etc/slider/conf"
-hadoop_conf_dir = "/etc/hadoop/conf"
-smokeuser = config['configurations']['cluster-env']['smokeuser']
-security_enabled = config['configurations']['cluster-env']['security_enabled']
-smokeuser_keytab = config['configurations']['cluster-env']['smokeuser_keytab']
-kinit_path_local = functions.get_kinit_path(["/usr/bin", "/usr/kerberos/bin", 
"/usr/sbin"])
-slider_env_sh_template = config['configurations']['slider-env']['content']
-
-java64_home = config['hostLevelParams']['java_home']
-log4j_props = config['configurations']['slider-log4j']['content']
-slider_cmd = format("{slider_bin_dir}/slider")
-storm_slider_conf_dir= '/usr/hdp/current/storm-slider-client/conf'
-slider_home_dir= '/usr/hdp/current/slider-client'

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/service_check.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/service_check.py
deleted file mode 100644
index bb54dc8..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/service_check.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-
-from resource_management import *
-
-
-class SliderServiceCheck(Script):
-  def service_check(self, env):
-    import params
-
-    env.set_params(params)
-
-    smokeuser_kinit_cmd = format(
-      "{kinit_path_local} -kt {smokeuser_keytab} {smokeuser};") if 
params.security_enabled else ""
-
-    servicecheckcmd = format("{smokeuser_kinit_cmd} {slider_cmd} list")
-
-    Execute(servicecheckcmd,
-            tries=3,
-            try_sleep=5,
-            user=params.smokeuser,
-            logoutput=True
-    )
-
-
-if __name__ == "__main__":
-  SliderServiceCheck().execute()
-  

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider.py
deleted file mode 100644
index 48c534e..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider.py
+++ /dev/null
@@ -1,62 +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.
-
-Ambari Agent
-
-"""
-import os
-
-from resource_management import *
-
-
-def slider():
-  import params
-
-  Directory(params.slider_conf_dir,
-            recursive=True
-  )
-
-  slider_client_config = params.config['configurations']['slider-client'] if 
'configurations' in params.config and 'slider-client' in 
params.config['configurations'] else {}
-
-  XmlConfig("slider-client.xml",
-            conf_dir=params.slider_conf_dir,
-            configurations=slider_client_config
-  )
-
-  File(format("{slider_conf_dir}/slider-env.sh"),
-       mode=0755,
-       content=InlineTemplate(params.slider_env_sh_template)
-  )
-
-  Directory(params.storm_slider_conf_dir,
-            recursive=True
-  )
-
-  File(format("{storm_slider_conf_dir}/storm-slider-env.sh"),
-       mode=0755,
-       content=Template('storm-slider-env.sh.j2')
-  )
-
-  if (params.log4j_props != None):
-    File(format("{params.slider_conf_dir}/log4j.properties"),
-         mode=0644,
-         content=params.log4j_props
-    )
-  elif (os.path.exists(format("{params.slider_conf_dir}/log4j.properties"))):
-    File(format("{params.slider_conf_dir}/log4j.properties"),
-         mode=0644
-    )

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider_client.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider_client.py
deleted file mode 100644
index cb22a99..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/scripts/slider_client.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-"""
-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.
-
-"""
-
-from resource_management import *
-
-from slider import slider
-
-
-class SliderClient(Script):
-  def install(self, env):
-    self.install_packages(env)
-    self.configure(env)
-
-  def configure(self, env):
-    import params
-
-    env.set_params(params)
-
-    slider()
-
-  def status(self, env):
-    raise ClientComponentHasNoStatus()
-
-
-if __name__ == "__main__":
-  SliderClient().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/templates/storm-slider-env.sh.j2
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/templates/storm-slider-env.sh.j2
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/templates/storm-slider-env.sh.j2
deleted file mode 100644
index 8022a4b..0000000
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/SLIDER/package/templates/storm-slider-env.sh.j2
+++ /dev/null
@@ -1,38 +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.
-#}
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-#/*
-# * 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.
-# */
-export JAVA_HOME={{java64_home}}
-export SLIDER_HOME={{slider_home_dir}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py 
b/ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py
index 438a590..f157308 100644
--- a/ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py
+++ b/ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py
@@ -21,12 +21,16 @@ from stacks.utils.RMFTestCase import *
 
 
 class TestKafkaBroker(RMFTestCase):
+  COMMON_SERVICES_PACKAGE_DIR = "KAFKA/0.8.1.2.2/package"
+  STACK_VERSION = "2.2"
 
   def test_configure_default(self):
-    self.executeScript("2.2/services/KAFKA/package/scripts/kafka_broker.py",
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + 
"/scripts/kafka_broker.py",
                          classname = "KafkaBroker",
                          command = "configure",
-                         config_file="default.json"
+                         config_file="default.json",
+                         hdp_stack_version = self.STACK_VERSION,
+                         target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
     self.assertResourceCalled('Directory', '/var/log/kafka',

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py 
b/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
index 7dfaa83..cfea153 100644
--- a/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
+++ b/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
@@ -20,12 +20,16 @@ limitations under the License.
 from stacks.utils.RMFTestCase import *
 
 class TestKnoxGateway(RMFTestCase):
+  COMMON_SERVICES_PACKAGE_DIR = "KNOX/0.5.0.2.2/package"
+  STACK_VERSION = "2.2"
 
   def test_configure_default(self):
-    self.executeScript("2.2/services/KNOX/package/scripts/knox_gateway.py",
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + 
"/scripts/knox_gateway.py",
                        classname = "KnoxGateway",
                        command = "configure",
-                       config_file="default.json"
+                       config_file="default.json",
+                       hdp_stack_version = self.STACK_VERSION,
+                       target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
     self.assertResourceCalled('Directory', '/etc/knox/conf',

http://git-wip-us.apache.org/repos/asf/ambari/blob/ef7fe6b5/ambari-server/src/test/python/stacks/2.2/SLIDER/test_slider_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.2/SLIDER/test_slider_client.py 
b/ambari-server/src/test/python/stacks/2.2/SLIDER/test_slider_client.py
index 5b88351..28b1ac1 100644
--- a/ambari-server/src/test/python/stacks/2.2/SLIDER/test_slider_client.py
+++ b/ambari-server/src/test/python/stacks/2.2/SLIDER/test_slider_client.py
@@ -21,12 +21,17 @@ from stacks.utils.RMFTestCase import *
 
 
 class TestSliderClient(RMFTestCase):
+  COMMON_SERVICES_PACKAGE_DIR = "SLIDER/0.60.0.2.2/package"
+  STACK_VERSION = "2.2"
+
   def test_configure_default(self):
     self.maxDiff = None
-    self.executeScript("2.2/services/SLIDER/package/scripts/slider_client.py",
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + 
"/scripts/slider_client.py",
                        classname="SliderClient",
                        command="configure",
-                       config_file="default.json"
+                       config_file="default.json",
+                       hdp_stack_version = self.STACK_VERSION,
+                       target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
     self.assertResourceCalled('Directory',
@@ -66,10 +71,12 @@ class TestSliderClient(RMFTestCase):
 
   def test_svc_check_secured(self):
     self.maxDiff = None
-    self.executeScript("2.2/services/SLIDER/package/scripts/service_check.py",
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + 
"/scripts/service_check.py",
                        classname="SliderServiceCheck",
                        command="service_check",
-                       config_file="secured.json"
+                       config_file="secured.json",
+                       hdp_stack_version = self.STACK_VERSION,
+                       target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
     self.assertResourceCalled('Execute',
@@ -83,10 +90,12 @@ class TestSliderClient(RMFTestCase):
 
   def test_svc_check_default(self):
     self.maxDiff = None
-    self.executeScript("2.2/services/SLIDER/package/scripts/service_check.py",
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + 
"/scripts/service_check.py",
                        classname="SliderServiceCheck",
                        command="service_check",
-                       config_file="default.json"
+                       config_file="default.json",
+                       hdp_stack_version = self.STACK_VERSION,
+                       target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
     self.assertResourceCalled('Execute', ' /usr/lib/slider/bin/slider list',

Reply via email to