kubernetes/kops · error

could not get cloud tags for instance group %s: %v

Error message

could not get cloud tags for instance group %s: %v

What it means

Wrapped error while building OpenStack server-group instances: CloudTagsForInstanceGroup failed to derive the cloud tags (labels) for the instance group, typically because of missing cluster/IG metadata needed for tag generation. The instance group named in the message is the one being built.

Source

Thrown at pkg/model/openstackmodel/servergroup.go:96

	sort.Slice(allowedAddressPairs, func(i, j int) bool {
		return allowedAddressPairs[i].IPAddress < allowedAddressPairs[j].IPAddress
	})

	return allowedAddressPairs
}

func (b *ServerGroupModelBuilder) buildInstances(c *fi.CloudupModelBuilderContext, sg *openstacktasks.ServerGroup, ig *kops.InstanceGroup) error {
	sshKeyNameFull, err := b.SSHKeyName()
	if err != nil {
		return err
	}

	sshKeyName := strings.ReplaceAll(sshKeyNameFull, ":", "_")

	igMeta := make(map[string]string)
	cloudTags, err := b.KopsModelContext.CloudTagsForInstanceGroup(ig)
	if err != nil {
		return fmt.Errorf("could not get cloud tags for instance group %s: %v", ig.Name, err)
	}
	for label, labelVal := range cloudTags {
		sanitizedLabel := strings.ToLower(
			instanceMetadataNotAllowedCharacters.ReplaceAllLiteralString(label, "_"),
		)
		igMeta[sanitizedLabel] = labelVal
	}
	if !ig.Spec.Role.HasBastion() {
		// Bastion does not belong to the cluster.
		igMeta[openstack.TagClusterName] = b.ClusterName()
	}
	igMeta["k8s"] = b.ClusterName()
	netName, err := b.GetNetworkName()
	if err != nil {
		return err
	}
	igMeta[openstack.TagKopsNetwork] = netName
	igMeta[openstack.TagKopsInstanceGroup] = ig.Name

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the wrapped error for the underlying cause
  2. Ensure the instance group and cluster specs are complete (name, role, generation metadata)
  3. Re-run `kops update cluster --target openstack` after fixing the reported metadata issue
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at pkg/model/openstackmodel/servergroup.go:96 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/7d03c9a3dfcde36c. Report an issue: GitHub.