Skip to content

Instance failure reasons never reach the workload #315

Description

@scotwells

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions