예제 #1
0
파일: create.py 프로젝트: flaviomi87/myOra
def validateRCUArgsAndModel(model_context, model, alias_helper):
    has_atpdbinfo = 0
    domain_info = model[model_constants.DOMAIN_INFO]
    if domain_info is not None:
        if model_constants.RCU_DB_INFO in domain_info:
            rcu_db_info = RcuDbInfo(alias_helper,
                                    domain_info[model_constants.RCU_DB_INFO])
            has_tns_admin = rcu_db_info.has_tns_admin()
            has_regular_db = rcu_db_info.is_regular_db()
            has_atpdbinfo = rcu_db_info.has_atpdbinfo()

            if model_context.get_archive_file_name() and not has_regular_db:
                System.setProperty('oracle.jdbc.fanEnabled', 'false')

                # 1. If it does not have the oracle.net.tns_admin specified, then extract to domain/atpwallet
                # 2. If it is plain old regular oracle db, do nothing
                # 3. If it deos not have tns_admin in the model, then the wallet must be in the archive
                if not has_tns_admin:
                    # extract the wallet first
                    archive_file = WLSDeployArchive(
                        model_context.get_archive_file_name())
                    atp_wallet_zipentry = None
                    if archive_file:
                        atp_wallet_zipentry = archive_file.getATPWallet()
                    if atp_wallet_zipentry and model[
                            model_constants.TOPOLOGY]['Name']:
                        extract_path = atp_helper.extract_walletzip(
                            model, model_context, archive_file,
                            atp_wallet_zipentry)
                        # update the model to add the tns_admin
                        model[model_constants.DOMAIN_INFO][
                            model_constants.RCU_DB_INFO][
                                model_constants.
                                DRIVER_PARAMS_NET_TNS_ADMIN] = extract_path
                    else:
                        __logger.severe('WLSDPLY-12411',
                                        error=None,
                                        class_name=_class_name,
                                        method_name="validateRCUArgsAndModel")
                        __clean_up_temp_files()
                        tool_exit.end(model_context,
                                      CommandLineArgUtil.PROG_ERROR_EXIT_CODE)

        else:
            if model_context.get_domain_typedef().required_rcu():
                if not model_context.get_rcu_database(
                ) or not model_context.get_rcu_prefix():
                    __logger.severe('WLSDPLY-12408',
                                    model_context.get_domain_type(),
                                    CommandLineArgUtil.RCU_DB_SWITCH,
                                    CommandLineArgUtil.RCU_PREFIX_SWITCH)
                    __clean_up_temp_files()
                    tool_exit.end(model_context,
                                  CommandLineArgUtil.PROG_ERROR_EXIT_CODE)

    return has_atpdbinfo
예제 #2
0
def validate_rcu_args_and_model(model_context, model, archive_helper, aliases):
    _method_name = 'validate_rcu_args_and_model'

    has_atpdbinfo = 0
    domain_info = model[model_constants.DOMAIN_INFO]
    if domain_info is not None:
        if model_constants.RCU_DB_INFO in domain_info:
            rcu_db_info = RcuDbInfo(model_context, aliases,
                                    domain_info[model_constants.RCU_DB_INFO])
            has_tns_admin = rcu_db_info.has_tns_admin()
            has_regular_db = rcu_db_info.is_regular_db()
            has_atpdbinfo = rcu_db_info.has_atpdbinfo()

            if archive_helper and not has_regular_db:
                System.setProperty('oracle.jdbc.fanEnabled', 'false')

                # 1. If it does not have the oracle.net.tns_admin specified, then extract to domain/atpwallet
                # 2. If it is plain old regular oracle db, do nothing
                # 3. If it deos not have tns_admin in the model, then the wallet must be in the archive
                if not has_tns_admin:
                    wallet_path = archive_helper.extract_atp_wallet()
                    if wallet_path:
                        # update the model to add the tns_admin
                        model[model_constants.DOMAIN_INFO][
                            model_constants.RCU_DB_INFO][
                                model_constants.
                                DRIVER_PARAMS_NET_TNS_ADMIN] = wallet_path
                    else:
                        __logger.severe('WLSDPLY-12411',
                                        error=None,
                                        class_name=_class_name,
                                        method_name=_method_name)
                        cla_helper.clean_up_temp_files()
                        tool_exit.end(model_context,
                                      CommandLineArgUtil.PROG_ERROR_EXIT_CODE)

        else:
            if model_context.get_domain_typedef().required_rcu():
                if not model_context.get_rcu_database(
                ) or not model_context.get_rcu_prefix():
                    __logger.severe('WLSDPLY-12408',
                                    model_context.get_domain_type(),
                                    CommandLineArgUtil.RCU_DB_SWITCH,
                                    CommandLineArgUtil.RCU_PREFIX_SWITCH)
                    cla_helper.clean_up_temp_files()
                    tool_exit.end(model_context,
                                  CommandLineArgUtil.PROG_ERROR_EXIT_CODE)

    return has_atpdbinfo