Customer impact
When a customer's instances are failing, their Workload should say why. Today it cannot. Whatever reason an Instance reports — InstanceCrashing, ConfigurationError, or an image that could not be pulled — the WorkloadDeployment and Workload above it never see it. When nothing is ready, the customer is told "Instances are being provisioned", indefinitely, for a workload that will never start.
This is wider than crashes:
The bug
The WorkloadDeployment's status is not built from its Instances' reasons. It considers the cell's location, network readiness, referenced data, the number of Instances blocked on quota, and — whenever there are replicas — the generic "Instances are being provisioned". It counts how many Instances are ready but never looks at why the rest are not.
So an Instance's failure reason never becomes a candidate for the deployment's status. Ranking InstanceCrashing or ConfigurationError higher would change nothing, because they never enter the ranking. What is missing is a path that carries an Instance's failure reason up to the WorkloadDeployment and the Workload.
What the customer sees
A workload whose only container exits on startup, in staging:
Available=True AvailablePlacementFound At least one available placement was found
After the provider is fixed but without a rollup path, this would become "Instances are being provisioned" — still not the real cause.
Relationship to #310
#310 requires that a workload missing a permission its image needs reports an error "instead of restarting on a loop". Any version of that needs the failure to reach the Workload, so this issue is a prerequisite.
Secondary observation
A WorkloadDeployment was observed reporting ReplicasReady=True alongside the message "0/1 replicas available", on a workload whose image could not be pulled. Likely related to how replica readiness is computed; not diagnosed.
Related
Customer impact
When a customer's instances are failing, their Workload should say why. Today it cannot. Whatever reason an Instance reports —
InstanceCrashing,ConfigurationError, or an image that could not be pulled — the WorkloadDeployment and Workload above it never see it. When nothing is ready, the customer is told "Instances are being provisioned", indefinitely, for a workload that will never start.This is wider than crashes:
The bug
The WorkloadDeployment's status is not built from its Instances' reasons. It considers the cell's location, network readiness, referenced data, the number of Instances blocked on quota, and — whenever there are replicas — the generic "Instances are being provisioned". It counts how many Instances are ready but never looks at why the rest are not.
So an Instance's failure reason never becomes a candidate for the deployment's status. Ranking
InstanceCrashingorConfigurationErrorhigher would change nothing, because they never enter the ranking. What is missing is a path that carries an Instance's failure reason up to the WorkloadDeployment and the Workload.What the customer sees
A workload whose only container exits on startup, in staging:
After the provider is fixed but without a rollup path, this would become "Instances are being provisioned" — still not the real cause.
Relationship to #310
#310 requires that a workload missing a permission its image needs reports an error "instead of restarting on a loop". Any version of that needs the failure to reach the Workload, so this issue is a prerequisite.
Secondary observation
A WorkloadDeployment was observed reporting
ReplicasReady=Truealongside the message "0/1 replicas available", on a workload whose image could not be pulled. Likely related to how replica readiness is computed; not diagnosed.Related