Added: incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-CREATE.sql URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-CREATE.sql?rev=1491057&view=auto ============================================================================== --- incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-CREATE.sql (added) +++ incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-CREATE.sql Sat Jun 8 20:36:54 2013 @@ -0,0 +1,178 @@ +-- +-- 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. +-- + +CREATE SCHEMA ambari AUTHORIZATION :username; +ALTER ROLE :username SET search_path TO ambari; + +CREATE TABLE ambari.clusters (cluster_id BIGINT NOT NULL, cluster_info VARCHAR(255) NOT NULL, cluster_name VARCHAR(100) NOT NULL UNIQUE, desired_cluster_state VARCHAR(255) NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id)); +CREATE TABLE ambari.clusterconfig (version_tag VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, config_data VARCHAR(32000) NOT NULL, create_timestamp BIGINT NOT NULL, PRIMARY KEY (cluster_id, type_name, version_tag)); +CREATE TABLE ambari.clusterconfigmapping (cluster_id bigint NOT NULL, type_name VARCHAR(255) NOT NULL, version_tag VARCHAR(255) NOT NULL, create_timestamp BIGINT NOT NULL, selected INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL DEFAULT '_db', PRIMARY KEY (cluster_id, type_name, create_timestamp)); +CREATE TABLE ambari.clusterservices (service_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, service_enabled INTEGER NOT NULL, PRIMARY KEY (service_name, cluster_id)); +CREATE TABLE ambari.clusterstate (cluster_id BIGINT NOT NULL, current_cluster_state VARCHAR(255) NOT NULL, current_stack_version VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id)); +CREATE TABLE ambari.componentconfigmapping (cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, config_type VARCHAR(255) NOT NULL, timestamp BIGINT NOT NULL, config_tag VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, component_name, service_name, config_type)); +CREATE TABLE ambari.hostcomponentconfigmapping (cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, host_name VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, config_type VARCHAR(255) NOT NULL, timestamp BIGINT NOT NULL, config_tag VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, component_name, host_name, service_name, config_type)); +CREATE TABLE ambari.hcdesiredconfigmapping (cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, host_name VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, config_type VARCHAR(255) NOT NULL, timestamp BIGINT NOT NULL, config_tag VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, component_name, host_name, service_name, config_type)); +CREATE TABLE ambari.hostcomponentdesiredstate (cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, desired_state VARCHAR(255) NOT NULL, host_name VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, component_name, host_name, service_name)); +CREATE TABLE ambari.hostcomponentstate (cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, current_stack_version VARCHAR(255) NOT NULL, current_state VARCHAR(255) NOT NULL, host_name VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, component_name, host_name, service_name)); +CREATE TABLE ambari.hosts (host_name VARCHAR(255) NOT NULL, cpu_count INTEGER NOT NULL, ph_cpu_count INTEGER, cpu_info VARCHAR(255) NOT NULL, discovery_status VARCHAR(2000) NOT NULL, disks_info VARCHAR(10000) NOT NULL, host_attributes VARCHAR(20000) NOT NULL, ipv4 VARCHAR(255), ipv6 VARCHAR(255), public_host_name VARCHAR(255), last_registration_time BIGINT NOT NULL, os_arch VARCHAR(255) NOT NULL, os_info VARCHAR(1000) NOT NULL, os_type VARCHAR(255) NOT NULL, rack_info VARCHAR(255) NOT NULL, total_mem BIGINT NOT NULL, PRIMARY KEY (host_name)); +CREATE TABLE ambari.hoststate (agent_version VARCHAR(255) NOT NULL, available_mem BIGINT NOT NULL, current_state VARCHAR(255) NOT NULL, health_status VARCHAR(255), host_name VARCHAR(255) NOT NULL, time_in_state BIGINT NOT NULL, PRIMARY KEY (host_name)); +CREATE TABLE ambari.servicecomponentdesiredstate (component_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, PRIMARY KEY (component_name, cluster_id, service_name)); +CREATE TABLE ambari.serviceconfigmapping (cluster_id BIGINT NOT NULL, service_name VARCHAR(255) NOT NULL, config_type VARCHAR(255) NOT NULL, timestamp BIGINT NOT NULL, config_tag VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, service_name, config_type)); +CREATE TABLE ambari.servicedesiredstate (cluster_id BIGINT NOT NULL, desired_host_role_mapping INTEGER NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, service_name)); +CREATE TABLE ambari.roles (role_name VARCHAR(255) NOT NULL, PRIMARY KEY (role_name)); +CREATE TABLE ambari.users (user_id INTEGER, ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), user_password VARCHAR(255), PRIMARY KEY (user_id), UNIQUE (ldap_user, user_name)); +CREATE TABLE ambari.execution_command (command bytea, task_id BIGINT NOT NULL, PRIMARY KEY (task_id)); +CREATE TABLE ambari.host_role_command (task_id BIGINT NOT NULL, attempt_count SMALLINT NOT NULL, event VARCHAR(32000) NOT NULL, exitcode INTEGER NOT NULL, host_name VARCHAR(255) NOT NULL, last_attempt_time BIGINT NOT NULL, request_id BIGINT NOT NULL, role VARCHAR(255), stage_id BIGINT NOT NULL, start_time BIGINT NOT NULL, status VARCHAR(255), std_error bytea, std_out bytea, role_command VARCHAR(255), PRIMARY KEY (task_id)); +CREATE TABLE ambari.role_success_criteria (role VARCHAR(255) NOT NULL, request_id BIGINT NOT NULL, stage_id BIGINT NOT NULL, success_factor FLOAT NOT NULL, PRIMARY KEY (role, request_id, stage_id)); +CREATE TABLE ambari.stage (stage_id BIGINT NOT NULL, request_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, log_info VARCHAR(255) NOT NULL, request_context VARCHAR(255), PRIMARY KEY (stage_id, request_id)); +CREATE TABLE ambari.ClusterHostMapping (cluster_id BIGINT NOT NULL, host_name VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, host_name)); +CREATE TABLE ambari.user_roles (role_name VARCHAR(255) NOT NULL, user_id INTEGER NOT NULL, PRIMARY KEY (role_name, user_id)); +CREATE TABLE ambari.key_value_store ("key" VARCHAR(255), "value" VARCHAR, PRIMARY KEY("key")); +CREATE TABLE ambari.hostconfigmapping (cluster_id bigint NOT NULL, host_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, version_tag VARCHAR(255) NOT NULL, service_name VARCHAR(255), create_timestamp BIGINT NOT NULL, selected INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL DEFAULT '_db', PRIMARY KEY (cluster_id, host_name, type_name, create_timestamp)); +CREATE TABLE ambari.metainfo ("metainfo_key" VARCHAR(255), "metainfo_value" VARCHAR, PRIMARY KEY("metainfo_key")); +CREATE TABLE ambari.ambari_sequences (sequence_name VARCHAR(255) PRIMARY KEY, "value" BIGINT NOT NULL); + +ALTER TABLE ambari.clusterconfig ADD CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.clusterservices ADD CONSTRAINT FK_clusterservices_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.clusterconfigmapping ADD CONSTRAINT FK_clusterconfigmapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.clusterstate ADD CONSTRAINT FK_clusterstate_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.componentconfigmapping ADD CONSTRAINT FK_componentconfigmapping_config_tag FOREIGN KEY (config_tag, config_type, cluster_id) REFERENCES ambari.clusterconfig (version_tag, type_name, cluster_id); +ALTER TABLE ambari.componentconfigmapping ADD CONSTRAINT FK_componentconfigmapping_component_name FOREIGN KEY (component_name, cluster_id, service_name) REFERENCES ambari.servicecomponentdesiredstate (component_name, cluster_id, service_name); +ALTER TABLE ambari.hostcomponentconfigmapping ADD CONSTRAINT FK_hostcomponentconfigmapping_config_tag FOREIGN KEY (config_tag, config_type, cluster_id) REFERENCES ambari.clusterconfig (version_tag, type_name, cluster_id); +ALTER TABLE ambari.hostcomponentconfigmapping ADD CONSTRAINT FK_hostcomponentconfigmapping_cluster_id FOREIGN KEY (cluster_id, component_name, host_name, service_name) REFERENCES ambari.hostcomponentstate (cluster_id, component_name, host_name, service_name); +ALTER TABLE ambari.hcdesiredconfigmapping ADD CONSTRAINT FK_hostcomponentdesiredconfigmapping_config_tag FOREIGN KEY (config_tag, config_type, cluster_id) REFERENCES ambari.clusterconfig (version_tag, type_name, cluster_id); +ALTER TABLE ambari.hcdesiredconfigmapping ADD CONSTRAINT FK_hostcomponentdesiredconfigmapping_cluster_id FOREIGN KEY (cluster_id, component_name, host_name, service_name) REFERENCES ambari.hostcomponentdesiredstate (cluster_id, component_name, host_name, service_name); +ALTER TABLE ambari.hostcomponentdesiredstate ADD CONSTRAINT FK_hostcomponentdesiredstate_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); +ALTER TABLE ambari.hostcomponentdesiredstate ADD CONSTRAINT FK_hostcomponentdesiredstate_component_name FOREIGN KEY (component_name, cluster_id, service_name) REFERENCES ambari.servicecomponentdesiredstate (component_name, cluster_id, service_name); +ALTER TABLE ambari.hostcomponentstate ADD CONSTRAINT FK_hostcomponentstate_component_name FOREIGN KEY (component_name, cluster_id, service_name) REFERENCES ambari.servicecomponentdesiredstate (component_name, cluster_id, service_name); +ALTER TABLE ambari.hostcomponentstate ADD CONSTRAINT FK_hostcomponentstate_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); +ALTER TABLE ambari.hoststate ADD CONSTRAINT FK_hoststate_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); +ALTER TABLE ambari.servicecomponentdesiredstate ADD CONSTRAINT FK_servicecomponentdesiredstate_service_name FOREIGN KEY (service_name, cluster_id) REFERENCES ambari.clusterservices (service_name, cluster_id); +ALTER TABLE ambari.serviceconfigmapping ADD CONSTRAINT FK_serviceconfigmapping_config_tag FOREIGN KEY (config_tag, config_type, cluster_id) REFERENCES ambari.clusterconfig (version_tag, type_name, cluster_id); +ALTER TABLE ambari.serviceconfigmapping ADD CONSTRAINT FK_serviceconfigmapping_service_name FOREIGN KEY (service_name, cluster_id) REFERENCES ambari.clusterservices (service_name, cluster_id); +ALTER TABLE ambari.servicedesiredstate ADD CONSTRAINT FK_servicedesiredstate_service_name FOREIGN KEY (service_name, cluster_id) REFERENCES ambari.clusterservices (service_name, cluster_id); +ALTER TABLE ambari.execution_command ADD CONSTRAINT FK_execution_command_task_id FOREIGN KEY (task_id) REFERENCES ambari.host_role_command (task_id); +ALTER TABLE ambari.host_role_command ADD CONSTRAINT FK_host_role_command_stage_id FOREIGN KEY (stage_id, request_id) REFERENCES ambari.stage (stage_id, request_id); +ALTER TABLE ambari.host_role_command ADD CONSTRAINT FK_host_role_command_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); +ALTER TABLE ambari.role_success_criteria ADD CONSTRAINT FK_role_success_criteria_stage_id FOREIGN KEY (stage_id, request_id) REFERENCES ambari.stage (stage_id, request_id); +ALTER TABLE ambari.stage ADD CONSTRAINT FK_stage_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.ClusterHostMapping ADD CONSTRAINT FK_ClusterHostMapping_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); +ALTER TABLE ambari.ClusterHostMapping ADD CONSTRAINT FK_ClusterHostMapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.user_roles ADD CONSTRAINT FK_user_roles_user_id FOREIGN KEY (user_id) REFERENCES ambari.users (user_id); +ALTER TABLE ambari.user_roles ADD CONSTRAINT FK_user_roles_role_name FOREIGN KEY (role_name) REFERENCES ambari.roles (role_name); +ALTER TABLE ambari.hostconfigmapping ADD CONSTRAINT FK_hostconfigmapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id); +ALTER TABLE ambari.hostconfigmapping ADD CONSTRAINT FK_hostconfigmapping_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name); + +BEGIN; + +insert into ambari.ambari_sequences(sequence_name, "value") +select 'cluster_id_seq', 1 +union all +select 'user_id_seq', 2 +union all +select 'host_role_command_id_seq', 1; + +insert into ambari.Roles(role_name) +select 'admin' +union all +select 'user'; + +insert into ambari.Users(user_id, user_name, user_password) +select 1,'admin','538916f8943ec225d97a9a86a2c6ec0818c1cd400e09e03b660fdaaec4af29ddbb6f2b1033b81b00'; + +insert into ambari.user_roles(role_name, user_id) +select 'admin',1; + +insert into ambari.metainfo(metainfo_key, metainfo_value) +select 'version','1.3.0'; + +COMMIT; + +CREATE TABLE workflow ( + workflowId TEXT, workflowName TEXT, + parentWorkflowId TEXT, + workflowContext TEXT, userName TEXT, + startTime BIGINT, lastUpdateTime BIGINT, + numJobsTotal INTEGER, numJobsCompleted INTEGER, + inputBytes BIGINT, outputBytes BIGINT, + duration BIGINT, + PRIMARY KEY (workflowId), + FOREIGN KEY (parentWorkflowId) REFERENCES workflow(workflowId) +); + +CREATE TABLE job ( + jobId TEXT, workflowId TEXT, jobName TEXT, workflowEntityName TEXT, + userName TEXT, queue TEXT, acls TEXT, confPath TEXT, + submitTime BIGINT, launchTime BIGINT, finishTime BIGINT, + maps INTEGER, reduces INTEGER, status TEXT, priority TEXT, + finishedMaps INTEGER, finishedReduces INTEGER, + failedMaps INTEGER, failedReduces INTEGER, + mapsRuntime BIGINT, reducesRuntime BIGINT, + mapCounters TEXT, reduceCounters TEXT, jobCounters TEXT, + inputBytes BIGINT, outputBytes BIGINT, + PRIMARY KEY(jobId), + FOREIGN KEY(workflowId) REFERENCES workflow(workflowId) +); + +CREATE TABLE task ( + taskId TEXT, jobId TEXT, taskType TEXT, splits TEXT, + startTime BIGINT, finishTime BIGINT, status TEXT, error TEXT, counters TEXT, + failedAttempt TEXT, + PRIMARY KEY(taskId), + FOREIGN KEY(jobId) REFERENCES job(jobId) +); + +CREATE TABLE taskAttempt ( + taskAttemptId TEXT, taskId TEXT, jobId TEXT, taskType TEXT, taskTracker TEXT, + startTime BIGINT, finishTime BIGINT, + mapFinishTime BIGINT, shuffleFinishTime BIGINT, sortFinishTime BIGINT, + locality TEXT, avataar TEXT, + status TEXT, error TEXT, counters TEXT, + inputBytes BIGINT, outputBytes BIGINT, + PRIMARY KEY(taskAttemptId), + FOREIGN KEY(jobId) REFERENCES job(jobId), + FOREIGN KEY(taskId) REFERENCES task(taskId) +); + +CREATE TABLE hdfsEvent ( + timestamp BIGINT, + userName TEXT, + clientIP TEXT, + operation TEXT, + srcPath TEXT, + dstPath TEXT, + permissions TEXT +); + +CREATE TABLE mapreduceEvent ( + timestamp BIGINT, + userName TEXT, + clientIP TEXT, + operation TEXT, + target TEXT, + result TEXT, + description TEXT, + permissions TEXT +); + +CREATE TABLE clusterEvent ( + timestamp BIGINT, + service TEXT, status TEXT, + error TEXT, data TEXT , + host TEXT, rack TEXT +);
Added: incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-DROP.sql URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-DROP.sql?rev=1491057&view=auto ============================================================================== --- incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-DROP.sql (added) +++ incubator/ambari/branches/branch-1.2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-REMOTE-DROP.sql Sat Jun 8 20:36:54 2013 @@ -0,0 +1,19 @@ +-- +-- 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. +-- + +DROP SCHEMA ambari CASCADE; Modified: incubator/ambari/branches/branch-1.2.4/ambari-server/src/test/python/TestAmbaryServer.py URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2.4/ambari-server/src/test/python/TestAmbaryServer.py?rev=1491057&r1=1491056&r2=1491057&view=diff ============================================================================== --- incubator/ambari/branches/branch-1.2.4/ambari-server/src/test/python/TestAmbaryServer.py (original) +++ incubator/ambari/branches/branch-1.2.4/ambari-server/src/test/python/TestAmbaryServer.py Sat Jun 8 20:36:54 2013 @@ -31,23 +31,23 @@ ambari_server = __import__('ambari-serve class TestAmbariServer(TestCase): - @patch.object(ambari_server, 'configure_postgres_username_password') + @patch.object(ambari_server, 'configure_database_username_password') @patch.object(ambari_server, 'run_os_command') @patch('optparse.Values') def test_configure_pg_hba_ambaridb_users(self, OptParseValuesMock, run_os_command_method, - configure_postgres_username_password_method): + configure_database_username_password_method): # Prepare mocks run_os_command_method.return_value = (0, "", "") opvm = OptParseValuesMock.return_value - opvm.postgres_username = "ffdf" + opvm.database_username = "ffdf" tf1 = tempfile.NamedTemporaryFile() ambari_server.PG_HBA_CONF_FILE = tf1.name # Run test ambari_server.configure_pg_hba_ambaridb_users() # Check results self.assertTrue(run_os_command_method.called) - self.assertTrue(configure_postgres_username_password_method.called) + self.assertTrue(configure_database_username_password_method.called) string_expected = self.get_file_string(self .get_samples_dir("configure_pg_hba_ambaridb_users1")) string_actual = self.get_file_string(ambari_server.PG_HBA_CONF_FILE) @@ -180,160 +180,6 @@ class TestAmbariServer(TestCase): pass - @patch('__builtin__.file') - @patch('__builtin__.open') - @patch.object(ambari_server, 'Properties') - @patch.object(ambari_server, 'search_file') - def test_configure_postgres_username_password_test_configured(self, - search_file_message, properties_mock, open_method, file_obj): - """ - Tests situation when database username + password are already configured - """ - - out = StringIO.StringIO() - sys.stdout = out - - search_file_message.return_value = "blablabla-properties" - pm = properties_mock.return_value - def tf(self, key): - return { - ambari_server.JDBC_USER_NAME_PROPERTY : "fake_username", - ambari_server.JDBC_PASSWORD_FILE_PROPERTY : "fake_passwd_file" - }[key] - pass - pm.__getitem__ = tf - options = MagicMock() - open_method.return_value = file_obj - file_obj.read.return_value = "fake_password" - - ambari_server.configure_postgres_username_password(options) - - self.assertTrue(pm.load.called) - self.assertTrue(file_obj.read.called) - self.assertEquals(options.postgres_username, - pm[ambari_server.JDBC_USER_NAME_PROPERTY]) - self.assertEquals(options.postgres_password, file_obj.read.return_value) - - sys.stdout = sys.__stdout__ - - - - @patch.object(ambari_server, 'get_pass_file_path', autospec=True) - @patch('os.chmod', autospec=True) - @patch.object(ambari_server, 'write_property', autospec=True) - @patch.object(ambari_server, 'configure_postgres_password') - @patch.object(ambari_server, 'get_validated_string_input') - @patch.object(ambari_server, 'get_YN_input') - @patch('__builtin__.file') - @patch('__builtin__.open') - @patch.object(ambari_server, 'Properties') - @patch.object(ambari_server, 'search_file') - def test_configure_postgres_username_password_test_full_setup(self, - search_file_message, properties_mock, open_method, file_obj, - get_YN_input_method, get_validated_string_input_method, - configure_postgres_password_method, write_property_method, - os_chmod_method, get_pass_file_path_method): - """ - Tests situation when database username + password are not - already configured. Includes advanced DB configuration - """ - - out = StringIO.StringIO() - sys.stdout = out - - search_file_message.return_value = "blablabla-properties" - pm = properties_mock.return_value - def tf(self, key): - return { - ambari_server.JDBC_USER_NAME_PROPERTY : "fake_user", - ambari_server.JDBC_PASSWORD_FILE_PROPERTY : False - }[key] - pass - pm.__getitem__ = tf - options = MagicMock() - open_method.return_value = file_obj - file_obj.read.return_value = "fake_password" - file_obj.write.return_value = None - get_YN_input_method.return_value = False - get_validated_string_input_method.return_value = "blablabla-input" - get_pass_file_path_method.return_value = "blablabla-path" - - ambari_server.configure_postgres_username_password(options) - - self.assertTrue(get_YN_input_method.called) - self.assertEquals(write_property_method.call_args_list, [ - ((ambari_server.JDBC_USER_NAME_PROPERTY, - 'ambari-server'),), - ((ambari_server.JDBC_PASSWORD_FILE_PROPERTY, - get_pass_file_path_method.return_value),) - ]) - get_pass_file_path_method.\ - assert_called_once_with(search_file_message.return_value) - os_chmod_method.assert_called_once_with("blablabla-path", 384) - self.assertTrue(pm.load.called) - self.assertFalse(get_validated_string_input_method.called) - self.assertFalse(configure_postgres_password_method.called) - - sys.stdout = sys.__stdout__ - - - @patch.object(ambari_server, 'get_pass_file_path', autospec=True) - @patch('os.chmod', autospec=True) - @patch.object(ambari_server, 'write_property', autospec=True) - @patch.object(ambari_server, 'configure_postgres_password') - @patch.object(ambari_server, 'get_validated_string_input') - @patch.object(ambari_server, 'get_YN_input') - @patch('__builtin__.file') - @patch('__builtin__.open') - @patch.object(ambari_server, 'Properties') - @patch.object(ambari_server, 'search_file') - def test_configure_postgres_username_password_test_full_setup_advanced(self, - search_file_message, properties_mock, open_method, file_obj, - get_YN_input_method, get_validated_string_input_method, - configure_postgres_password_method, write_property_method, - os_chmod_method, get_pass_file_path_method): - """ - Tests situation when database username + password are not - already configured. Includes advanced DB configuration - """ - - out = StringIO.StringIO() - sys.stdout = out - - search_file_message.return_value = "blablabla-properties" - pm = properties_mock.return_value - def tf(self, key): - return { - ambari_server.JDBC_USER_NAME_PROPERTY : "fake_user", - ambari_server.JDBC_PASSWORD_FILE_PROPERTY : False - }[key] - pass - pm.__getitem__ = tf - options = MagicMock() - open_method.return_value = file_obj - file_obj.read.return_value = "fake_password" - file_obj.write.return_value = None - get_YN_input_method.return_value = True - get_validated_string_input_method.return_value = "blablabla-input" - get_pass_file_path_method.return_value = "blablabla-path" - - ambari_server.configure_postgres_username_password(options) - - self.assertTrue(get_YN_input_method.called) - self.assertEquals(write_property_method.call_args_list, [ - ((ambari_server.JDBC_USER_NAME_PROPERTY, - get_validated_string_input_method.return_value),), - ((ambari_server.JDBC_PASSWORD_FILE_PROPERTY, - get_pass_file_path_method.return_value),) - ]) - get_pass_file_path_method.\ - assert_called_once_with(search_file_message.return_value) - os_chmod_method.assert_called_once_with("blablabla-path", 384) - self.assertTrue(pm.load.called) - self.assertTrue(get_validated_string_input_method.called) - self.assertTrue(configure_postgres_password_method.called) - - sys.stdout = sys.__stdout__ @@ -349,6 +195,7 @@ class TestAmbariServer(TestCase): args = ["setup"] opm.parse_args.return_value = (options, args) + options.database=None ambari_server.main() self.assertTrue(setup_method.called) @@ -372,7 +219,9 @@ class TestAmbariServer(TestCase): options = MagicMock() args = ["setup"] opm.parse_args.return_value = (options, args) + options.database=None + options.database=None ambari_server.main() self.assertTrue(setup_method.called) @@ -397,6 +246,10 @@ class TestAmbariServer(TestCase): args = ["stop"] opm.parse_args.return_value = (options, args) + options.database = None + + options.database=None + ambari_server.main() self.assertFalse(setup_method.called) @@ -421,6 +274,7 @@ class TestAmbariServer(TestCase): options = MagicMock() args = ["reset"] opm.parse_args.return_value = (options, args) + options.database=None ambari_server.main() @@ -568,14 +422,14 @@ class TestAmbariServer(TestCase): - @patch.object(ambari_server, "configure_postgres_username_password") + @patch.object(ambari_server, "configure_database_username_password") @patch.object(ambari_server, "run_os_command") def test_setup_db(self, run_os_command_mock, - configure_postgres_username_password_mock): + configure_database_username_password_mock): run_os_command_mock.return_value = (0, None, None) result = ambari_server.setup_db(MagicMock()) - self.assertTrue(configure_postgres_username_password_mock.called) + self.assertTrue(configure_database_username_password_mock.called) self.assertEqual(0, result) @@ -937,7 +791,8 @@ class TestAmbariServer(TestCase): @patch.object(ambari_server, "check_iptables") @patch.object(ambari_server, "check_selinux") @patch.object(ambari_server, "setup_remote_db") - def test_setup(self, setup_remote_db_mock, check_selinux_mock, check_iptables_mock, + @patch.object(ambari_server, "store_remote_properties") + def test_setup(self, store_remote_properties_mock, setup_remote_db_mock, check_selinux_mock, check_iptables_mock, check_postgre_up_mock, setup_db_mock, configure_postgres_mock, download_jdk_mock, configure_os_settings_mock, ): @@ -954,6 +809,7 @@ class TestAmbariServer(TestCase): configure_postgres_mock.return_value = 0 download_jdk_mock.return_value = 0 configure_os_settings_mock.return_value = 0 + store_remote_properties_mock.return_value = 0 result = ambari_server.setup(args) self.assertEqual(None, result) @@ -965,8 +821,8 @@ class TestAmbariServer(TestCase): @patch.object(ambari_server, "setup_db") @patch.object(ambari_server, "print_info_msg") @patch.object(ambari_server, "run_os_command") - @patch.object(ambari_server, "configure_postgres_username_password") - def test_reset(self, configure_postgres_username_password_mock, + @patch.object(ambari_server, "configure_database_username_password") + def test_reset(self, configure_database_username_password_mock, run_os_command_mock, print_info_msg_mock, setup_db_mock, get_YN_inputMock): @@ -995,8 +851,8 @@ class TestAmbariServer(TestCase): @patch.object(ambari_server, "setup_db") @patch.object(ambari_server, "print_info_msg") @patch.object(ambari_server, "run_os_command") - @patch.object(ambari_server, "configure_postgres_username_password") - def test_silent_reset(self, configure_postgres_username_password_mock, + @patch.object(ambari_server, "parse_properties") + def test_silent_reset(self, parse_properties_mock, run_os_command_mock, print_info_msg_mock, setup_db_mock):
