New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PNS executor (2.9.4) having issue on windows with input/output artifacts #4009
Comments
nvm. this seems causing by that i use the same folder for both input/output artifacts. This works on linux, but not windows. |
reopen this, I still like this to be looked at. I start wondering if output artifact is even supported on windows platform. |
@lippertmarkus could you please help? |
PNS doesn't work with Windows containers, see https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#v1-pod
Input/Output artifacts should work on Windows. I just tried the following workflow with the docker executor and Argo v2.10.1 without a problem. Using the same folder for input/output artifact also works: apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: artifact-passing-
namespace: default
spec:
entrypoint: artifact-example
templates:
- name: artifact-example
steps:
- - name: generate-artifact
template: whalesay
- - name: consume-artifact
template: print-message
arguments:
artifacts:
- name: message
from: "{{steps.generate-artifact.outputs.artifacts.hello-art}}"
- - name: consume-win-artifact
template: consumewinoutput
arguments:
artifacts:
- name: message2
from: "{{steps.consume-artifact.outputs.artifacts.modifiedWorkDir}}"
- name: whalesay
container:
image: docker/whalesay:latest
command: [sh, -c]
args: ["cowsay hello world | tee /tmp/hello_world.txt"]
nodeSelector:
kubernetes.io/os: linux
outputs:
artifacts:
- name: hello-art
path: /tmp/
- name: print-message
inputs:
artifacts:
- name: message
path: /tmp/
nodeSelector:
kubernetes.io/os: windows
container:
image: mcr.microsoft.com/windows/servercore:1809
command: ["cmd", "/c"]
args: ["dir c:\\tmp"]
outputs:
artifacts:
- name: modifiedWorkDir
path: /tmp/
- name: consumewinoutput
container:
image: docker/whalesay:latest
command: [sh, -c]
args: ["ls /tmp/message2"]
nodeSelector:
kubernetes.io/os: linux
inputs:
artifacts:
- name: message2
path: /tmp/message2 |
@guoweis-outreach I added information about this limitation to the docs. Is there anything else or can we close this issue? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Summary
I'm using a cross-platform workflow. It seems working as long as I don't have artifacts. Once I do, it gives me error like
failed to save outputs: verify serviceaccount rolling:workflow-runner has necessary privileges
The same serviceaccount works fine for linux box and I'm not sure this is really a privilege problem.
Diagnostics
argo 2.9.4
wait container output
Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
The text was updated successfully, but these errors were encountered: