|
@@ -24,8 +24,15 @@ from stacks.utils.RMFTestCase import *
|
|
|
from resource_management.core import shell
|
|
|
from resource_management.core.exceptions import Fail
|
|
|
from resource_management.libraries import functions
|
|
|
+from resource_management.libraries.providers.hdfs_resource import WebHDFSUtil
|
|
|
+import hashlib
|
|
|
+
|
|
|
+md5_mock = MagicMock()
|
|
|
+md5_mock.hexdigest.return_value = "abc123hash"
|
|
|
|
|
|
@patch("platform.linux_distribution", new = MagicMock(return_value="Linux"))
|
|
|
+@patch.object(hashlib, "md5", new=MagicMock(return_value=md5_mock))
|
|
|
+@patch.object(WebHDFSUtil, "run_command", new=MagicMock(return_value={}))
|
|
|
class TestOozieServer(RMFTestCase):
|
|
|
COMMON_SERVICES_PACKAGE_DIR = "OOZIE/4.0.0.2.0/package"
|
|
|
STACK_VERSION = "2.0.6"
|
|
@@ -190,45 +197,49 @@ class TestOozieServer(RMFTestCase):
|
|
|
recursive = True,
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', ('tar', '-xvf', '/usr/lib/oozie/oozie-sharelib.tar.gz', '-C', '/usr/lib/oozie'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- sudo = True,
|
|
|
- )
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
+ sudo = True,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('cp', '/usr/share/HDP-oozie/ext-2.2.zip', '/usr/lib/oozie/libext'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- sudo = True,
|
|
|
- )
|
|
|
+ not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ sudo = True,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('chown', u'oozie:hadoop', '/usr/lib/oozie/libext/ext-2.2.zip'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- sudo = True,
|
|
|
- )
|
|
|
+ not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ sudo = True,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('chown', '-RL', u'oozie:hadoop', '/var/lib/oozie/oozie-server/conf'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- sudo = True,
|
|
|
- )
|
|
|
+ not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ sudo = True,
|
|
|
+ )
|
|
|
self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
|
|
|
- content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar'),
|
|
|
- )
|
|
|
+ content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar'),
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('cp',
|
|
|
- '--remove-destination',
|
|
|
- '/tmp/mysql-connector-java.jar',
|
|
|
- '/usr/lib/oozie/libext/mysql-connector-java.jar'),
|
|
|
- path = ['/bin', '/usr/bin/'],
|
|
|
- sudo = True,
|
|
|
- )
|
|
|
+ '--remove-destination',
|
|
|
+ '/tmp/mysql-connector-java.jar',
|
|
|
+ '/usr/lib/oozie/libext/mysql-connector-java.jar'),
|
|
|
+ path = ['/bin', '/usr/bin/'],
|
|
|
+ sudo = True,
|
|
|
+ )
|
|
|
self.assertResourceCalled('File', '/usr/lib/oozie/libext/mysql-connector-java.jar',
|
|
|
- owner = 'oozie',
|
|
|
- group = 'hadoop',
|
|
|
- )
|
|
|
+ owner = 'oozie',
|
|
|
+ group = 'hadoop',
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', 'ambari-sudo.sh cp /usr/lib/falcon/oozie/ext/falcon-oozie-el-extension-*.jar /usr/lib/oozie/libext',
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- )
|
|
|
+ not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', 'ambari-sudo.sh chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- )
|
|
|
+ not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
- user = 'oozie',
|
|
|
- )
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
+ user = 'oozie',
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
|
|
|
+ content = 'abc123hash',
|
|
|
+ mode = 0644,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('chown', '-R', u'oozie:hadoop', '/var/lib/oozie/oozie-server'),
|
|
|
sudo = True,
|
|
|
)
|
|
@@ -249,11 +260,37 @@ class TestOozieServer(RMFTestCase):
|
|
|
ignore_failures = True,
|
|
|
user = 'oozie',
|
|
|
)
|
|
|
- self.assertResourceCalled('Execute', ' hadoop --config /etc/hadoop/conf dfs -put /usr/lib/oozie/share /user/oozie ; hadoop --config /etc/hadoop/conf dfs -chmod -R 755 /user/oozie/share',
|
|
|
- not_if = shell.as_user(" hadoop --config /etc/hadoop/conf dfs -ls /user/oozie/share | awk 'BEGIN {count=0;} /share/ {count++} END {if (count > 0) {exit 0} else {exit 1}}'", "oozie"),
|
|
|
- user = u'oozie',
|
|
|
+ self.assertResourceCalled('Execute', 'hadoop --config /etc/hadoop/conf dfs -put /usr/lib/oozie/share /user/oozie',
|
|
|
path = ['/usr/bin:/usr/bin'],
|
|
|
- )
|
|
|
+ user = 'oozie',
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('HdfsResource', '/user/oozie/share',
|
|
|
+ security_enabled = False,
|
|
|
+ hadoop_bin_dir = '/usr/bin',
|
|
|
+ keytab = UnknownConfigurationMock(),
|
|
|
+ default_fs = 'hdfs://c6401.ambari.apache.org:8020',
|
|
|
+ user = 'hdfs',
|
|
|
+ hdfs_site = self.getConfig()['configurations']['hdfs-site'],
|
|
|
+ kinit_path_local = '/usr/bin/kinit',
|
|
|
+ principal_name = UnknownConfigurationMock(),
|
|
|
+ recursive_chmod = True,
|
|
|
+ action = ['create_on_execute'],
|
|
|
+ hadoop_conf_dir = '/etc/hadoop/conf',
|
|
|
+ type = 'directory',
|
|
|
+ mode = 0755,
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('HdfsResource', None,
|
|
|
+ security_enabled = False,
|
|
|
+ hadoop_bin_dir = '/usr/bin',
|
|
|
+ keytab = UnknownConfigurationMock(),
|
|
|
+ default_fs = 'hdfs://c6401.ambari.apache.org:8020',
|
|
|
+ hdfs_site = self.getConfig()['configurations']['hdfs-site'],
|
|
|
+ kinit_path_local = '/usr/bin/kinit',
|
|
|
+ principal_name = UnknownConfigurationMock(),
|
|
|
+ user = 'hdfs',
|
|
|
+ action = ['execute'],
|
|
|
+ hadoop_conf_dir = '/etc/hadoop/conf',
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-start.sh',
|
|
|
environment = {'OOZIE_CONFIG': '/etc/oozie/conf'},
|
|
|
not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
@@ -308,11 +345,41 @@ class TestOozieServer(RMFTestCase):
|
|
|
ignore_failures = True,
|
|
|
user = 'oozie',
|
|
|
)
|
|
|
- self.assertResourceCalled('Execute', '/usr/bin/kinit -kt /etc/security/keytabs/oozie.service.keytab oozie/c6402.ambari.apache.org@EXAMPLE.COM; hadoop --config /etc/hadoop/conf dfs -put /usr/lib/oozie/share /user/oozie ; hadoop --config /etc/hadoop/conf dfs -chmod -R 755 /user/oozie/share',
|
|
|
- not_if = shell.as_user("/usr/bin/kinit -kt /etc/security/keytabs/oozie.service.keytab oozie/c6402.ambari.apache.org@EXAMPLE.COM; hadoop --config /etc/hadoop/conf dfs -ls /user/oozie/share | awk 'BEGIN {count=0;} /share/ {count++} END {if (count > 0) {exit 0} else {exit 1}}'", "oozie"),
|
|
|
- user = 'oozie',
|
|
|
- path = ['/usr/bin:/usr/bin'],
|
|
|
- )
|
|
|
+
|
|
|
+ self.assertResourceCalled('Execute', '/usr/bin/kinit -kt /etc/security/keytabs/oozie.service.keytab oozie/c6402.ambari.apache.org@EXAMPLE.COM;',
|
|
|
+ user = 'oozie',
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('Execute', 'hadoop --config /etc/hadoop/conf dfs -put /usr/lib/oozie/share /user/oozie',
|
|
|
+ path = ['/usr/bin:/usr/bin'],
|
|
|
+ user = 'oozie',
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('HdfsResource', '/user/oozie/share',
|
|
|
+ security_enabled = True,
|
|
|
+ hadoop_bin_dir = '/usr/bin',
|
|
|
+ keytab = '/etc/security/keytabs/hdfs.headless.keytab',
|
|
|
+ default_fs = 'hdfs://c6401.ambari.apache.org:8020',
|
|
|
+ user = 'hdfs',
|
|
|
+ hdfs_site = self.getConfig()['configurations']['hdfs-site'],
|
|
|
+ kinit_path_local = '/usr/bin/kinit',
|
|
|
+ principal_name = 'hdfs',
|
|
|
+ recursive_chmod = True,
|
|
|
+ action = ['create_on_execute'],
|
|
|
+ hadoop_conf_dir = '/etc/hadoop/conf',
|
|
|
+ type = 'directory',
|
|
|
+ mode = 0755,
|
|
|
+ )
|
|
|
+ self.assertResourceCalled('HdfsResource', None,
|
|
|
+ security_enabled = True,
|
|
|
+ hadoop_bin_dir = '/usr/bin',
|
|
|
+ keytab = '/etc/security/keytabs/hdfs.headless.keytab',
|
|
|
+ default_fs = 'hdfs://c6401.ambari.apache.org:8020',
|
|
|
+ hdfs_site = self.getConfig()['configurations']['hdfs-site'],
|
|
|
+ kinit_path_local = '/usr/bin/kinit',
|
|
|
+ principal_name = 'hdfs',
|
|
|
+ user = 'hdfs',
|
|
|
+ action = ['execute'],
|
|
|
+ hadoop_conf_dir = '/etc/hadoop/conf',
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-start.sh',
|
|
|
environment = {'OOZIE_CONFIG': '/etc/oozie/conf'},
|
|
|
not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
@@ -475,7 +542,7 @@ class TestOozieServer(RMFTestCase):
|
|
|
recursive = True,
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', ('tar', '-xvf', '/usr/lib/oozie/oozie-sharelib.tar.gz', '-C', '/usr/lib/oozie'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
sudo = True,
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', ('cp', '/usr/share/HDP-oozie/ext-2.2.zip', '/usr/lib/oozie/libext'),
|
|
@@ -497,9 +564,13 @@ class TestOozieServer(RMFTestCase):
|
|
|
not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
user = 'oozie',
|
|
|
)
|
|
|
+ self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
|
|
|
+ content = 'abc123hash',
|
|
|
+ mode = 0644,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('chown', '-R', u'oozie:hadoop', '/var/lib/oozie/oozie-server'),
|
|
|
sudo = True,
|
|
|
)
|
|
@@ -643,7 +714,7 @@ class TestOozieServer(RMFTestCase):
|
|
|
recursive = True,
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', ('tar', '-xvf', '/usr/lib/oozie/oozie-sharelib.tar.gz', '-C', '/usr/lib/oozie'),
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
sudo = True,
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', ('cp', '/usr/share/HDP-oozie/ext-2.2.zip', '/usr/lib/oozie/libext'),
|
|
@@ -665,9 +736,13 @@ class TestOozieServer(RMFTestCase):
|
|
|
not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
)
|
|
|
self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war -secure',
|
|
|
- not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
|
|
|
+ not_if = "ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1 || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]]",
|
|
|
user = 'oozie',
|
|
|
)
|
|
|
+ self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
|
|
|
+ content = 'abc123hash',
|
|
|
+ mode = 0644,
|
|
|
+ )
|
|
|
self.assertResourceCalled('Execute', ('chown', '-R', u'oozie:hadoop', '/var/lib/oozie/oozie-server'),
|
|
|
sudo = True,
|
|
|
)
|