kubernetes/kops · error

error parsing etcd cluster tag %q on volume %q: %v

Error message

error parsing etcd cluster tag %q on volume %q: %v

What it means

The value of an etcd-cluster tag (key prefixed TagNameEtcdClusterPrefix) on an EBS volume could not be parsed by etcd.ParseEtcdClusterSpec. The tag value is malformed — typically a hand-edited or externally set tag on volume %q.

Source

Thrown at upup/pkg/fi/cloudup/awsup/status.go:95

		volumes = append(volumes, page.Volumes...)
	}

	var err error
	for _, volume := range volumes {
		volumeID := aws.ToString(volume.VolumeId)

		etcdClusterName := ""
		var etcdClusterSpec *etcd.EtcdClusterSpec
		master := false
		for _, tag := range volume.Tags {
			k := aws.ToString(tag.Key)
			v := aws.ToString(tag.Value)

			if strings.HasPrefix(k, TagNameEtcdClusterPrefix) {
				etcdClusterName = strings.TrimPrefix(k, TagNameEtcdClusterPrefix)
				etcdClusterSpec, err = etcd.ParseEtcdClusterSpec(etcdClusterName, v)
				if err != nil {
					return nil, fmt.Errorf("error parsing etcd cluster tag %q on volume %q: %v", v, volumeID, err)
				}
			} else if k == TagNameRolePrefix+TagRoleMaster || k == TagNameRolePrefix+TagRoleControlPlane {
				master = true
			}
		}
		if etcdClusterName == "" || etcdClusterSpec == nil || !master {
			continue
		}

		status := statusMap[etcdClusterName]
		if status == nil {
			status = &kops.EtcdClusterStatus{
				Name: etcdClusterName,
			}
			statusMap[etcdClusterName] = status
		}

		memberName := etcdClusterSpec.NodeName

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the etcd tag on the named volume and fix its value to a valid EtcdClusterSpec
  2. Remove the malformed tag if the volume is not an etcd member
  3. Compare with tags on healthy etcd volumes of other clusters for the expected format
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/awsup/status.go:95 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/9bf4128326b42a28. Report an issue: GitHub.