Beispiel #1
0
  def __init__(self, options, properties, storage_type):
    super(LinuxDBMSConfig, self).__init__(options, properties, storage_type)

    #Init the database configuration data here, if any
    self.dbms_full_name = ""

    # The values from options supersede the values from properties
    self.database_host = DBMSConfig._init_member_with_prop_default(options, "database_host",
                                                                   properties, JDBC_HOSTNAME_PROPERTY, "localhost")
    #self.database_port is set in the subclasses
    self.database_name = DBMSConfig._init_member_with_prop_default(options, "database_name",
                                                                   properties, JDBC_DATABASE_NAME_PROPERTY, configDefaults.DEFAULT_DB_NAME)

    self.database_username = DBMSConfig._init_member_with_prop_default(options, "database_username",
                                                                       properties, JDBC_USER_NAME_PROPERTY, DEFAULT_USERNAME)
    self.database_password = getattr(options, "database_password", "")
    if not self.database_password:
      self.database_password = DBMSConfig._read_password_from_properties(properties)

    self.database_url_pattern = ""
    self.database_url_pattern_alt = ""

    self.database_storage_name = ""
    self.sid_or_sname = "sid"

    self.init_script_file = ""
    self.drop_tables_script_file = ""
    self.client_tool_usage_pattern = ""

    self.jdbc_extra_params = []
  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"))
Beispiel #3
0
  def __init__(self, options, properties, storage_type):
    super(SQLAConfig, self).__init__(options, properties, storage_type)

    #Init the database configuration data here, if any
    self.dbms = "sqlanywhere"
    self.dbms_full_name = "SQL Anywhere"
    self.driver_class_name = "sap.jdbc4.sqlanywhere.IDriver" #TODO sybase.* for v < 17, check requirements
    self.driver_file_name = "sajdbc4.jar"
    self.server_name = DBMSConfig._init_member_with_prop_default(options, "sqla_server_name", properties,
                                                                 JDBC_SQLA_SERVER_NAME, "ambari")
    self.driver_symlink_name = "sqlanywhere-jdbc-driver.jar"
    self.client_tarball_pattern = "*sqla-client-jdbc*.tar.gz"
    self.client_folder = "sqla-client-jdbc"

    self.database_storage_name = "Database"
    self.database_port = DBMSConfig._init_member_with_prop_default(options, "database_port",
                                                                   properties, JDBC_PORT_PROPERTY, "2638")

    self.database_url_pattern = "jdbc:sqlanywhere:eng={0};dbf={1};host={2};port={3}"
    self.database_url_pattern_alt = "jdbc:sqlanywhere:eng={0};dbf={1};host={2};port={3}"

    self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, ' \
                                   'you must copy the {0} jdbc client tarball to {1}.'.format(
      self.dbms_full_name, configDefaults.SHARE_PATH)

    self.init_script_file = AmbariPath.get("/var/lib/ambari-server/resources/Ambari-DDL-SQLAnywhere-CREATE.sql")
    self.drop_tables_script_file = AmbariPath.get("/var/lib/ambari-server/resources/Ambari-DDL-SQLAnywhere-DROP.sql")
    self.client_tool_usage_pattern = 'stub string'
  def __init__(self, options, properties, storage_type):
    super(LinuxDBMSConfig, self).__init__(options, properties, storage_type)

    #Init the database configuration data here, if any
    self.dbms_full_name = ""

    # The values from options supersede the values from properties
    self.database_host = DBMSConfig._init_member_with_prop_default(options, "database_host",
                                                                   properties, JDBC_HOSTNAME_PROPERTY, "localhost")
    #self.database_port is set in the subclasses
    self.database_name = DBMSConfig._init_member_with_prop_default(options, "database_name",
                                                                   properties, JDBC_DATABASE_NAME_PROPERTY, configDefaults.DEFAULT_DB_NAME)

    self.database_username = DBMSConfig._init_member_with_prop_default(options, "database_username",
                                                                       properties, JDBC_USER_NAME_PROPERTY, DEFAULT_USERNAME)
    self.database_password = getattr(options, "database_password", "")
    if not self.database_password:
      self.database_password = DBMSConfig._read_password_from_properties(properties)

    self.database_url_pattern = ""
    self.database_url_pattern_alt = ""

    self.database_storage_name = ""
    self.sid_or_sname = "sname"

    self.init_script_file = ""
    self.drop_tables_script_file = ""
    self.client_tool_usage_pattern = ""

    self.jdbc_extra_params = []
  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(SQLAConfig, self).__init__(options, properties, storage_type)

    #Init the database configuration data here, if any
    self.dbms = "sqlanywhere"
    self.dbms_full_name = "SQL Anywhere"
    self.driver_class_name = "sap.jdbc4.sqlanywhere.IDriver" #TODO sybase.* for v < 17, check requirements
    self.driver_file_name = "sajdbc4.jar"
    self.server_name = DBMSConfig._init_member_with_prop_default(options, "sqla_server_name", properties,
                                                                 JDBC_SQLA_SERVER_NAME, "ambari")
    self.driver_symlink_name = "sqlanywhere-jdbc-driver.jar"
    self.client_tarball_pattern = "*sqla-client-jdbc*.tar.gz"
    self.client_folder = "sqla-client-jdbc"

    self.database_storage_name = "Database"
    self.database_port = DBMSConfig._init_member_with_prop_default(options, "database_port",
                                                                   properties, JDBC_PORT_PROPERTY, "2638")

    self.database_url_pattern = "jdbc:sqlanywhere:eng={0};dbf={1};host={2};port={3}"
    self.database_url_pattern_alt = "jdbc:sqlanywhere:eng={0};dbf={1};host={2};port={3}"

    self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, ' \
                                   'you must copy the {0} jdbc client tarball to {1}.'.format(
      self.dbms_full_name, configDefaults.SHARE_PATH)

    self.init_script_file = "/var/lib/ambari-server/resources/Ambari-DDL-SQLAnywhere-CREATE.sql"
    self.drop_tables_script_file = "/var/lib/ambari-server/resources/Ambari-DDL-SQLAnywhere-DROP.sql"
    self.client_tool_usage_pattern = 'stub string'
    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(MSSQLConfig, self).__init__(options, properties, storage_type)

        #Init the database configuration data here, if any
        self.dbms = "mssql"
        self.dbms_full_name = "Microsoft SQL Server"
        self.driver_class_name = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
        self.driver_file_name = "sqljdbc4.jar"
        self.driver_symlink_name = "mssql-jdbc-driver.jar"

        self.database_storage_name = "Database"
        self.database_port = DBMSConfig._init_member_with_prop_default(
            options, "database_port", properties, JDBC_PORT_PROPERTY, "1433")

        self.database_url_pattern = "jdbc:sqlserver://{0}:{1};databaseName={2}"
        self.database_url_pattern_alt = "jdbc:sqlserver://{0}:{1};databaseName={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.init_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-SQLServer-CREATE.sql")
        self.drop_tables_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-SQLServer-DROP.sql")
        self.client_tool_usage_pattern = ''
Beispiel #10
0
    def __init__(self, options, properties, storage_type):
        super(MySQLConfig, self).__init__(options, properties, storage_type)

        #Init the database configuration data here, if any
        self.dbms = "mysql"
        self.dbms_full_name = "MySQL"
        self.driver_class_name = "com.mysql.jdbc.Driver"
        self.driver_file_name = "mysql-connector-java.jar"
        self.driver_symlink_name = "mysql-jdbc-driver.jar"

        self.database_storage_name = "Database"
        self.database_port = DBMSConfig._init_member_with_prop_default(
            options, "database_port", properties, JDBC_PORT_PROPERTY, "3306")

        self.database_url_pattern = "jdbc:mysql://{0}:{1}/{2}"
        self.database_url_pattern_alt = "jdbc:mysql://{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.init_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql")
        self.drop_tables_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-MySQL-DROP.sql")
        self.client_tool_usage_pattern = 'mysql --user={1} --password={2} {3}<{0}'
    def __init__(self, options, properties, storage_type):
        super(MySQLConfig, self).__init__(options, properties, storage_type)

        # Init the database configuration data here, if any
        self.dbms = "mysql"
        self.dbms_full_name = "MySQL"
        self.driver_class_name = "com.mysql.jdbc.Driver"
        self.driver_file_name = "mysql-connector-java.jar"
        self.driver_symlink_name = "mysql-jdbc-driver.jar"

        self.database_storage_name = "Database"
        self.database_port = DBMSConfig._init_member_with_prop_default(
            options, "database_port", properties, JDBC_PORT_PROPERTY, "3306"
        )

        self.database_url_pattern = "jdbc:mysql://{0}:{1}/{2}"
        self.database_url_pattern_alt = "jdbc:mysql://{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.init_script_file = "/var/lib/tbds-server/resources/Ambari-DDL-MySQL-CREATE.sql"
        self.drop_tables_script_file = "/var/lib/tbds-server/resources/Ambari-DDL-MySQL-DROP.sql"
        self.client_tool_usage_pattern = "mysql --user={1} --password={2} {3}<{0}"
Beispiel #12
0
    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 = ""
    def __init__(self, options, properties, storage_type):
        super(OracleConfig, self).__init__(options, properties, storage_type)

        # Init the database configuration data here, if any
        self.dbms = "oracle"
        self.dbms_full_name = "Oracle"
        self.driver_class_name = "oracle.jdbc.driver.OracleDriver"
        self.driver_file_name = "ojdbc6.jar"
        self.driver_symlink_name = "oracle-jdbc-driver.jar"

        self.database_storage_name = "Service"

        if (hasattr(options, "sid_or_sname") and options.sid_or_sname == "sname") or (
            hasattr(options, "jdbc_url") and options.jdbc_url and re.match(ORACLE_SNAME_PATTERN, options.jdbc_url)
        ):
            print_info_msg("using SERVICE_NAME instead of SID for Oracle")
            self.sid_or_sname = "service_name"

        self.database_port = DBMSConfig._init_member_with_prop_default(
            options, "database_port", properties, JDBC_PORT_PROPERTY, "1521"
        )

        self.database_url_pattern = "jdbc:oracle:thin:@{0}:{1}/{2}"
        self.database_url_pattern_alt = "jdbc:oracle:thin:@{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.init_script_file = "/var/lib/tbds-server/resources/Ambari-DDL-Oracle-CREATE.sql'"
        self.drop_tables_script_file = "/var/lib/tbds-server/resources/Ambari-DDL-Oracle-DROP.sql"
        self.client_tool_usage_pattern = "sqlplus {1}/{2} < {0}"

        self.jdbc_extra_params = [
            ["oracle.net.CONNECT_TIMEOUT", "2000"],  # socket level timeout
            ["oracle.net.READ_TIMEOUT", "2000"],  # socket level timeout
            ["oracle.jdbc.ReadTimeout", "8000"],  # query fetch timeout
        ]
Beispiel #15
0
    def __init__(self, options, properties, storage_type):
        super(OracleConfig, self).__init__(options, properties, storage_type)

        #Init the database configuration data here, if any
        self.dbms = "oracle"
        self.dbms_full_name = "Oracle"
        self.driver_class_name = "oracle.jdbc.driver.OracleDriver"
        self.driver_file_name = "ojdbc6.jar"
        self.driver_symlink_name = "oracle-jdbc-driver.jar"

        self.database_storage_name = "Service"

        if (hasattr(options, 'sid_or_sname') and options.sid_or_sname == "sname") or \
            (hasattr(options, 'jdbc_url') and options.jdbc_url and re.match(ORACLE_SNAME_PATTERN, options.jdbc_url)):
            print_info_msg("using SERVICE_NAME instead of SID for Oracle")
            self.sid_or_sname = "sname"

        self.database_port = DBMSConfig._init_member_with_prop_default(
            options, "database_port", properties, JDBC_PORT_PROPERTY, "1521")

        self.database_url_pattern = "jdbc:oracle:thin:@{0}:{1}/{2}"
        self.database_url_pattern_alt = "jdbc:oracle:thin:@{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.init_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-Oracle-CREATE.sql'")
        self.drop_tables_script_file = AmbariPath.get(
            "/var/lib/ambari-server/resources/Ambari-DDL-Oracle-DROP.sql")
        self.client_tool_usage_pattern = 'sqlplus {1}/{2} < {0}'

        self.jdbc_extra_params = [
            ["oracle.net.CONNECT_TIMEOUT", "2000"],  # socket level timeout
            ["oracle.net.READ_TIMEOUT", "2000"],  # socket level timeout
            ["oracle.jdbc.ReadTimeout", "8000"]  # query fetch timeout
        ]
  def __init__(self, options, properties, storage_type):
    super(MSSQLConfig, self).__init__(options, properties, storage_type)

    #Init the database configuration data here, if any
    self.dbms = "mssql"
    self.dbms_full_name = "Microsoft SQL Server"
    self.driver_class_name = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    self.driver_file_name = "sqljdbc4.jar"
    self.driver_symlink_name = "mssql-jdbc-driver.jar"

    self.database_storage_name = "Database"
    self.database_port = DBMSConfig._init_member_with_prop_default(options, "database_port",
                                                                   properties, JDBC_PORT_PROPERTY, "1433")

    self.database_url_pattern = "jdbc:sqlserver://{0}:{1};databaseName={2}"
    self.database_url_pattern_alt = "jdbc:sqlserver://{0}:{1};databaseName={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.init_script_file = "/var/lib/ambari-server/resources/Ambari-DDL-SQLServer-CREATE.sql"
    self.drop_tables_script_file = "/var/lib/ambari-server/resources/Ambari-DDL-SQLServer-DROP.sql"
    self.client_tool_usage_pattern = ''