Skip to content

Limits and troubleshooting

Quota and container limits

All projects of a tenant share one quota. It counts resource requests, not limits.

Resource Default quota for a tenant
CPU requests 4
Memory requests 8Gi
Storage requests 100Gi

A pod that does not fit in the CPU or memory quota is not rejected. It is held: the pod exists, stays in the status SchedulingGated, and has an event that starts with exceeded quota. It starts when usage drops or the quota is raised. Workloads that already run are not stopped.

Each project also has defaults and maximums for one container and one volume claim:

Setting Value
Default request of a container that sets none 100m CPU, 256Mi memory
Default limit of a container that sets none 1 CPU, 2Gi memory
Maximum limit of one container 16 CPU, 48Gi memory
Maximum size of one volume claim 1Ti

To get a larger quota, ask support.

Where to read the error

The Sync Status tab of the application in the console shows the error of the last deployment. The same text with oc:

oc -n <tenant> get applications.argoproj.io <application> \
  -o jsonpath='{.status.operationState.message}{"\n"}{.status.conditions}{"\n"}'

The Resources tab shows which resource is not Healthy.

Common errors

Message contains Cause Fix
exceeded quota The application asks for more CPU, memory or storage than the quota of your tenant has left Lower the setting that you raised, or ask for a larger quota
error converting YAML to JSON, or failed to parse The settings block is not valid YAML, usually wrong indentation Correct the block in the YAML tab and save
do not match any of the allowed destinations in project, or is not permitted A field outside the settings was changed Set the field back. If you do not know the earlier value, ask support.
is forbidden The settings ask for something that a tenant may not deploy Set the value back. If the application needs it, ask support.
I changed a setting and nothing happened

Look at Sync Status on the Details tab. Synced with the old behaviour means that the name of the setting is wrong: a setting that the application does not know is ignored without an error. Check the spelling and the indentation.

The application is Synced but Degraded or Progressing

The deployment was applied, and a pod does not start. Open the Resources tab to see which one. A pod that waits for quota is described under Quota and container limits.

My manual change is gone

A manual change on a resource of a managed application is reverted within seconds. Make the change in the settings - see Change the settings.

The application stays OutOfSync

Automatic deployment was switched off in the Application. Ask support to restore it.