argo-workflows: Default Archive Location Error

I followed the default getting started document on argo website : https://argoproj.github.io/docs/argo/getting-started.html

Followed until step 7 ( after minio setup ) Error:

Name:                artifact-passing-mwwct
Namespace:           default
ServiceAccount:      default
Status:              Failed
Message:             child 'artifact-passing-mwwct[0].generate-artifact' errored
Created:             Fri Apr 17 20:16:42 +0500 (10 seconds from now)
Started:             Fri Apr 17 20:16:42 +0500 (10 seconds from now)
Finished:            Fri Apr 17 20:16:42 +0500 (10 seconds from now)
Duration:            0 seconds

STEP                       TEMPLATE          PODNAME                            DURATION  MESSAGE
 ✖ artifact-passing-mwwct  artifact-example                                               child 'artifact-passing-mwwct[0].generate-artifact' errored
 └---⚠ generate-artifact   whalesay          artifact-passing-mwwct-3765465502  0s        controller is not configured with a default archive location

I’m using Azure Kuberenetes Service (AKS)

Argo Version:

argo: v2.7.0
  BuildDate: 2020-03-31T23:35:04Z
  GitCommit: 4d1175eb68f6578ed5d599f877be9b4855d33ce9
  GitTreeState: clean
  GitTag: v2.7.0
  GoVersion: go1.13.4
  Compiler: gc
  Platform: linux/amd64

Let me know if more info is needed to look into this issue.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 30 (17 by maintainers)

Most upvoted comments

Configuration:\nartifactRepository: {}\nfeatureFlags: {}\nmetricsConfig:\n disableLegacy: false\npodSpecLogStrategy: {}\ntelemetryConfig:\n disableLegacy: false\n"

It is not loading the config. This is a problem with your installation, but I suspect your controller is not running in the correct namespace. If it is, are you running latest? If so, try changing your config:

# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
data:
    # DELETE `config:`
    artifactRepository:  |
      s3:
        bucket: my-bucket
        endpoint: argo-artifacts.default:9000
        insecure: true
        # accessKeySecret and secretKeySecret are secret selectors.
        # It references the k8s secret named 'argo-artifacts'
        # which was created during the minio helm install. The keys,
        # 'accesskey' and 'secretkey', inside that secret are where the
        # actual minio credentials are stored.
        accessKeySecret:
          name: argo-artifacts
          key: accesskey
        secretKeySecret:
          name: argo-artifacts
          key: secretkey
kind: ConfigMap
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"ConfigMap","metadata":{"annotations":{},"name":"workflow-controller-configmap","namespace":"argo"}}
  creationTimestamp: "2020-04-17T15:03:15Z"
  name: workflow-controller-configmap
  namespace: argo
  resourceVersion: "2250"
  selfLink: /api/v1/namespaces/argo/configmaps/workflow-controller-configmap
  uid: 2aa67b8c-9ef5-4ebc-9b5a-a8342b40acd0

This is the 3rd exact issue for this and yet it doesn’t work, as shown on the Getting Started doc. Maybe someone should actually update the source documentation instead of answering the same question (at least) 3 times in issues? Just a thought…

Okay, removing the keyword config: and restarting the controller pod did the trick. It works fine now. Thanks.

I cannot tell and I’ve left copious notes in case someone with more domain expertise can assist in pointing me further.

I’ve read all the docs, copious Github issues, and the golang source code itself. controller is not configured with a default archive location seems unavoidable in my configuration and there seems to be insufficient data / logging to move forward.

I almost suspect something is mis-configured in k8s RBAC or even AWS Permissions, but there’s simply “no logs” indicating that (and in fact, successful artifacts appearing inside my S3 bucket…). I can’t even find reference to controller is not configured with a default archive location in the current master branch.

I am utterly stumped as to even the nature of a new issue at this point, unless it’s related to:

time="2021-06-04T15:01:20.892Z" level=info msg="Update workflows 409"
time="2021-06-04T15:01:20.892Z" level=warning msg="Error updating workflow: Operation cannot be fulfilled on workflows.argoproj.io \"artifact-passing-8z28f\": the object has been modified; please apply your changes to the latest version and try again Conflict" namespace=projectname-development workflow=artifact-passing-8z28f

“Conflict / 409” in kubernetes seems to be a recurring issue across the ecosystem…

https://github.com/kubernetes/kubernetes/issues/67761

I’m probably as baffled as you are, I’ve been hacking on this for the better part of a Full Work Day and seemingly made no progress except confusing myself further.

Hi, I just started to learn and use Argo and K8s. I also hit this issue and the answers here (# DELETE config:\) helps. Thank you!

I also hit two other issues

  • The argo namespace is not used consistently through this getting-started tutorial. This is potentially confusing. For example, I couldn’t see workflows I submitted, hello-world for example, after launching Argo UI (which is with argo namespace) since the instruction submitted it with default namespace.
  • I couldn’t get minio artifacts to work with the instruction, endpoint: argo-artifacts.default:9000 specifically. I got Failed to put file: Get http://my-minio-endpoint.default:9000/my-bucket/?location=: dial tcp: lookup my-minio-endpoint.default on 10.96.0.10:53: no such host. I got it work by doing endpoint: argo-artifacts:9000.

I’m wondering if I could help with the getting-started documentation? Or do you have other big changes planned for this tutorial? @alexec