oracle / weblogic-deploy-tooling

WebLogic Deploy Tooling
https://oracle.github.io/weblogic-deploy-tooling/
Universal Permissive License v1.0
152 stars 90 forks source link

discoverDomain encountered an unexpected runtime exception #1547

Closed umjsio closed 4 months ago

umjsio commented 4 months ago

WDT version: 4.0.0 Weblogic version: 12.2.1.3.0 JDK version: 1.8.0_301

####<Apr 12, 2024 11:15:33 AM> <SEVERE> <discover> <main> <WLSDPLY-20035> <discoverDomain encountered an unexpected runtime exception.  Please file an issue on GitHub and attach the log file and stdout. Exception: exceptions.TypeError
TypeError: cannot concatenate 'str' and 'NoneType' objects
Traceback (most recent call last):
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/util/tool_main.py", line 59, in run_tool
    exit_code = main(model_context_obj)
  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 648, in main
    model = __discover(model_context, aliases, credential_injector, helper, extra_tokens)
  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 283, in __discover
    extra_tokens=extra_tokens).discover()
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 65, in discover
    model_top_folder_name, applications = self.get_applications()
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 289, in get_applications
    self._add_application_to_archive(application, result[application])
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 349, in _add_application_to_archive
    self.add_application_plan_to_archive(application_name, application_dict)
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 381, in add_application_plan_to_archive
    new_plan_name = self._get_plan_path(plan_path, archive_file, app_source_name, application_name, application_dict)
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 614, in _get_plan_path
    new_plan_name = archive_file.addApplicationDeploymentPlan(plan_file_name,
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 712, in _generate_new_plan_name
    new_name = prefix + '-' + new_name
TypeError: cannot concatenate 'str' and 'NoneType' objects

>
####<Apr 12, 2024 11:15:33 AM> <FINE> <discover> <main> <WLSDPLY-20036> <discoverDomain encountered an unexpected runtime exception.  Stacktrace: ['Traceback (most recent call last):\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/util/tool_main.py", line 59, in run_tool\n    exit_code = main(model_context_obj)\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 648, in main\n    model = __discover(model_context, aliases, credential_injector, helper, extra_tokens)\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 283, in __discover\n    extra_tokens=extra_tokens).discover()\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 65, in discover\n    model_top_folder_name, applications = self.get_applications()\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 289, in get_applications\n    self._add_application_to_archive(application, result[application])\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 349, in _add_application_to_archive\n    self.add_application_plan_to_archive(application_name, application_dict)\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 381, in add_application_plan_to_archive\n    new_plan_name = self._get_plan_path(plan_path, archive_file, app_source_name, application_name, application_dict)\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 614, in _get_plan_path\n    new_plan_name = archive_file.addApplicationDeploymentPlan(plan_file_name,\n', '  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 712, in _generate_new_plan_name\n    new_name = prefix + \'-\' + new_name\n', "<type 'instance'>: cannot concatenate 'str' and 'NoneType' objects\n"]
TypeError: cannot concatenate 'str' and 'NoneType' objects
Traceback (most recent call last):
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/util/tool_main.py", line 59, in run_tool
    exit_code = main(model_context_obj)
  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 648, in main
    model = __discover(model_context, aliases, credential_injector, helper, extra_tokens)
  File "/tmp/joetest/weblogic-deploy/lib/python/discover.py", line 283, in __discover
    extra_tokens=extra_tokens).discover()
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 65, in discover
    model_top_folder_name, applications = self.get_applications()
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 289, in get_applications
    self._add_application_to_archive(application, result[application])
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 349, in _add_application_to_archive
    self.add_application_plan_to_archive(application_name, application_dict)
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 381, in add_application_plan_to_archive
    new_plan_name = self._get_plan_path(plan_path, archive_file, app_source_name, application_name, application_dict)
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 614, in _get_plan_path
    new_plan_name = archive_file.addApplicationDeploymentPlan(plan_file_name,
  File "/tmp/joetest/weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py", line 712, in _generate_new_plan_name
    new_name = prefix + '-' + new_name
TypeError: cannot concatenate 'str' and 'NoneType' objects

>
####<Apr 12, 2024 11:15:33 AM> <FINER> <ModelConfig> <_get_from_dict> <> <ENTRY use.deprecation.exit.code false>
####<Apr 12, 2024 11:15:33 AM> <FINER> <ModelConfig> <_get_from_dict> <> <RETURN false>
####<Apr 12, 2024 11:15:33 AM> <FINER> <WLSDeployExit> <exit> <> <ENTRY 2 oracle.weblogic.deploy.util.WLSDeployExit exit>
####<Apr 12, 2024 11:15:33 AM> <FINER> <WLSDeployExit> <logCleanup> <> <ENTRY oracle.weblogic.deploy.util.WLSDeployContext@326fb795>
####<Apr 12, 2024 11:15:33 AM> <FINER> <SummaryHandler> <logEnd> <> <ENTRY oracle.weblogic.deploy.util.WLSDeployContext@326fb795 oracle.weblogic.deploy.logging.SummaryHandler logEnd>
####<Apr 12, 2024 11:15:33 AM> <FINER> <SummaryHandler> <logEnd> <> <RETURN>
####<Apr 12, 2024 11:15:33 AM> <FINER> <WLSDeployExit> <logCleanup> <> <RETURN>
####<Apr 12, 2024 11:15:33 AM> <FINER> <WLSDeployExit> <exit> <> <RETURN>
robertpatrick commented 4 months ago

@umjsio I suspect that this issue is already fixed in main (the Jython version used in versions prior to WLS 14.1.1 has a bug that I have worked around) but I will add some more safeguards to make sure. The plan is to release WDT 4.0.1 later this week after incorporating the April 2024 PSU changes to the aliases.

robertpatrick commented 4 months ago

@umjsio if you want to try out the fix, you can build your own installer from the main branch. It requires JDK 17 and a recent version of Maven. You can skip the unit tests using mvn clean install -DskipTests. After running the build, the installer will be found in the installer/target/ directory.