devfile/devworkspace-operator

Unrecoverable sync errors are ignored in the DevWorkspaceRouting reconciler

amisevsk opened this issue · 0 comments

Description

The reconciler for DevWorkspaceRoutings ignores any UnrecoverableSyncErrors that come from the sync package, resulting in it attempting to reapply objects to the cluster despite e.g. a forbidden response coming from the API

How To Reproduce

  1. Create a resource quota specifying e.g. a maximum number of services in a namespace:
    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: resource-quota-services
    spec:
      hard:
        count/services: "1"
  2. Create two workspaces that have at least one endpoint (resulting in DWO attempting to create two services)
  3. Note that the second workspace remains stuck in the 'starting' state until it times out

Expected behavior

If the cluster tells us we're forbidden from doing something, we should respect that.

Additional context

Originally reported for the Eclipse Che project: eclipse-che/che#22068