You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2013/06/08 22:37:04 UTC
svn commit: r1491057 [2/2] - in
/incubator/ambari/branches/branch-1.2.4/ambari-server: ./ conf/unix/ sbin/
src/main/python/ src/main/resources/ src/test/python/
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):