kubernetes/kops · error
EtcdClusters #%d did not specify a Name
Error message
EtcdClusters #%d did not specify a Name
What it means
While populating the cluster spec, an entry in spec.etcdClusters has an empty name. Each etcd cluster must be named (e.g. 'main', 'events') so kops can associate members and generate correct configuration; the check fires during spec completion before validation.
Source
Thrown at upup/pkg/fi/cloudup/populate_cluster_spec.go:122
}
// TODO: Move to validate?
// Check that instance groups are defined in valid zones
{
// TODO: Check that instance groups referenced here exist
//clusterSubnets := make(map[string]*kopsapi.ClusterSubnetSpec)
//for _, subnet := range cluster.Spec.Subnets {
// if clusterSubnets[subnet.Name] != nil {
// return fmt.Errorf("Subnets contained a duplicate value: %v", subnet.Name)
// }
// clusterSubnets[subnet.Name] = subnet
//}
// Check etcd configuration
{
for i, etcd := range cluster.Spec.EtcdClusters {
if etcd.Name == "" {
return fmt.Errorf("EtcdClusters #%d did not specify a Name", i)
}
for i, m := range etcd.Members {
if m.Name == "" {
return fmt.Errorf("EtcdMember #%d of etcd-cluster %s did not specify a Name", i, etcd.Name)
}
if fi.ValueOf(m.InstanceGroup) == "" {
return fmt.Errorf("EtcdMember %s:%s did not specify a InstanceGroup", etcd.Name, m.Name)
}
}
etcdInstanceGroups := make(map[string]kopsapi.EtcdMemberSpec)
etcdNames := make(map[string]kopsapi.EtcdMemberSpec)
for _, m := range etcd.Members {
if _, ok := etcdNames[m.Name]; ok {
return fmt.Errorf("EtcdMembers found with same name %q in etcd-cluster %q", m.Name, etcd.Name)View on GitHub (pinned to 4c8573c808)
Solutions
- Set a name on every entry in the cluster's etcdClusters list
- Use the conventional names 'main' and 'events' for standard clusters
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/populate_cluster_spec.go:122 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/0eeb5645637b44a8.
Report an issue: GitHub.