Open dorsany opened 4 years ago
Hi @alexec , Can you please review this issue?
I can create a PR to fix this by ignore the managed fields
key or increase the max depth
, but I need your guide of how do you want to implement the solution
Hi @alexec , I can't work with WorkflowTemplate
until I will find a solution for my max depth
issue.
Can you please review it and let my know which solution is better?
hi @dorsany, I'm afraid I don't know much about this managed fields - is this something you'd be able to look into and suggest a solution please?
Is there a particular reason the depth is set to 10 max ? This appears quite limiting.
I am facing the same Internal Server Error: template reference exceeded max depth (10)
issue just by trying to define a basic Service amongst my ressource templates.
Ex:
---
metadata:
name: test
namespace: argo
labels:
example: 'true'
spec:
entrypoint: basic-service
templates:
- name: basic-service
ressources:
action: create
manifest:
apiVersion: v1
kind: Service
metadata:
name: basic-service
spec:
selector:
app: test
ports:
- protocol: TCP
port: 8080
targetPort: 8080
I could see that https://github.com/argoproj/argo/pull/1553 had also a proposal for URLs as input for manifest. Could it help if such feature was available ?
I don't think https://github.com/argoproj/argo-workflows/pull/1553 has anything to do with managedFields, @alexec , currently it will add all nodes to the managedFields, so the more nodes workflow have, the larger this field is. etcd has a size limit of 1.5m, this will greatly make workflow larger, is there anything we can do about it?
https://kubernetes.io/docs/reference/using-api/server-side-apply/#clearing-managedfields It can be cleared, will workflow controller consider doing this? @alexec
Summary
In my k8s cluster I have the Field Management turned on for audit purposes. The Field Management will add another
key
calledmanagedFields
undermetadata.managedFields
and thismanagedFields
can be more than depth (10) which is the limit inargo workflow
forWorkflowTemplate
example how the
WorkflowTemplate
it looks:and I'm getting the error:
What change you think needs making: just ignore this key:
metadata.managedFields
Motivation
audit purposes.
Proposal
How do you think this should be implemented? just ignore the key
metadata.managedFields
if this key exist, the question is where (context.go?validate.go?) or increase max depth default value to be more than 10more on: https://kubernetes.io/docs/reference/using-api/api-concepts/#field-management