Repository: ambari Updated Branches: refs/heads/trunk 0ab1d361d -> a6b9e9559
http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/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 60fda00..66744eb 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 @@ -784,3 +784,33 @@ class TestHiveServer(RMFTestCase): self.assertResourceCalled('Execute', 'hdp-select set hive-server2 %s' % version,) self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_server.py", + classname = "HiveServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set hive-server2 %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hive --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hive --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py index b73fb2b..3fa1c9c 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py @@ -466,4 +466,34 @@ class TestWebHCatServer(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set hive-webhcat %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/webhcat_server.py", + classname = "WebHCatServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set hive-webhcat %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_client.py b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_client.py index ec1a783..089008c 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_client.py @@ -209,4 +209,35 @@ class TestOozieClient(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set oozie-client %s' % version) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_client.py", + classname = "OozieClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set oozie-client %s' % version) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package oozie --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package oozie --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py index 463e2d3..c706ee7 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py +++ b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * from resource_management.core import shell @@ -836,6 +837,74 @@ class TestOozieServer(RMFTestCase): self.assertNoMoreResources() + @patch("tarfile.open") + @patch("os.path.isdir") + @patch("os.path.exists") + @patch("os.path.isfile") + @patch("os.remove") + @patch("os.chmod") + @patch("shutil.rmtree", new = MagicMock()) + @patch("glob.iglob") + @patch("shutil.copy2", new = MagicMock()) + def test_upgrade_23(self, glob_mock, chmod_mock, remove_mock, + isfile_mock, exists_mock, isdir_mock, tarfile_open_mock): + + isdir_mock.return_value = True + exists_mock.side_effect = [False,False,True] + isfile_mock.return_value = True + glob_mock.return_value = ["/usr/hdp/2.2.1.0-2187/hadoop/lib/hadoop-lzo-0.6.0.2.2.1.0-2187.jar"] + + prepare_war_stdout = """INFO: Adding extension: libext/mysql-connector-java.jar + New Oozie WAR file with added 'JARs' at /var/lib/oozie/oozie-server/webapps/oozie.war""" + + + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/oozie-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py", + classname = "OozieServer", command = "pre_rolling_restart", config_dict = json_content, + hdp_stack_version = self.UPGRADE_STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, prepare_war_stdout)], + mocks_dict = mocks_dict + ) + + # 2 calls to tarfile.open (1 directories, read + write) + self.assertTrue(tarfile_open_mock.called) + self.assertEqual(tarfile_open_mock.call_count,2) + + self.assertTrue(chmod_mock.called) + self.assertEqual(chmod_mock.call_count,1) + chmod_mock.assert_called_once_with('/usr/hdp/current/oozie-server/libext-customer', 511) + + self.assertTrue(isfile_mock.called) + self.assertEqual(isfile_mock.call_count,3) + isfile_mock.assert_called_with('/usr/share/HDP-oozie/ext-2.2.zip') + + self.assertTrue(glob_mock.called) + self.assertEqual(glob_mock.call_count,1) + glob_mock.assert_called_with('/usr/hdp/2.3.0.0-1234/hadoop/lib/hadoop-lzo*.jar') + + self.assertResourceCalled('Execute', 'hdp-select set oozie-server 2.3.0.0-1234') + self.assertResourceCalled('Execute', 'hdfs dfs -chown oozie:hadoop /user/oozie/share', user='oozie') + self.assertResourceCalled('Execute', 'hdfs dfs -chmod -R 755 /user/oozie/share', user='oozie') + self.assertResourceCalled('Execute', '/usr/hdp/current/oozie-server/bin/ooziedb.sh upgrade -run', user='oozie') + self.assertResourceCalled('Execute', '/usr/hdp/current/oozie-server/bin/oozie-setup.sh sharelib create -fs hdfs://c6401.ambari.apache.org:8020', user='oozie') + + self.assertNoMoreResources() + + self.assertEquals(3, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package oozie --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package oozie --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + @patch("tarfile.open") @patch("os.path.isdir") http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py index cfa5569..28e2306 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py @@ -147,4 +147,33 @@ class TestPigClient(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/pig_client.py", + classname = "PigClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set hadoop-client %s' % version) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/SQOOP/test_sqoop.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/SQOOP/test_sqoop.py b/ambari-server/src/test/python/stacks/2.0.6/SQOOP/test_sqoop.py index 303904a..4a17d63 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/SQOOP/test_sqoop.py +++ b/ambari-server/src/test/python/stacks/2.0.6/SQOOP/test_sqoop.py @@ -112,3 +112,29 @@ class TestSqoop(RMFTestCase): self.assertNoMoreResources() + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/sqoop_client.py", + classname = "SqoopClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set sqoop-client %s" % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package sqoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package sqoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py index dc7fc11..efec6f7 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py +++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py @@ -17,6 +17,7 @@ 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 json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import os @@ -675,3 +676,31 @@ class TestHistoryServer(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES ) put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/historyserver.py", + classname = "HistoryServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-mapreduce-historyserver %s' % version) + self.assertNoMoreResources() + + self.assertEquals(3, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py index 4fdc398..26fab63 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py @@ -17,6 +17,7 @@ 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 json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import os @@ -362,6 +363,34 @@ class TestMapReduce2Client(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES ) + # for now, it's enough that hdp-select is confirmed self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") - # for now, it's enough that hdp-select is confirmed + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/client-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/mapreduce2_client.py", + classname = "MapReduce2Client", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-client {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py index 44ea312..46e7cbc 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py +++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py @@ -17,11 +17,12 @@ 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 json +import os from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * from resource_management.core.exceptions import Fail from resource_management.core import shell -import os origin_exists = os.path.exists @patch("platform.linux_distribution", new = MagicMock(return_value="Linux")) @@ -804,3 +805,31 @@ class TestNodeManager(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES ) put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/nodemanager.py", + classname = "Nodemanager", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-yarn-nodemanager {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py index 8f2d192..f40beac 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py +++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py @@ -17,9 +17,10 @@ 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 json +import os from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * -import os origin_exists = os.path.exists @patch("platform.linux_distribution", new = MagicMock(return_value="Linux")) @@ -595,3 +596,31 @@ class TestResourceManager(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES ) put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/resourcemanager.py", + classname = "Resourcemanager", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-yarn-resourcemanager {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py index c70d4ca..02b020b 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py @@ -17,10 +17,11 @@ 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 json +import os from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * from resource_management.libraries.script.script import Script -import os origin_exists = os.path.exists @patch("platform.linux_distribution", new = MagicMock(return_value="Linux")) @@ -526,3 +527,31 @@ class TestYarnClient(RMFTestCase): self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") # for now, it's enough that hdp-select is confirmed + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/yarn_client.py", + classname = "YarnClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-client {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py b/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py index 0969bc4..c8736da 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py @@ -169,3 +169,36 @@ class TestZookeeperClient(RMFTestCase): self.assertResourceCalled('Execute', 'hdp-select set zookeeper-client %s' % version) self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-3242' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/zookeeper_client.py", + classname = "ZookeeperClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set zookeeper-client %s' % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package zookeeper --stack-version 2.3.0.0-3242 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package zookeeper --stack-version 2.3.0.0-3242 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py b/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py index 641930d..ca8cf16 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py +++ b/ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py @@ -358,6 +358,39 @@ class TestZookeeperServer(RMFTestCase): 'hdp-select set zookeeper-server %s' % version) self.assertNoMoreResources() + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-3242' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/zookeeper_server.py", + classname = "ZookeeperServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set zookeeper-server %s' % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package zookeeper --stack-version 2.3.0.0-3242 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package zookeeper --stack-version 2.3.0.0-3242 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + + self.assertNoMoreResources() + @patch.object(resource_management.libraries.functions, "get_unique_id_and_date") def test_post_rolling_restart(self, get_unique_id_and_date_mock): unique_value = "unique1" @@ -383,4 +416,4 @@ class TestZookeeperServer(RMFTestCase): ], mocks_dict = mocks_dict) self.assertEqual(mocks_dict['call'].call_count, 4) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_client.py b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_client.py index 5b92039..abff777 100644 --- a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_client.py +++ b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_client.py @@ -118,4 +118,34 @@ class TestFalconClient(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set falcon-client %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/falcon_client.py", + classname = "FalconClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set falcon-client %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package falcon --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package falcon --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py index a7e3753..d4017f7 100644 --- a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py +++ b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py @@ -320,4 +320,37 @@ class TestFalconServer(RMFTestCase): 'hdp-select set falcon-server %s' % version,) self.assertTrue(tarfile_open_mock.called) self.assertTrue(rmtree_mock.called) - self.printResources() \ No newline at end of file + self.printResources() + + @patch('os.path.isfile', new=MagicMock(return_value=True)) + @patch.object(tarfile, 'open') + @patch.object(shutil, 'rmtree') + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, tarfile_open_mock, rmtree_mock, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/falcon_server.py", + classname = "FalconServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set falcon-server %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package falcon --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package falcon --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py index df1ea4e..2ed5f14 100644 --- a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py +++ b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py @@ -478,7 +478,6 @@ class TestHiveMetastore(RMFTestCase): ) put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) - def test_pre_rolling_restart(self): config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" with open(config_file, "r") as f: @@ -493,4 +492,34 @@ class TestHiveMetastore(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set hive-metastore %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_metastore.py", + classname = "HiveMetastore", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set hive-metastore %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hive --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hive --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py index b4fef75..44b48de 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py @@ -18,9 +18,10 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * -import resource_management.core.source +import resource_management.core.source from test_storm_base import TestStormBase class TestStormDrpcServer(TestStormBase): @@ -151,6 +152,33 @@ class TestStormDrpcServer(TestStormBase): self.assertResourceCalled("Execute", "hdp-select set storm-client 2.2.1.0-2067") + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/drpc_server.py", + classname = "DrpcServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-client 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + @patch("resource_management.libraries.functions.security_commons.build_expectations") @patch("resource_management.libraries.functions.security_commons.get_params_from_filesystem") http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py index b3f60d9..f79fa6d 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -150,6 +151,32 @@ class TestStormNimbus(TestStormBase): self.assertResourceCalled("Execute", "hdp-select set storm-nimbus 2.2.1.0-2067") + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/nimbus.py", + classname = "Nimbus", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-nimbus 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) @patch("resource_management.libraries.functions.security_commons.build_expectations") @patch("resource_management.libraries.functions.security_commons.get_params_from_filesystem") http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus_prod.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus_prod.py index e68274b..17c0c6b 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus_prod.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus_prod.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -114,3 +115,30 @@ class TestStormNimbus(TestStormBase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled("Execute", "hdp-select set storm-nimbus 2.2.1.0-2067") + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/nimbus_prod.py", + classname = "Nimbus", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-nimbus 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py index e283c33..761bb64 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -150,3 +151,29 @@ class TestStormRestApi(TestStormBase): self.assertResourceCalled("Execute", "hdp-select set storm-client 2.2.1.0-2067") + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/rest_api.py", + classname = "StormRestApi", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-client 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py index 4c172da..38b7b64 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -194,3 +195,30 @@ class TestStormSupervisor(TestStormBase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled("Execute", "hdp-select set storm-supervisor 2.2.1.0-2067") + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/supervisor.py", + classname = "Supervisor", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-supervisor 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py index 583d1fc..a6dc423 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -163,3 +164,30 @@ class TestStormSupervisor(TestStormBase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled("Execute", "hdp-select set storm-supervisor 2.2.1.0-2067") + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/supervisor_prod.py", + classname = "Supervisor", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-supervisor 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py index 49b27fa..0a46155 100644 --- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py +++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +import json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * import resource_management.core.source @@ -148,6 +149,33 @@ class TestStormUiServer(TestStormBase): self.assertResourceCalled("Execute", "hdp-select set storm-client 2.2.1.0-2067") + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/ui_server.py", + classname = "UiServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set storm-client 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package storm --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + @patch("resource_management.libraries.functions.security_commons.build_expectations") @patch("resource_management.libraries.functions.security_commons.validate_security_config_properties") @@ -228,3 +256,4 @@ class TestStormUiServer(TestStormBase): target = RMFTestCase.TARGET_COMMON_SERVICES ) put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py b/ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py index 74273a7..63f85d0 100644 --- a/ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py +++ b/ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py @@ -17,6 +17,8 @@ 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 json from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * @@ -73,3 +75,45 @@ class TestTezClient(RMFTestCase): self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") # for now, it's enough that hdp-select is confirmed + + @patch("resource_management.libraries.functions.get_hdp_version") + def test_upgrade_23(self, get_hdp_version_mock): + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/tez_client.py", + classname = "TezClient", + command = "restart", + config_file="client-upgrade.json", + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES) + + get_hdp_version_mock.return_value = "2.2.1.0-2067" + self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") + + # for now, it's enough that hdp-select is confirmed + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.1/configs/client-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/tez_client.py", + classname = "TezClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py b/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py index fed1350..8676ca9 100644 --- a/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py +++ b/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py @@ -17,9 +17,10 @@ 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 json +import os from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * -import os import resource_management.libraries.functions origin_exists = os.path.exists @@ -363,4 +364,32 @@ class TestAppTimelineServer(RMFTestCase): hdp_stack_version = self.STACK_VERSION, target = RMFTestCase.TARGET_COMMON_SERVICES ) - put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) \ No newline at end of file + put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/application_timeline_server.py", + classname = "ApplicationTimelineServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-yarn-timelineserver {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/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 151335c..4519e4e 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 @@ -111,4 +111,34 @@ class TestKafkaBroker(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set kafka-broker %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/kafka_broker.py", + classname = "KafkaBroker", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set kafka-broker %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package kafka --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package kafka --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/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 82bee2a..6060c16 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 @@ -231,6 +231,39 @@ class TestKnoxGateway(RMFTestCase): self.assertResourceCalled("Execute", "hdp-select set knox-server %s" % version) + @patch("tarfile.open") + @patch("os.path.isdir") + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock, isdir_mock, tarfile_open_mock): + isdir_mock.return_value = True + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/knox_gateway.py", + classname = "KnoxGateway", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertTrue(tarfile_open_mock.called) + + self.assertResourceCalled("Execute", "hdp-select set knox-server %s" % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package knox --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package knox --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + @patch("os.path.islink") @patch("os.path.realpath") @patch("os.unlink") http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_admin.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_admin.py b/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_admin.py index 6ac0b63..57674cd 100644 --- a/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_admin.py +++ b/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_admin.py @@ -17,6 +17,7 @@ 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 json from mock.mock import MagicMock, patch from stacks.utils.RMFTestCase import * @@ -159,3 +160,30 @@ class TestRangerAdmin(RMFTestCase): mode = 0744, properties = self.getConfig()['configurations']['ranger-site'] ) + + + def test_pre_rolling_upgrade_23(self, ): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/ranger-admin-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + json_content['commandParams']['version'] = '2.3.0.0-1234' + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/ranger_usersync.py", + classname = "RangerAdmin", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set ranger-admin 2.3.0.0-1234") + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package ranger-admin --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package ranger-admin --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_usersync.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_usersync.py b/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_usersync.py index 249ecbd..4cb5384 100644 --- a/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_usersync.py +++ b/ambari-server/src/test/python/stacks/2.2/RANGER/test_ranger_usersync.py @@ -17,6 +17,8 @@ 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 json from mock.mock import MagicMock, patch from stacks.utils.RMFTestCase import * @@ -115,6 +117,35 @@ class TestRangerUsersync(RMFTestCase): self.assertResourceCalled("Execute", ("/usr/bin/ranger-usersync-stop",), sudo=True) self.assertResourceCalled("Execute", "hdp-select set ranger-usersync 2.2.2.0-2399") + @patch("setup_ranger.setup_usersync") + def test_upgrade_23(self, setup_usersync_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + json_content['commandParams']['version'] = '2.3.0.0-1234' + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/ranger_usersync.py", + classname = "RangerUsersync", + command = "restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertTrue(setup_usersync_mock.called) + self.assertResourceCalled("Execute", ("/usr/bin/ranger-usersync-stop",), sudo=True) + self.assertResourceCalled("Execute", "hdp-select set ranger-usersync 2.3.0.0-1234") + + self.assertEquals(3, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package ranger-usersync --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package ranger-usersync --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + def assert_configure_default(self): self.assertResourceCalled('PropertiesFile', '/usr/hdp/current/ranger-usersync/install.properties', properties = self.getConfig()['configurations']['usersync-properties'], http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/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 2a03cde..368cdcb 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 @@ -17,6 +17,7 @@ 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 json from stacks.utils.RMFTestCase import * @@ -116,4 +117,39 @@ class TestSliderClient(RMFTestCase): self.assertResourceCalled("Execute", "hdp-select set slider-client 2.2.1.0-2067") self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + json_content['commandParams']['version'] = '2.3.0.0-1234' + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/slider_client.py", + classname = "SliderClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled("Execute", "hdp-select set slider-client 2.3.0.0-1234") + self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.3.0.0-1234") + self.assertNoMoreResources() + + self.assertEquals(4, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package slider --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package slider --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[2][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[3][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.2/SPARK/test_job_history_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/SPARK/test_job_history_server.py b/ambari-server/src/test/python/stacks/2.2/SPARK/test_job_history_server.py index 6461964..25de85e 100644 --- a/ambari-server/src/test/python/stacks/2.2/SPARK/test_job_history_server.py +++ b/ambari-server/src/test/python/stacks/2.2/SPARK/test_job_history_server.py @@ -17,6 +17,7 @@ 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 json from mock.mock import MagicMock, patch from stacks.utils.RMFTestCase import * @@ -209,3 +210,31 @@ class TestJobHistoryServer(RMFTestCase): owner = 'spark', group = 'spark', ) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/job_history_server.py", + classname = "JobHistoryServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set spark-historyserver {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package spark --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package spark --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.2/SPARK/test_spark_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/SPARK/test_spark_client.py b/ambari-server/src/test/python/stacks/2.2/SPARK/test_spark_client.py index 30235f0..a1f4662 100644 --- a/ambari-server/src/test/python/stacks/2.2/SPARK/test_spark_client.py +++ b/ambari-server/src/test/python/stacks/2.2/SPARK/test_spark_client.py @@ -17,6 +17,7 @@ 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 json from mock.mock import MagicMock, patch from stacks.utils.RMFTestCase import * @@ -118,3 +119,31 @@ class TestSparkClient(RMFTestCase): owner = 'spark', group = 'spark', ) + + def test_pre_rolling_restart_23(self): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/spark_client.py", + classname = "SparkClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set spark-client {0}'.format(version)) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package spark --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package spark --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.3/MAHOUT/test_mahout_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.3/MAHOUT/test_mahout_client.py b/ambari-server/src/test/python/stacks/2.3/MAHOUT/test_mahout_client.py index 628ca96..67cc36e 100644 --- a/ambari-server/src/test/python/stacks/2.3/MAHOUT/test_mahout_client.py +++ b/ambari-server/src/test/python/stacks/2.3/MAHOUT/test_mahout_client.py @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations under the License. ''' +from mock.mock import patch from stacks.utils.RMFTestCase import * import json @@ -61,4 +62,34 @@ class TestMahoutClient(RMFTestCase): target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', ('hdp-select', 'set', 'mahout-client', version), sudo = True) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.2/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/mahout_client.py", + classname = "MahoutClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + ('hdp-select', 'set', 'mahout-client', version), sudo = True) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package mahout --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package mahout --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0])
