alert-florist-32940
12/02/2022, 9:36 AMargo-workflows create Metaflow says everything is fine. Problem is that the templates don't appear on the Argo UI which I forwarded with the usual port forward script. argo template list does show these flows, in the default namespace (is this the same namespace Metaflow refers to when creating Argo flows, because there I see production:myflow-0-tvwa?). Any pointers?
I also tried to trigger the flows with argo-workflows trigger . Metaflow happily submits this. Nothing on the Argo or Metaflow UI comes up. argo list does show the flows, in pending state.
I'm thinkin either my pods don't have enough resources (8gb memory nodes) or metaflow and my argo cli are not talking to the same server as the UI.. but I shouldn't have any local instance that would mess things up.fancy-eve-65019
12/02/2022, 12:37 PMkubectl get wftmpl to check workflow templates (flows)
⢠kubectl get wf to check workflows (runs)
Problem is that the templates don't appear on the Argo UIIt happens to me often and usually it's because I didn't select a proper namespace
alert-florist-32940
12/02/2022, 12:54 PMkubectl get wftmpl though.alert-florist-32940
12/02/2022, 12:55 PMfancy-eve-65019
12/02/2022, 1:02 PMargo namespacealert-florist-32940
12/02/2022, 1:03 PMfancy-eve-65019
12/02/2022, 1:03 PMArgo UI which I forwarded with the usual port forward scriptI usually don't use port-forwarding but a feature of the
argo cmd tool to "expose" UI:
argo server --auth-mode=server --secure=falsealert-florist-32940
12/02/2022, 1:05 PMalert-florist-32940
12/02/2022, 1:06 PMfancy-eve-65019
12/02/2022, 1:08 PMargo command actually starts a server on a local computer as far as I understand instead of using a server from a clusterfancy-eve-65019
12/02/2022, 1:09 PMalert-florist-32940
12/02/2022, 1:13 PMuser
12/02/2022, 4:44 PMkubectl get pods -n default -o wide and then if say, pod pod-1 is Pending, you can do a kubectl describe pod pod-1 -n default ? The describe commands output could show you the reasons for Pendingalert-florist-32940
12/02/2022, 5:44 PMkubectl get pods doesn't show anything out of the ordinary. I see the pending state with argo listalert-florist-32940
12/02/2022, 5:45 PMuser
12/02/2022, 5:47 PMargo get <wf-name> -n default ? This should also provide additional insights.alert-florist-32940
12/02/2022, 5:47 PMNamespace Name CPU Requests CPU Limits Memory Requests Memory Limits Age
--------- ---- ------------ ---------- --------------- ------------- ---
argo argo-server-78f47df69f-wjg9d 0 (0%) 0 (0%) 0 (0%) 0 (0%) 13m
argo httpbin-69794bbd74-bk5j7 0 (0%) 0 (0%) 0 (0%) 0 (0%) 13m
argo minio-647b67bc44-649kc 0 (0%) 0 (0%) 0 (0%) 0 (0%) 13m
argo postgres-869f7fbd7f-2c4zj 0 (0%) 0 (0%) 0 (0%) 0 (0%) 13m
argo workflow-controller-b99cbc8bf-txn2j 0 (0%) 0 (0%) 0 (0%) 0 (0%) 13muser
12/02/2022, 5:49 PMkubectl describe nodes provides info about the node (azure instance) . The list above is the list of pods running on the node you describedalert-florist-32940
12/02/2022, 5:50 PMargo get ...
Name: etlflow-lkm72
Namespace: default
ServiceAccount: unset
Status: Pending
Created: Fri Dec 02 11:11:00 +0200 (8 hours ago)
Progress:
This workflow does not have security context set. You can run your workflow pods more securely by setting it.
Learn more at <https://argoproj.github.io/argo-workflows/workflow-pod-security-context/>user
12/02/2022, 5:54 PMuser
12/02/2022, 6:05 PMuntagged.
There was a bug about the security context that was fixed in argo in v3.3.0.user
12/02/2022, 6:07 PMalert-florist-32940
12/02/2022, 6:19 PMargo version shows 3.3.0, and that is what I see if I use the UI via argo server --auth-mode=server --secure=false
If I use metaflow's port forward script with --include-argo then it shows untagged in the UIuser
12/02/2022, 8:27 PMuser
12/02/2022, 11:26 PMkubectl apply -n argo -f <https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml> Unfortunately, we are pulling the latest master version of this file, PLUS the content of the YAML file also refers to all kinds of :latest images which also float forwards all the time.
Argo Workflows appears to have updated their quickstart instructions recently - it's a different set of steps now. https://argoproj.github.io/argo-workflows/quick-start/#install-argo-workflows
In particular, it is now always pre-pinned. I think we need to migrate our Azure (and GCP) TF templates to invoke THAT instead. Line here needs changing. I will post an GH issue for this for now, it will take some testing to validate it all works fine.handsome-receptionist-54781
12/02/2022, 11:29 PMalert-florist-32940
12/03/2022, 10:02 AMuser
12/12/2022, 9:06 PMdefault). As a result the Argo workflows were being created incorrectly and therefore were not running. This was changed to the correct service account and namespace (both set to argo).
A good change (but maybe not needed for the problem above) was to pin the version of the argo workflows controller to v3.4.1. It was earlier set to latest making it variable as newer versions of Argo would be released.
A similar change to the argo-server COULD be done. But wasn't in the session today.
⢠kubectl edit deployment argo-server -n argo
⢠Change the image tag such that it is set to v3.4.1
⢠Save + quit
In a previous debugging session, the workflows configMap was edited to set the default securityContext (as per this). However, this was not needed. In fact, it was causing failures because the METAFLOW_INIT_SCRIPT can try to create dirs in / of the container requiring root privileges. This change was reverted in the configMap.
At the end of this, argo workflows created using metaflow were able to run successfully.
Let me know if anything was missed...
/cc @alert-florist-32940 @Useralert-florist-32940
12/13/2022, 6:36 AMuser
12/13/2022, 6:37 AM