def __init__(self, options, properties, storage_type): self.dbPropKeys = DbPropKeys( JDBC_DATABASE_PROPERTY, JDBC_DRIVER_PROPERTY, JDBC_HOSTNAME_PROPERTY, JDBC_PORT_PROPERTY, JDBC_DATABASE_NAME_PROPERTY, JDBC_URL_PROPERTY) self.dbAuthKeys = MSSQLAuthenticationKeys( JDBC_USE_INTEGRATED_AUTH_PROPERTY, JDBC_USER_NAME_PROPERTY, JDBC_PASSWORD_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME ) super(MSSQLAmbariDBConfig, self).__init__(options, properties, storage_type) if self.database_name is None or self.database_name is "": self.database_name = AMBARI_DATABASE_NAME self.persistence_property = PERSISTENCE_TYPE_PROPERTY self.env_var_db_name ='AMBARIDBNAME' self.env_var_db_log_name = 'AMBARIDBLOGNAME' # The values from options supersede the values from properties self.init_script_file = compress_backslashes(DBMSConfig._init_member_with_default(options, "init_db_script_file", "resources" + os.path.sep + "Ambari-DDL-SQLServer-CREATE.sql")) self.drop_tables_script_file = compress_backslashes(DBMSConfig._init_member_with_default(options, "cleanup_db_script_file", "resources" + os.path.sep + "Ambari-DDL-SQLServer-DROP.sql"))
def __init__(self, options, properties, storage_type): self.dbPropKeys = DbPropKeys( JDBC_DATABASE_PROPERTY, JDBC_DRIVER_PROPERTY, JDBC_HOSTNAME_PROPERTY, JDBC_PORT_PROPERTY, JDBC_DATABASE_NAME_PROPERTY, JDBC_URL_PROPERTY) self.dbAuthKeys = SqlServerAuthenticationKeys( JDBC_USE_INTEGRATED_AUTH_PROPERTY, JDBC_USER_NAME_PROPERTY, JDBC_PASSWORD_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME ) super(SQLServerAmbariDBConfig, self).__init__(options, properties, storage_type) if self.database_name is None or self.database_name is "": self.database_name = AMBARI_DATABASE_NAME self.persistence_property = PERSISTENCE_TYPE_PROPERTY self.env_var_db_name ='AMBARIDBNAME' self.env_var_db_log_name = 'AMBARIDBLOGNAME' self.env_var_db_owner = 'AMBARIDBOWNER' # The values from options supersede the values from properties self.init_script_file = compress_backslashes(DBMSConfig._init_member_with_default(options, "init_db_script_file", "resources" + os.path.sep + "Ambari-DDL-SQLServer-CREATE.sql")) self.drop_tables_script_file = compress_backslashes(DBMSConfig._init_member_with_default(options, "cleanup_db_script_file", "resources" + os.path.sep + "Ambari-DDL-SQLServer-DROP.sql"))
def __init__(self, options, properties, storage_type): super(PGConfig, self).__init__(options, properties, storage_type) # Init the database configuration data here, if any self.dbms = "postgres" self.dbms_full_name = "PostgreSQL" self.driver_class_name = "org.postgresql.Driver" self.driver_file_name = "postgresql-jdbc.jar" self.database_storage_name = "Database" # PostgreSQL seems to require additional schema coordinates self.postgres_schema = DBMSConfig._init_member_with_prop_default( options, "postgres_schema", properties, JDBC_POSTGRES_SCHEMA_PROPERTY, self.database_name ) self.database_port = DBMSConfig._init_member_with_prop_default( options, "database_port", properties, JDBC_PORT_PROPERTY, "5432" ) self.database_url_pattern = "jdbc:postgresql://{0}:{1}/{2}" self.database_url_pattern_alt = "jdbc:postgresql://{0}:{1}/{2}" self.JDBC_DRIVER_INSTALL_MSG = ( "Before starting Ambari Server, " "you must copy the {0} JDBC driver JAR file to {1}.".format( self.dbms_full_name, configDefaults.JAVA_SHARE_PATH ) ) self._is_user_changed = False if self.persistence_type == STORAGE_TYPE_LOCAL: PGConfig.PG_STATUS_RUNNING = get_postgre_running_status(OS_TYPE) PGConfig.PG_HBA_DIR = get_postgre_hba_dir(OS_FAMILY) PGConfig.PG_HBA_CONF_FILE = os.path.join(PGConfig.PG_HBA_DIR, "pg_hba.conf") PGConfig.PG_HBA_CONF_FILE_BACKUP = os.path.join(PGConfig.PG_HBA_DIR, "pg_hba_bak.conf.old") PGConfig.POSTGRESQL_CONF_FILE = os.path.join(PGConfig.PG_HBA_DIR, "postgresql.conf") postgres_init_file_default = PGConfig.POSTGRES_EMBEDDED_INIT_FILE postgres_drop_file_default = PGConfig.POSTGRES_EMBEDDED_DROP_FILE else: postgres_init_file_default = PGConfig.POSTGRES_INIT_FILE postgres_drop_file_default = PGConfig.POSTGRES_DROP_FILE self.init_script_file = DBMSConfig._init_member_with_default( options, "init_script_file", postgres_init_file_default ) self.drop_tables_script_file = DBMSConfig._init_member_with_default( options, "drop_script_file", postgres_drop_file_default ) self.client_tool_usage_pattern = ( "su -postgres --command=psql -f {0} -v username='******' -v password=\"'{2}'\"" )
def __init__(self, options, properties, storage_type): super(PGConfig, self).__init__(options, properties, storage_type) #Init the database configuration data here, if any self.dbms = "postgres" self.dbms_full_name = "PostgreSQL" self.driver_class_name = "org.postgresql.Driver" self.driver_file_name = "postgresql-jdbc.jar" self.database_storage_name = "Database" # PostgreSQL seems to require additional schema coordinates self.postgres_schema = DBMSConfig._init_member_with_prop_default( options, "postgres_schema", properties, JDBC_POSTGRES_SCHEMA_PROPERTY, self.database_name) self.database_port = DBMSConfig._init_member_with_prop_default( options, "database_port", properties, JDBC_PORT_PROPERTY, "5432") self.database_url_pattern = "jdbc:postgresql://{0}:{1}/{2}" self.database_url_pattern_alt = "jdbc:postgresql://{0}:{1}/{2}" self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, ' \ 'you must copy the {0} JDBC driver JAR file to {1}.'.format( self.dbms_full_name, configDefaults.JAVA_SHARE_PATH) self._is_user_changed = False if self.persistence_type == STORAGE_TYPE_LOCAL: PGConfig.PG_STATUS_RUNNING = get_postgre_running_status() PGConfig.PG_HBA_DIR = get_postgre_hba_dir(OS_FAMILY) PGConfig.PG_HBA_CONF_FILE = os.path.join(PGConfig.PG_HBA_DIR, "pg_hba.conf") PGConfig.PG_HBA_CONF_FILE_BACKUP = os.path.join( PGConfig.PG_HBA_DIR, "pg_hba_bak.conf.old") PGConfig.POSTGRESQL_CONF_FILE = os.path.join( PGConfig.PG_HBA_DIR, "postgresql.conf") postgres_init_file_default = PGConfig.POSTGRES_EMBEDDED_INIT_FILE postgres_drop_file_default = PGConfig.POSTGRES_EMBEDDED_DROP_FILE else: postgres_init_file_default = PGConfig.POSTGRES_INIT_FILE postgres_drop_file_default = PGConfig.POSTGRES_DROP_FILE self.init_script_file = DBMSConfig._init_member_with_default( options, "init_script_file", postgres_init_file_default) self.drop_tables_script_file = DBMSConfig._init_member_with_default( options, "drop_script_file", postgres_drop_file_default) self.client_tool_usage_pattern = 'su -postgres --command=psql -f {0} -v username=\'"{1}"\' -v password="******"'
def __init__(self, options, properties, storage_type): super(SQLServerConfig, self).__init__(options, properties, storage_type) """ #Just load the defaults. The derived classes will be able to modify them later """ self.dbms = DATABASE_DBMS_SQLSERVER self.driver_class_name = DATABASE_DRIVER_NAME_SQLSERVER self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, you must install the SQL Server JDBC driver.' # The values from options supersede the values from properties self.database_host = DBMSConfig._init_member_with_prop_default( options, "database_host", properties, self.dbPropKeys.server_key, "") try: if not self.database_host: self.database_host = options.default_database_host else: self.database_host = compress_backslashes(self.database_host) except: self.database_host = DATABASE_SERVER_SQLSERVER_DEFAULT pass self.database_port = DBMSConfig._init_member_with_prop_default( options, "database_port", properties, self.dbPropKeys.port_key, "1433") self.database_name = DBMSConfig._init_member_with_prop_default( options, "database_name", properties, self.dbPropKeys.db_name_key, configDefaults.DEFAULT_DB_NAME) self.use_windows_authentication = cbool( DBMSConfig._init_member_with_prop_default( options, "database_windows_auth", properties, self.dbAuthKeys.integrated_auth_key, False)) self.database_username = DBMSConfig._init_member_with_prop_default( options, "database_username", properties, self.dbAuthKeys.user_name_key, DEFAULT_USERNAME) self.database_password = DBMSConfig._init_member_with_default( options, "database_password", "") if not self.database_password: self.database_password = DBMSConfig._read_password_from_properties( properties) self.database_url = self._build_sql_server_connection_string() self.persistence_property = None self.env_var_db_name = "" self.env_var_db_log_name = "" self.env_var_db_owner = "" self.init_script_file = "" self.drop_tables_script_file = ""
def __init__(self, options, properties, storage_type): super(SQLServerConfig, self).__init__(options, properties, storage_type) """ #Just load the defaults. The derived classes will be able to modify them later """ self.dbms = DATABASE_DBMS_SQLSERVER self.driver_class_name = DATABASE_DRIVER_NAME_SQLSERVER self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, you must install the SQL Server JDBC driver.' # The values from options supersede the values from properties self.database_host = DBMSConfig._init_member_with_prop_default(options, "database_host", properties, self.dbPropKeys.server_key, "") try: if not self.database_host: self.database_host = options.default_database_host else: self.database_host = compress_backslashes(self.database_host) except: self.database_host = DATABASE_SERVER_SQLSERVER_DEFAULT pass self.database_port = DBMSConfig._init_member_with_prop_default(options, "database_port", properties, self.dbPropKeys.port_key, "1433") self.database_name = DBMSConfig._init_member_with_prop_default(options, "database_name", properties, self.dbPropKeys.db_name_key, configDefaults.DEFAULT_DB_NAME) self.use_windows_authentication = cbool(DBMSConfig._init_member_with_prop_default(options, "database_windows_auth", properties, self.dbAuthKeys.integrated_auth_key, False)) self.database_username = DBMSConfig._init_member_with_prop_default(options, "database_username", properties, self.dbAuthKeys.user_name_key, DEFAULT_USERNAME) self.database_password = DBMSConfig._init_member_with_default(options, "database_password", "") if not self.database_password: self.database_password = DBMSConfig._read_password_from_properties(properties) self.database_url = self._build_sql_server_connection_string() self.persistence_property = None self.env_var_db_name = "" self.env_var_db_log_name = "" self.env_var_db_owner = "" self.init_script_file = "" self.drop_tables_script_file = ""