From 5a1ed0911949ea686a13e731af37e4199f5b9eba Mon Sep 17 00:00:00 2001 From: richardwang98 Date: Wed, 14 Jun 2023 15:25:42 -0400 Subject: [PATCH] add task log & fix report url for mta --- .../migrationtoolkit/CreateApplicationTask.java | 8 ++++++-- .../tasks/migrationtoolkit/GetAnalysisTask.java | 12 ++++++++---- .../tasks/migrationtoolkit/GetApplicationTask.java | 8 ++++++-- .../tasks/migrationtoolkit/SubmitAnalysisTask.java | 8 ++++++-- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/CreateApplicationTask.java b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/CreateApplicationTask.java index 919492e6c..fa7beed36 100644 --- a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/CreateApplicationTask.java +++ b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/CreateApplicationTask.java @@ -58,15 +58,19 @@ public WorkReport execute(WorkContext workContext) { Result result = mtaClient.create(new App(0, appName, new Repository("git", repo, branch))); if (result == null) { + taskLogger.logErrorWithSlf4j("MTA client returned empty result with no error"); // unexpected - return new DefaultWorkReport(WorkStatus.FAILED, new WorkContext(), + return new DefaultWorkReport(WorkStatus.REJECTED, new WorkContext(), new IllegalStateException("MTA client returned empty result with no error")); } else if (result instanceof Result.Failure failure) { - return new DefaultWorkReport(WorkStatus.FAILED, workContext, failure.t()); + taskLogger.logErrorWithSlf4j("MTA client returned failed result"); + return new DefaultWorkReport(WorkStatus.REJECTED, workContext, failure.t()); } else if (result instanceof Result.Success success) { workContext.put("application", success.value()); + taskLogger.logInfoWithSlf4j("MTA client returned success result for application creation: {}", + success.value().name()); return new DefaultWorkReport(WorkStatus.COMPLETED, workContext); } throw new IllegalArgumentException(); diff --git a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetAnalysisTask.java b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetAnalysisTask.java index 5fc7a7b8e..91dead950 100644 --- a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetAnalysisTask.java +++ b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetAnalysisTask.java @@ -85,25 +85,29 @@ public WorkReport execute(WorkContext workContext) { Result result = mtaClient.get(taskGroupID); if (result == null) { + taskLogger.logErrorWithSlf4j("MTA client returned empty result with no error."); // unexpected - return new DefaultWorkReport(WorkStatus.FAILED, new WorkContext(), + return new DefaultWorkReport(WorkStatus.REJECTED, new WorkContext(), new IllegalStateException("MTA client returned empty result with no error.")); } else if (result instanceof Result.Failure failure) { - return new DefaultWorkReport(WorkStatus.FAILED, workContext, failure.t()); + taskLogger.logErrorWithSlf4j("MTA client returned failed result"); + return new DefaultWorkReport(WorkStatus.REJECTED, workContext, failure.t()); } else if (result instanceof Result.Success success) { if ("Ready".equals(success.value().state()) && success.value().tasks() != null && "Succeeded".equals(success.value().tasks()[0].state())) { - String reportURL = "%s/hub/applications/%d/bucket/%s".formatted(serverUrl, + String reportURL = "%s/hub/applications/%d/bucket%s".formatted(serverUrl, success.value().tasks()[0].application().id(), success.value().data().output()); + taskLogger.logInfoWithSlf4j("MTA client returned success result with report url: {}", reportURL); addParameter("reportURL", reportURL); notificationSender.send("Migration Analysis Report Completed", "[Migration analysis report](%s) completed.".formatted(reportURL)); return new DefaultWorkReport(WorkStatus.COMPLETED, workContext); } else if ("Failed".equals(success.value().state())) { - return new DefaultWorkReport(WorkStatus.FAILED, workContext, + taskLogger.logErrorWithSlf4j("The underlying task failed, the report will not be ready"); + return new DefaultWorkReport(WorkStatus.REJECTED, workContext, new Throwable("The underlying task failed, the report will not be ready")); } return new DefaultWorkReport(WorkStatus.FAILED, workContext, new Throwable("The report is not ready yet.")); diff --git a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetApplicationTask.java b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetApplicationTask.java index 0be40152c..b3226c5d9 100644 --- a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetApplicationTask.java +++ b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/GetApplicationTask.java @@ -54,15 +54,19 @@ public WorkReport execute(WorkContext workContext) { Result result = mtaClient.get(applicationName); if (result == null) { + taskLogger.logErrorWithSlf4j("MTA client returned empty result with no error"); // unexpected - return new DefaultWorkReport(WorkStatus.FAILED, new WorkContext(), + return new DefaultWorkReport(WorkStatus.REJECTED, new WorkContext(), new IllegalStateException("MTA client returned empty result with no error")); } else if (result instanceof Result.Failure failure) { - return new DefaultWorkReport(WorkStatus.FAILED, workContext, failure.t()); + taskLogger.logErrorWithSlf4j("MTA client returned failed result"); + return new DefaultWorkReport(WorkStatus.REJECTED, workContext, failure.t()); } else if (result instanceof Result.Success success) { addParameter("applicationID", String.valueOf(success.value().id())); + taskLogger.logInfoWithSlf4j("MTA client returned success result for getting application with id: {}", + String.valueOf(success.value().id())); return new DefaultWorkReport(WorkStatus.COMPLETED, workContext); } throw new IllegalArgumentException(); diff --git a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/SubmitAnalysisTask.java b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/SubmitAnalysisTask.java index 1969429c2..b9f0c9ce0 100644 --- a/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/SubmitAnalysisTask.java +++ b/prebuilt-tasks/src/main/java/com/redhat/parodos/tasks/migrationtoolkit/SubmitAnalysisTask.java @@ -59,15 +59,19 @@ public WorkReport execute(WorkContext workContext) { Result result = mtaClient.create(applicationID); if (result == null) { + taskLogger.logErrorWithSlf4j("MTA client returned empty result with no error"); // unexpected - return new DefaultWorkReport(WorkStatus.FAILED, new WorkContext(), + return new DefaultWorkReport(WorkStatus.REJECTED, new WorkContext(), new IllegalStateException("MTA client returned result with no error")); } else if (result instanceof Result.Failure failure) { - return new DefaultWorkReport(WorkStatus.FAILED, workContext, failure.t()); + taskLogger.logErrorWithSlf4j("MTA client returned failed result"); + return new DefaultWorkReport(WorkStatus.REJECTED, workContext, failure.t()); } else if (result instanceof Result.Success success) { addParameter("taskGroupID", String.valueOf(success.value().id())); + taskLogger.logInfoWithSlf4j("MTA client returned success result for analysis task with id: {}", + String.valueOf(success.value().id())); return new DefaultWorkReport(WorkStatus.COMPLETED, workContext); } throw new IllegalArgumentException();