oracle/weblogic-deploy-tooling

__configure_fmw_infra_database only runs if is_jrf_domain_type is true

httpants opened this issue · 2 comments

Using version 2.0.1-SNAPSHOT, I have following domain typedef...

{
    "copyright": "Copyright (c) 2022",
    "name": "OSEF",
    "description": "OSEF type domain definitions",
    "topologyProfile": "Compact",
    "versions": {
        "12.2.1.4": "OSEF_12CR2",
        "14.1":     "NOT_SUPPORTED"
    },
    "definitions": {
        "OSEF_12CR2": {
            "baseTemplate": "Basic WebLogic Server Domain",
            "extensionTemplates": [
                "Oracle Service Bus"
            ],
            "rcuSchemas": ["STB"]
        }
    }
}

This is my domain template...

domainInfo:
    AdminPassword: welcome1
    ServerStartMode: dev
    UseSampleDatabase: 'false'
    RCUDbInfo:
        rcu_prefix: OSEF
        rcu_schema_password: xxxxxxxx
        rcu_db_conn_string: 'localhost:1521/XE'
        rcu_db_user: OSEF_STB
topology:
    Name: DefaultDomain
    AdminServerName: DefaultServer
    ProductionModeEnabled: true
    Server:
        DefaultServer:
            ListenAddress: localhost
            SSL:
                HostnameVerificationIgnored: true
                TwoWaySSLEnabled: true
                Enabled: true

I attempt to create the domain using this command...

$ createDomain.cmd -domain_parent target -domain_type OSEF -model_file osefDomain.yml

It's failing with this error...

####<07/02/2022 9:52:23 AM> <INFO> <DomainCreator> <__extend_domain_with_select_template> <WLSDPLY-12205> <Writing base domain DefaultDomain to directory C:\LocalData\Apps\Temp\weblogic-deploy-maven-plugin\target\DefaultDomain>
com.oracle.cie.domain.script.ScriptException: 64254: Error occurred in "Artifacts Generation" phase execution
64254: Encountered error: Servicetable connection not available.
isSampleDB=false

isLocalDb()=false

...
Issue Log for createDomain version 2.0.1-SNAPSHOT running WebLogic version 12.2.1.4.0 offline mode:

SEVERE Messages:

        1. WLSDPLY-12409: createDomain failed to create the domain: writeDomain(C:\LocalData\Apps\Temp\weblogic-deploy-maven-plugin\target\DefaultDomain) failed : Error writing domain:
64254: Error occurred in "Artifacts Generation" phase execution
64254: Encountered error: Servicetable connection not available.

It looks like the RCU database defaults are not getting configured, because currently the domain creator only continues with RCU configuration for a JRF domain (https://github.com/oracle/weblogic-deploy-tooling/blob/main/core/src/main/python/wlsdeploy/tool/create/domain_creator.py#L1013)

       # only continue with RCU configuration for a JRF domain.
        if not self._domain_typedef.is_jrf_domain_type():
            self.logger.finer('WLSDPLY-12249', class_name=self.__class_name, method_name=_method_name)
            return

If I change the above to this, it works...

        if not self._domain_typedef.is_jrf_domain_type() and not self._domain_typedef.required_rcu():
            self.logger.finer('WLSDPLY-12249', class_name=self.__class_name, method_name=_method_name)
            return

That may not be the best fix. It might be better to say if domainInfo.RCUDbInfo properties are provided, then continue with RCU configuration.

Also another minor issue is that I had to specify 'false' as the domainInfo.UseSampleDatabase value as just using false results in a method not found error.

@httpants pull the latest and let us know if the issues are resolved

Thanks, that works now