kubernetes/kops · error
validation failed: %v
Error message
validation failed: %v
What it means
Wraps the top-level validation error in the `kops validate cluster` RunE: the validator returned an error (after any retries) while checking cluster health. The %v carries the underlying validation failure describing which nodes/components are unhealthy.
Source
Thrown at cmd/kops/validate_cluster.go:103
o.interval = 10 * time.Second
o.MaxUnreadyNodes = 0
}
func NewCmdValidateCluster(f *util.Factory, out io.Writer) *cobra.Command {
options := &ValidateClusterOptions{}
options.InitDefaults()
cmd := &cobra.Command{
Use: "cluster [CLUSTER]",
Short: validateClusterShort,
Long: validateClusterLong,
Example: validateClusterExample,
Args: rootCommand.clusterNameArgs(&options.ClusterName),
ValidArgsFunction: commandutils.CompleteClusterName(f, true, false),
RunE: func(cmd *cobra.Command, args []string) error {
result, err := RunValidateCluster(cmd.Context(), f, out, options)
if err != nil {
return fmt.Errorf("validation failed: %v", err)
}
// We want the validate command to exit non-zero if validation found a problem,
// even if we didn't really hit an error during validation.
if len(result.Failures) != 0 {
os.Exit(2)
}
return nil
},
}
cmd.Flags().StringVarP(&options.output, "output", "o", options.output, "Output format. One of json|yaml|table.")
cmd.RegisterFlagCompletionFunc("output", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
return []string{"json", "yaml", "table"}, cobra.ShellCompDirectiveNoFileComp
})
cmd.Flags().DurationVar(&options.wait, "wait", options.wait, "Amount of time to wait for the cluster to become ready")
cmd.Flags().IntVar(&options.count, "count", options.count, "Number of consecutive successful validations required")
cmd.Flags().DurationVar(&options.interval, "interval", options.interval, "Time in duration to wait between validation attempts")View on GitHub (pinned to 4c8573c808)
Solutions
- Run kubectl get nodes to see unready nodes
- Inspect failing pods with kubectl get pods -A
- Wait for the cluster to finish provisioning and re-validate
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at cmd/kops/validate_cluster.go:103 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/f1ae9c2359dc0540.
Report an issue: GitHub.