Exemplo n.º 1
0
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
Exemplo n.º 2
0
    validate_model(model, model_context, aliases)

    if filter_helper.apply_filters(model, "create"):
        # if any filters were applied, re-validate the model
        validate_model(model, model_context, aliases)
    try:

        has_atp = validateRCUArgsAndModel(model_context, model, alias_helper)
        # check if there is an atpwallet and extract in the domain dir
        # it is to support non JRF domain but user wants to use ATP database
        archive_file_name = model_context.get_archive_file_name()
        if not has_atp and archive_file_name and os.path.exists(
                archive_file_name):
            archive_file = WLSDeployArchive(archive_file_name)
            if archive_file:
                atp_wallet_zipentry = archive_file.getATPWallet()
                if atp_wallet_zipentry:
                    atp_helper.extract_walletzip(model, model_context,
                                                 archive_file,
                                                 atp_wallet_zipentry)

        creator = DomainCreator(model, model_context, aliases)
        creator.create()

        if has_atp:
            rcu_properties_map = model[model_constants.DOMAIN_INFO][
                model_constants.RCU_DB_INFO]
            rcu_db_info = RcuDbInfo(alias_helper, rcu_properties_map)
            atp_helper.fix_jps_config(rcu_db_info, model_context)

    except WLSDeployArchiveIOException, ex: