Open spoonysnail opened 1 year ago
@spoonysnail I didn't see any error on logs. Are you see any error messages on workflow status?
@spoonysnail I didn't see any error on logs. Are you see any error messages on workflow status?
No error. The workflow has ended gracefully. But libreoffice doesn't work in workflow.
If you are using Kubeflow, then set the containerRuntime to Docker, which is set to Emissary by default. That would solve the issue. https://github.com/argoproj/argo-workflows/issues/9117
We are using argo on kubernetes. I change argo version to v3.3.10 since settings of containerRuntime were removed from v3.4. And then set the containerRuntime to kubelet and k8sapi. libreoffice works well with these two executors. But the wait container throws error.
Here are the logs of the wait container.
logs with k8sapi executor
time="2023-01-17T08:44:51.754Z" level=info msg="Starting Workflow Executor" executorType=k8sapi version=v3.3.10
time="2023-01-17T08:44:51.757Z" level=info msg="Creating a k8sapi executor"
time="2023-01-17T08:44:51.757Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2023-01-17T08:44:51.757Z" level=info msg="Executor initialized" deadline="0001-01-01 00:00:00 +0000 UTC" includeScriptOutput=false namespace=daily-argo-workspace podName=libreoffice-test3 template="{\"name\":\"libreoffice-test3\",\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"main\",\"image\":\"linuxserver/libreoffice:latest\",\"command\":[\"/bin/sh\",\"-c\"],\"args\":[\"/_py_oss/test/gjl/libreoffice.sh\"],\"resources\":{},\"volumeMounts\":[{\"name\":\"oss-pvc\",\"mountPath\":\"/_py_oss\"}]}}" version="&Version{Version:v3.3.10,BuildDate:2022-11-29T18:18:30Z,GitCommit:b19870d737a14b21d86f6267642a63dd14e5acd5,GitTag:v3.3.10,GitTreeState:clean,GoVersion:go1.17.13,Compiler:gc,Platform:linux/amd64,}"
time="2023-01-17T08:44:51.758Z" level=info msg="Starting deadline monitor"
time="2023-01-17T08:49:51.758Z" level=info msg="Alloc=5446 TotalAlloc=11296 Sys=19410 NumGC=5 Goroutines=6"
time="2023-01-17T08:54:51.758Z" level=info msg="Alloc=5467 TotalAlloc=11402 Sys=19410 NumGC=7 Goroutines=6"
logs with kubelet executor
time="2023-01-17T08:38:49.883Z" level=info msg="Starting Workflow Executor" executorType=kubelet version=v3.3.10
time="2023-01-17T08:38:49.888Z" level=info msg="Creating a kubelet executor"
time="2023-01-17T08:38:49.888Z" level=info msg="Non configured envvar ARGO_KUBELET_PORT, defaulting the kubelet port to 10250"
time="2023-01-17T08:38:49.888Z" level=warning msg="Loading service account ca.crt as certificate authority to reach the kubelet api"
time="2023-01-17T08:38:49.888Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2023-01-17T08:38:49.888Z" level=info msg="Executor initialized" deadline="0001-01-01 00:00:00 +0000 UTC" includeScriptOutput=false namespace=daily-argo-workspace podName=libreoffice-test2-4chzk template="{\"name\":\"libreoffice-test2\",\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"main\",\"image\":\"linuxserver/libreoffice:latest\",\"command\":[\"/bin/sh\",\"-c\"],\"args\":[\"/_py_oss/test/gjl/libreoffice.sh\"],\"resources\":{},\"volumeMounts\":[{\"name\":\"oss-pvc\",\"mountPath\":\"/_py_oss\"}]}}" version="&Version{Version:v3.3.10,BuildDate:2022-11-29T18:18:30Z,GitCommit:b19870d737a14b21d86f6267642a63dd14e5acd5,GitTag:v3.3.10,GitTreeState:clean,GoVersion:go1.17.13,Compiler:gc,Platform:linux/amd64,}"
time="2023-01-17T08:38:49.888Z" level=info msg="Starting to wait completion of containers main..."
time="2023-01-17T08:38:49.888Z" level=info msg="Starting deadline monitor"
time="2023-01-17T08:38:56.061Z" level=info msg="Starting to wait completion of containers main..."
time="2023-01-17T08:39:02.709Z" level=info msg="Starting to wait completion of containers main..."
time="2023-01-17T08:39:10.586Z" level=info msg="Starting to wait completion of containers main..."
time="2023-01-17T08:39:21.116Z" level=info msg="Starting to wait completion of containers main..."
time="2023-01-17T08:39:26.120Z" level=error msg="executor error: failed to wait for main container to complete: timed out waiting for the condition: Get \"https://172.16.83.102:10250/pods\": x509: cannot validate certificate for 172.16.83.102 because it doesn't contain any IP SANs"
time="2023-01-17T08:39:26.120Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2023-01-17T08:39:26.120Z" level=info msg="No output parameters"
time="2023-01-17T08:39:26.120Z" level=info msg="No output artifacts"
time="2023-01-17T08:39:26.123Z" level=error msg="executor error: Get \"https://172.16.83.102:10250/pods\": x509: cannot validate certificate for 172.16.83.102 because it doesn't contain any IP SANs"
time="2023-01-17T08:39:26.123Z" level=info msg="Alloc=5787 TotalAlloc=11458 Sys=19666 NumGC=4 Goroutines=6"
time="2023-01-17T08:39:26.123Z" level=fatal msg="failed to wait for main container to complete: timed out waiting for the condition: Get \"https://172.16.83.102:10250/pods\": x509: cannot validate certificate for 172.16.83.102 because it doesn't contain any IP SANs"
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is a mentoring request, please provide an update here. Thank you for your contributions.
Any solutions?
while not using volumes i ran below in v3.6rc4
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: libreoffice-test-
spec:
entrypoint: libreoffice-test
templates:
- name: libreoffice-test
container:
imagePullPolicy: IfNotPresent
image: linuxserver/libreoffice:7.6.7
command:
- /bin/sh
- '-c'
args: ["echo 'start';mkdir /tmp/output/; cd /tmp;curl -L https://scholar.harvard.edu/files/torman_personal/files/samplepptx.pptx -o samplepptx.pptx; /usr/bin/libreoffice --convert-to pdf --outdir /tmp/output/ /tmp/samplepptx.pptx; ls -l /tmp/output/*;echo 'end'"]
a few times and it ran fine with main container logs like:
start
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 404k 0 404k 0 0 786k 0 --:--:-- --:--:-- --:--:-- 787k
convert /tmp/samplepptx.pptx as a Impress document -> /tmp/output/samplepptx.pdf using filter : impress_pdf_Export
-rw-rw-rw- 1 root root 249874 Nov 10 09:20 /tmp/output/samplepptx.pdf
end
Pre-requisites
:latest
What happened/what you expected to happen?
I want to use libreoffice to convert docx file to pdf. It works well in k8s job but sometimes doesn't work when in argo workflow.
Content of Job Yaml
Content of libreoffice.sh
The expected output of console is:
And it will produce a pdf file when I run it in job.
But when I run it in argo, the output of console is
No libreoffice log. And no pdf file produced.
However, it sometimes works and I don't know why.
Version
v3.4.4
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Logs from the workflow controller
Logs from in your workflow's wait container