You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2014/02/27 19:36:26 UTC
git commit: AMBARI-4767. Move copyFromLocal to resource management
package. (swagle)
Repository: ambari
Updated Branches:
refs/heads/trunk da413e507 -> a8884594e
AMBARI-4767. Move copyFromLocal to resource management package. (swagle)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a8884594
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a8884594
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a8884594
Branch: refs/heads/trunk
Commit: a8884594e0312e776e2c5e07e44a4a389eb80fdc
Parents: da413e5
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Thu Feb 27 10:22:56 2014 -0800
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Thu Feb 27 10:36:21 2014 -0800
----------------------------------------------------------------------
.../libraries/providers/__init__.py | 3 +-
.../libraries/providers/copy_from_local.py | 67 ++++++++++++++++++++
.../libraries/resources/__init__.py | 3 +-
.../libraries/resources/copy_from_local.py | 37 +++++++++++
.../resource_management/TestCopyFromLocal.py | 67 ++++++++++++++++++++
.../HIVE/package/scripts/hive_server.py | 55 +---------------
.../services/WEBHCAT/package/scripts/webhcat.py | 46 ++------------
.../stacks/2.0.6/HIVE/test_hive_server.py | 25 +++-----
.../stacks/2.0.6/WEBHCAT/test_webhcat_server.py | 60 ++++++++++--------
9 files changed, 228 insertions(+), 135 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-agent/src/main/python/resource_management/libraries/providers/__init__.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/resource_management/libraries/providers/__init__.py b/ambari-agent/src/main/python/resource_management/libraries/providers/__init__.py
index 8d557f2..a3d02c2 100644
--- a/ambari-agent/src/main/python/resource_management/libraries/providers/__init__.py
+++ b/ambari-agent/src/main/python/resource_management/libraries/providers/__init__.py
@@ -32,6 +32,7 @@ PROVIDERS = dict(
PropertiesFile="resource_management.libraries.providers.properties_file.PropertiesFileProvider",
MonitorWebserver="resource_management.libraries.providers.monitor_webserver.MonitorWebserverProvider",
Repository="resource_management.libraries.providers.repository.RepositoryProvider",
- HdfsDirectory="resource_management.libraries.providers.hdfs_directory.HdfsDirectoryProvider"
+ HdfsDirectory="resource_management.libraries.providers.hdfs_directory.HdfsDirectoryProvider",
+ CopyFromLocal="resource_management.libraries.providers.copy_from_local.CopyFromLocalProvider"
),
)
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-agent/src/main/python/resource_management/libraries/providers/copy_from_local.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/resource_management/libraries/providers/copy_from_local.py b/ambari-agent/src/main/python/resource_management/libraries/providers/copy_from_local.py
new file mode 100644
index 0000000..ef47a87
--- /dev/null
+++ b/ambari-agent/src/main/python/resource_management/libraries/providers/copy_from_local.py
@@ -0,0 +1,67 @@
+#!/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.
+
+Ambari Agent
+
+"""
+
+from resource_management import *
+
+class CopyFromLocalProvider(Provider):
+ def action_run(self):
+ path = self.resource.path
+ dest_dir = self.resource.dest_dir
+ kinnit_if_needed = self.resource.kinnit_if_needed
+ stub_path = self.resource.stub_path
+ owner = self.resource.owner
+ group = self.resource.group
+ mode = self.resource.mode
+ hadoop_conf_path = self.resource.hadoop_conf_dir
+
+ copy_cmd = format("fs -copyFromLocal {path} {dest_dir}")
+ unless_cmd = format("{kinnit_if_needed} hadoop fs -ls {dest_dir} >/dev/null 2>&1")
+
+ ExecuteHadoop(copy_cmd,
+ not_if=unless_cmd,
+ user=owner,
+ conf_dir=hadoop_conf_path,
+ )
+
+ if not owner:
+ chown = None
+ else:
+ if not group:
+ chown = owner
+ else:
+ chown = format('{owner}:{group}')
+
+ if chown:
+ chown_cmd = format("fs -chown {chown} {dest_dir}")
+
+ ExecuteHadoop(chown_cmd,
+ user=owner,
+ conf_dir=hadoop_conf_path)
+ pass
+
+ if mode:
+ chmod_cmd = format('fs -chmod {mode} {dest_dir}')
+
+ ExecuteHadoop(chmod_cmd,
+ user=owner,
+ conf_dir=hadoop_conf_path)
+ pass
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-agent/src/main/python/resource_management/libraries/resources/__init__.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/resource_management/libraries/resources/__init__.py b/ambari-agent/src/main/python/resource_management/libraries/resources/__init__.py
index a072455..24b497c 100644
--- a/ambari-agent/src/main/python/resource_management/libraries/resources/__init__.py
+++ b/ambari-agent/src/main/python/resource_management/libraries/resources/__init__.py
@@ -26,4 +26,5 @@ from resource_management.libraries.resources.xml_config import *
from resource_management.libraries.resources.properties_file import *
from resource_management.libraries.resources.repository import *
from resource_management.libraries.resources.monitor_webserver import *
-from resource_management.libraries.resources.hdfs_directory import *
\ No newline at end of file
+from resource_management.libraries.resources.hdfs_directory import *
+from resource_management.libraries.resources.copy_from_local import *
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-agent/src/main/python/resource_management/libraries/resources/copy_from_local.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/resource_management/libraries/resources/copy_from_local.py b/ambari-agent/src/main/python/resource_management/libraries/resources/copy_from_local.py
new file mode 100644
index 0000000..829d6b8
--- /dev/null
+++ b/ambari-agent/src/main/python/resource_management/libraries/resources/copy_from_local.py
@@ -0,0 +1,37 @@
+#!/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.
+
+Ambari Agent
+
+"""
+
+_all__ = ["CopyFromLocal"]
+from resource_management.core.base import Resource, ForcedListArgument, ResourceArgument, BooleanArgument
+
+class CopyFromLocal(Resource):
+ action = ForcedListArgument(default="run")
+
+ path = ResourceArgument(default=lambda obj: obj.name)
+ dest_dir = ResourceArgument()
+ owner = ResourceArgument()
+ group = ResourceArgument()
+ mode = ResourceArgument()
+ kinnit_if_needed = ResourceArgument(default='')
+ hadoop_conf_dir = ResourceArgument(default='/etc/hadoop/conf')
+
+ actions = Resource.actions + ["run"]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-agent/src/test/python/resource_management/TestCopyFromLocal.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/resource_management/TestCopyFromLocal.py b/ambari-agent/src/test/python/resource_management/TestCopyFromLocal.py
new file mode 100644
index 0000000..d65f904
--- /dev/null
+++ b/ambari-agent/src/test/python/resource_management/TestCopyFromLocal.py
@@ -0,0 +1,67 @@
+'''
+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 unittest import TestCase
+from mock.mock import patch
+from resource_management import *
+
+@patch.object(System, "os_family", new = 'redhat')
+class TestCopyFromLocal(TestCase):
+
+ @patch("resource_management.libraries.providers.execute_hadoop.ExecuteHadoopProvider")
+ def test_run_default_args(self, execute_hadoop_mock):
+ with Environment() as env:
+ CopyFromLocal('/user/testdir/*.files',
+ owner='user1',
+ dest_dir='/apps/test/',
+ kinnit_if_needed='',
+ stub_path='/tmp/test_stub',
+ ignore_on_failure=True
+ )
+ self.assertEqual(execute_hadoop_mock.call_count, 2)
+ call_arg_list = execute_hadoop_mock.call_args_list
+ self.assertEqual('fs -copyFromLocal /user/testdir/*.files /apps/test/',
+ call_arg_list[0][0][0].command)
+ self.assertEquals({'not_if': ' hadoop fs -ls /tmp/test_stub >/dev/null 2>&1', 'ignore_failures': False, 'user': 'user1', 'conf_dir': '/etc/hadoop/conf'},
+ call_arg_list[0][0][0].arguments)
+ self.assertEquals('fs -chown user1 /apps/test/', call_arg_list[1][0][0].command)
+ self.assertEquals({'user': 'user1', 'conf_dir': '/etc/hadoop/conf'}, call_arg_list[1][0][0].arguments)
+
+
+ @patch("resource_management.libraries.providers.execute_hadoop.ExecuteHadoopProvider")
+ def test_run_with_chmod(self, execute_hadoop_mock):
+ with Environment() as env:
+ CopyFromLocal('/user/testdir/*.files',
+ mode=0655,
+ owner='user1',
+ group='hdfs',
+ dest_dir='/apps/test/',
+ kinnit_if_needed='',
+ stub_path='/tmp/test_stub',
+ ignore_on_failure=False
+ )
+ self.assertEqual(execute_hadoop_mock.call_count, 3)
+ call_arg_list = execute_hadoop_mock.call_args_list
+ self.assertEqual('fs -copyFromLocal /user/testdir/*.files /apps/test/',
+ call_arg_list[0][0][0].command)
+ self.assertEquals({'not_if': ' hadoop fs -ls /tmp/test_stub >/dev/null 2>&1', 'ignore_failures': False, 'user': 'user1', 'conf_dir': '/etc/hadoop/conf'},
+ call_arg_list[0][0][0].arguments)
+ self.assertEquals('fs -chown user1:hdfs /apps/test/', call_arg_list[1][0][0].command)
+ self.assertEquals({'user': 'user1', 'conf_dir': '/etc/hadoop/conf'}, call_arg_list[1][0][0].arguments)
+
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_server.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_server.py
index 5210d3a..dd247dd 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_server.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_server.py
@@ -98,30 +98,23 @@ class HiveServer(Script):
pass
if app_dir_path:
- copyFromLocal(path=params.tez_local_api_jars,
+ CopyFromLocal(params.tez_local_api_jars,
mode=0655,
owner=params.tez_user,
dest_dir=app_dir_path,
- kinnit_if_needed=kinit_if_needed,
- stub_path=params.tez_stub_path
+ kinnit_if_needed=kinit_if_needed
)
pass
if lib_dir_path:
- copyFromLocal(path=params.tez_local_lib_jars,
+ CopyFromLocal(params.tez_local_lib_jars,
mode=0655,
owner=params.tez_user,
dest_dir=lib_dir_path,
kinnit_if_needed=kinit_if_needed,
- stub_path=params.tez_stub_path
)
pass
- ExecuteHadoop(format('dfs -touchz {tez_stub_path}'),
- user = params.tez_user,
- conf_dir=params.hadoop_conf_dir
- )
-
def get_tez_hdfs_dir_paths(tez_lib_uris = None):
hdfs_path_prefix = 'hdfs://'
@@ -138,47 +131,5 @@ def get_tez_hdfs_dir_paths(tez_lib_uris = None):
return lib_dir_paths
-def copyFromLocal(path=None, owner=None, group=None, mode=None,
- dest_dir=None, kinnit_if_needed="", stub_path=None):
- import params
-
- if not stub_path:
- stub_path = params.tez_stub_path
- pass
-
- copy_cmd = format("fs -copyFromLocal {path} {dest_dir}")
- unless_cmd = format("{kinnit_if_needed} hadoop fs -ls {stub_path} >/dev/null 2>&1")
-
- ExecuteHadoop(copy_cmd,
- not_if=unless_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir,
- ignore_failures = True)
-
- if not owner:
- chown = None
- else:
- if not group:
- chown = owner
- else:
- chown = format('{owner}:{group}')
-
- if not chown:
- chown_cmd = format("fs -chown {chown} {dest_dir}")
-
- ExecuteHadoop(copy_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir)
- pass
-
- if not mode:
- chmod_cmd = format('fs -chmod {mode} {dest_dir}')
-
- ExecuteHadoop(chmod_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir)
- pass
-
-
if __name__ == "__main__":
HiveServer().execute()
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/package/scripts/webhcat.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/package/scripts/webhcat.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/package/scripts/webhcat.py
index 7aa8521..726fc76 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/package/scripts/webhcat.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/package/scripts/webhcat.py
@@ -84,55 +84,23 @@ def webhcat():
path='/bin'
)
- copyFromLocal(path='/usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar',
+ CopyFromLocal('/usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar',
owner=params.webhcat_user,
mode=0755,
dest_dir=format("{webhcat_apps_dir}/hadoop-streaming.jar"),
kinnit_if_needed=kinit_if_needed
)
- copyFromLocal(path='/usr/share/HDP-webhcat/pig.tar.gz',
+ CopyFromLocal('/usr/share/HDP-webhcat/pig.tar.gz',
owner=params.webhcat_user,
mode=0755,
dest_dir=format("{webhcat_apps_dir}/pig.tar.gz"),
+ kinnit_if_needed=kinit_if_needed
)
- copyFromLocal(path='/usr/share/HDP-webhcat/hive.tar.gz',
+ CopyFromLocal('/usr/share/HDP-webhcat/hive.tar.gz',
owner=params.webhcat_user,
mode=0755,
- dest_dir=format("{webhcat_apps_dir}/hive.tar.gz")
- )
-
-
-def copyFromLocal(path=None, owner=None, group=None, mode=None, dest_dir=None, kinnit_if_needed=""):
- import params
-
- copy_cmd = format("fs -copyFromLocal {path} {dest_dir}")
- unless_cmd = format("{kinnit_if_needed} hadoop fs -ls {dest_dir} >/dev/null 2>&1")
-
- ExecuteHadoop(copy_cmd,
- not_if=unless_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir)
-
- if not owner:
- chown = None
- else:
- if not group:
- chown = owner
- else:
- chown = format('{owner}:{group}')
-
- if not chown:
- chown_cmd = format("fs -chown {chown} {dest_dir}")
-
- ExecuteHadoop(copy_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir)
-
- if not mode:
- chmod_cmd = format('fs -chmod {mode} {dest_dir}')
-
- ExecuteHadoop(chmod_cmd,
- user=owner,
- conf_dir=params.hadoop_conf_dir)
+ dest_dir=format("{webhcat_apps_dir}/hive.tar.gz"),
+ kinnit_if_needed=kinit_if_needed
+ )
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
index cc480dc..4877c2e 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
@@ -98,23 +98,18 @@ class TestHiveServer(RMFTestCase):
action = ['create']
)
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/lib/tez/tez*.jar /apps/tez/',
- not_if = ' hadoop fs -ls /tmp/tez_jars_copied >/dev/null 2>&1',
- user = 'tez',
- conf_dir = '/etc/hadoop/conf',
- ignore_failures=True
- )
-
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/lib/tez/lib/*.jar /apps/tez/lib/',
- not_if = ' hadoop fs -ls /tmp/tez_jars_copied >/dev/null 2>&1',
- user = 'tez',
- conf_dir = '/etc/hadoop/conf',
- ignore_failures=True
+ self.assertResourceCalled('CopyFromLocal', '/usr/lib/tez/tez*.jar',
+ mode=0655,
+ owner='tez',
+ dest_dir='/apps/tez/',
+ kinnit_if_needed=''
)
- self.assertResourceCalled('ExecuteHadoop', 'dfs -touchz /tmp/tez_jars_copied',
- user = 'tez',
- conf_dir = '/etc/hadoop/conf'
+ self.assertResourceCalled('CopyFromLocal', '/usr/lib/tez/lib/*.jar',
+ mode=0655,
+ owner='tez',
+ dest_dir='/apps/tez/lib/',
+ kinnit_if_needed=''
)
self.assertResourceCalled('Execute', 'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_hiveserver2_script /var/log/hive/hive-server2.out /var/log/hive/hive-server2.log /var/run/hive/hive-server.pid /etc/hive/conf.server',
http://git-wip-us.apache.org/repos/asf/ambari/blob/a8884594/ambari-server/src/test/python/stacks/2.0.6/WEBHCAT/test_webhcat_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/WEBHCAT/test_webhcat_server.py b/ambari-server/src/test/python/stacks/2.0.6/WEBHCAT/test_webhcat_server.py
index 23c7e27..2b5e3ae 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/WEBHCAT/test_webhcat_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/WEBHCAT/test_webhcat_server.py
@@ -154,20 +154,23 @@ class TestWebHCatServer(RMFTestCase):
owner = 'hcat',
group = 'hadoop',
)
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar /apps/webhcat/hadoop-streaming.jar',
- not_if = ' hadoop fs -ls /apps/webhcat/hadoop-streaming.jar >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
+ self.assertResourceCalled('CopyFromLocal', '/usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/hadoop-streaming.jar'),
+ kinnit_if_needed=''
)
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/share/HDP-webhcat/pig.tar.gz /apps/webhcat/pig.tar.gz',
- not_if = ' hadoop fs -ls /apps/webhcat/pig.tar.gz >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
+ self.assertResourceCalled('CopyFromLocal', '/usr/share/HDP-webhcat/pig.tar.gz',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/pig.tar.gz'),
+ kinnit_if_needed=''
)
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/share/HDP-webhcat/hive.tar.gz /apps/webhcat/hive.tar.gz',
- not_if = ' hadoop fs -ls /apps/webhcat/hive.tar.gz >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
+ self.assertResourceCalled('CopyFromLocal', '/usr/share/HDP-webhcat/hive.tar.gz',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/hive.tar.gz'),
+ kinnit_if_needed=''
)
def assert_configure_secured(self):
@@ -230,18 +233,21 @@ class TestWebHCatServer(RMFTestCase):
path = ['/bin'],
user = 'hcat',
)
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar /apps/webhcat/hadoop-streaming.jar',
- not_if = '/usr/bin/kinit -kt /etc/security/keytabs/smokeuser.headless.keytab ambari-qa; hadoop fs -ls /apps/webhcat/hadoop-streaming.jar >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
- )
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/share/HDP-webhcat/pig.tar.gz /apps/webhcat/pig.tar.gz',
- not_if = ' hadoop fs -ls /apps/webhcat/pig.tar.gz >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
- )
- self.assertResourceCalled('ExecuteHadoop', 'fs -copyFromLocal /usr/share/HDP-webhcat/hive.tar.gz /apps/webhcat/hive.tar.gz',
- not_if = ' hadoop fs -ls /apps/webhcat/hive.tar.gz >/dev/null 2>&1',
- user = 'hcat',
- conf_dir = '/etc/hadoop/conf',
- )
+ self.assertResourceCalled('CopyFromLocal', '/usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/hadoop-streaming.jar'),
+ kinnit_if_needed='/usr/bin/kinit -kt /etc/security/keytabs/smokeuser.headless.keytab ambari-qa;'
+ )
+ self.assertResourceCalled('CopyFromLocal', '/usr/share/HDP-webhcat/pig.tar.gz',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/pig.tar.gz'),
+ kinnit_if_needed='/usr/bin/kinit -kt /etc/security/keytabs/smokeuser.headless.keytab ambari-qa;'
+ )
+ self.assertResourceCalled('CopyFromLocal', '/usr/share/HDP-webhcat/hive.tar.gz',
+ owner='hcat',
+ mode=0755,
+ dest_dir=format('/apps/webhcat/hive.tar.gz'),
+ kinnit_if_needed='/usr/bin/kinit -kt /etc/security/keytabs/smokeuser.headless.keytab ambari-qa;'
+ )
\ No newline at end of file