This is an automated email from the ASF dual-hosted git repository.
ricardozanini pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-docs.git
The following commit(s) were added to refs/heads/main by this push:
new 6df5989ba [KOGITO-9838] Add a troubleshooting guide for remote service
invocations (#507)
6df5989ba is described below
commit 6df5989ba167fb5331eaed3f849ab32ce840478c
Author: Ricardo Zanini <[email protected]>
AuthorDate: Thu Sep 28 08:32:31 2023 -0300
[KOGITO-9838] Add a troubleshooting guide for remote service invocations
(#507)
* [KOGITO-9838] Add a troubleshooting guide for remove service invocations
Signed-off-by: Ricardo Zanini <[email protected]>
* Incorporating Marian's review
Co-authored-by: Marián Macik <[email protected]>
* Turning the troubleshooting guide more generic for services orchestrations
Signed-off-by: Ricardo Zanini <[email protected]>
---------
Signed-off-by: Ricardo Zanini <[email protected]>
Co-authored-by: Marián Macik <[email protected]>
---
serverlessworkflow/modules/ROOT/nav.adoc | 1 +
.../configuring-openapi-services-endpoints.adoc | 7 +-
.../orchestration-of-openapi-based-services.adoc | 2 +-
.../service-orchestration/troubleshooting.adoc | 74 ++++++++++++++++++++++
4 files changed, 80 insertions(+), 4 deletions(-)
diff --git a/serverlessworkflow/modules/ROOT/nav.adoc
b/serverlessworkflow/modules/ROOT/nav.adoc
index 33e233210..8eeca65eb 100644
--- a/serverlessworkflow/modules/ROOT/nav.adoc
+++ b/serverlessworkflow/modules/ROOT/nav.adoc
@@ -31,6 +31,7 @@
***
xref:service-orchestration/configuring-openapi-services-endpoints.adoc[Advanced
Configuration]
*** xref:service-orchestration/working-with-openapi-callbacks.adoc[Callbacks]
** xref:service-orchestration/orchestration-of-grpc-services.adoc[gRPC]
+** xref:service-orchestration/troubleshooting.adoc[Troubleshooting]
* Event Orchestration
** xref:eventing/orchestration-of-asyncapi-based-services.adoc[AsyncAPI]
** xref:eventing/event-correlation-with-workflows.adoc[Event Correlation]
diff --git
a/serverlessworkflow/modules/ROOT/pages/service-orchestration/configuring-openapi-services-endpoints.adoc
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/configuring-openapi-services-endpoints.adoc
index 51332f5f4..0c4911526 100644
---
a/serverlessworkflow/modules/ROOT/pages/service-orchestration/configuring-openapi-services-endpoints.adoc
+++
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/configuring-openapi-services-endpoints.adoc
@@ -368,7 +368,7 @@ curl -X 'POST' \
----
.Example response
-[source,shell]
+[source,json]
----
{"id":"5ab5dcb8-5952-4730-b526-cace363774bb","workflowdata":{"symbol":"KGTO","currentPrice":75,"profit":"50%"}}
----
@@ -422,7 +422,7 @@ curl -X 'POST' \
----
.Example response
-[source,shell]
+[source,json]
----
{"id":"a80c95d6-51fd-4ca9-b689-f779929c9937","workflowdata":{"symbol":"KGTO","currentPrice":59.36,"profit":"19%"}}
----
@@ -469,7 +469,7 @@ curl -X 'POST' \
----
.Example response
-[source,shell]
+[source,json]
----
{"id":"5ab5dcb8-5952-4730-b526-cace363774bb","workflowdata":{"symbol":"KGTO","currentPrice":56.35,"profit":"13%"}}
----
@@ -481,5 +481,6 @@ Note that, in the previous example, you overwrote the
property defined in the `a
*
xref:service-orchestration/orchestration-of-openapi-based-services.adoc[Orchestrating
the OpenAPI services]
* link:{quarkus-profiles-url}[Quarkus configuration guide]
+* xref:service-orchestration/troubleshooting.adoc[]
include::../../pages/_common-content/report-issue.adoc[]
\ No newline at end of file
diff --git
a/serverlessworkflow/modules/ROOT/pages/service-orchestration/orchestration-of-openapi-based-services.adoc
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/orchestration-of-openapi-based-services.adoc
index 8d10ea4ed..d89b7a860 100644
---
a/serverlessworkflow/modules/ROOT/pages/service-orchestration/orchestration-of-openapi-based-services.adoc
+++
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/orchestration-of-openapi-based-services.adoc
@@ -402,7 +402,7 @@ In a future release, {product_name} will provide support
for Kubernetes Service
== Additional resources
* {configuring-openapi-services-endpoints}[Configuring OpenAPI services
endpoints]
-//* {camel-k-integration}[Integrating Camel K] Guide not available in DP1
* {authention-support-for-openapi-services}[Authentication for OpenAPI
services in {product_name}]
+* xref:service-orchestration/troubleshooting.adoc[]
include::../../pages/_common-content/report-issue.adoc[]
diff --git
a/serverlessworkflow/modules/ROOT/pages/service-orchestration/troubleshooting.adoc
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/troubleshooting.adoc
new file mode 100644
index 000000000..81ece03d1
--- /dev/null
+++
b/serverlessworkflow/modules/ROOT/pages/service-orchestration/troubleshooting.adoc
@@ -0,0 +1,74 @@
+= Troubleshooting Services Orchestrations
+:compat-mode!:
+// Metadata:
+:description: Troubleshooting Services Orchestrations
+:keywords: workflow, serverless, openapi, services, json, http, tls, https
+// Links:
+:apache_http_client_url: https://hc.apache.org/httpcomponents-client-5.2.x/
+
+This document describes an ongoing list of known issues while orchestrating
services with workflows.
+
+== Troubleshooting HTTP Services Invocations
+
+The backbone of workflow orchestrations are remote HTTP services invocations,
for example when using
xref:service-orchestration/orchestration-of-openapi-based-services.adoc[OpenAPI
functions]. Following a few steps that can be useful when troubleshooting
HTTP-based functions.
+
+=== Tracing HTTP Requests and Responses
+
+Under the hood, {product_name} uses link:{apache_http_client_url}[Apache HTTP
Client]. You can turn HTTP requests and responses tracing by setting the
following property:
+
+.Turning HTTP tracing on
+[source,properties]
+----
+quarkus.log.category."org.apache.http".level=DEBUG
+----
+
+Reset the application so the log configuration is propagated. After that, you
can find HTTP tracing in your logs.
+
+.HTTP Request trace
+[source,log,subs="attributes+"]
+----
+...
+2023-09-25 19:00:55,242 DEBUG Executing request POST
/v2/models/yolo-model/infer HTTP/1.1
+...
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> POST
/v2/models/yolo-model/infer HTTP/1.1 <1>
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Accept: application/json
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Content-Type: application/json
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocid:
inferencepipeline <2>
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocinstanceid:
85114b2d-9f64-496a-bf1d-d3a0760cde8e <3>
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocist: Active
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoproctype: SW
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> kogitoprocversion: 1.0
+2023-09-25 19:00:55,243 DEBUG http-outgoing-0 >> Content-Length: 23177723
+2023-09-25 19:00:55,244 DEBUG http-outgoing-0 >> Host:
yolo-model-opendatahub-model.apps.trustyai.dzzt.p1.openshiftapps.com
+...
+----
+
+1. The path where the client will make the HTTP invocation
+2. The workflow definition id
+3. The workflow instance (execution) id
+
+In the example above, you have access to every portion of the HTTP request and
can verify if something is wrong during the message creation.
+For example, you can use the `kogitoprocinstanceid` header to trace this HTTP
message in the logs.
+
+For responses, you should be able to see the details below the request body:
+
+.HTTP Response trace
+[source,log,subs="attributes+"]
+----
+...
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "HTTP/1.1 500 Internal
Server Error[\r][\n]" <1>
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "content-type:
application/json[\r][\n]"
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "date: Mon, 25 Sep 2023
19:01:00 GMT[\r][\n]"
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "content-length: 186[\r][\n]"
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "set-cookie:
276e4597d7fcb3b2cba7b5f037eeacf5=5427fafade21f8e7a4ee1fa6c221cf40; path=/;
HttpOnly; Secure; SameSite=None[\r][\n]"
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "[\r][\n]"
+2023-09-25 19:01:00,738 DEBUG http-outgoing-0 << "{"code":13,
"message":"Failed to load Model due to adapter error: Error calling stat on
model file: stat /models/yolo-model__isvc-1295fd6ba9/yolov5s-seg.onnx: no such
file or directory"}" <2>
+...
+----
+
+1. Response code returned by the server. In this example, a general server
error
+2. Response body containing the message body returned by the server
+
+Having the details about the HTTP invocation enables users to do a better
assessment about the behavior of a given workflow.
+
+include::../../pages/_common-content/report-issue.adoc[]
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]