kubernetes/kops · error

error creating cloud instance group member: %s

Error message

error creating cloud instance group member: %s

What it means

CloudInstanceGroup.NewCloudInstance rejected a scale-set VM ID (duplicate member or invalid ID) while adding members to the Azure cloud instance group. The failing VM is identified in the wrapped error.

Source

Thrown at upup/pkg/fi/cloudup/azure/status.go:192

	// Add members (VMs) to the Cloud Instance Group.
	vms, err := c.vmscaleSetVMsClient.List(ctx, cluster.AzureResourceGroupName(), *vmss.Name)
	if err != nil {
		return nil, fmt.Errorf("error querying VM ScaleSet VMs: %s", err)
	}
	for _, vm := range vms {
		// TODO(kenji): Ignore an instance that is being terminated.

		// kOps uses a Manual scale set upgrade policy, so latestModelApplied remains false until a
		// rolling update replaces the VM. Missing values are treated as up-to-date to prevent
		// incomplete Azure data from triggering a rolling update.
		status := cloudinstances.CloudInstanceStatusUpToDate
		if vm.Properties != nil && vm.Properties.LatestModelApplied != nil && !*vm.Properties.LatestModelApplied {
			status = cloudinstances.CloudInstanceStatusNeedsUpdate
		}
		_, err := cg.NewCloudInstance(*vm.Name, status, nodeMap[*vm.Name])
		if err != nil {
			return nil, fmt.Errorf("error creating cloud instance group member: %s", err)
		}
		// TODO(kenji): Set addCloudInstanceData.
	}

	return cg, nil
}

func isOwnedByCluster(vmss *compute.VirtualMachineScaleSet, clusterName string) bool {
	for k, v := range vmss.Tags {
		if k == TagClusterName && *v == clusterName {
			return true
		}
	}
	return false
}

// keyedByName creates a map of instance groups keyed by VM Scale Set names.
func keyedByName(instancegroups []*kops.InstanceGroup, clusterName string) (map[string]*kops.InstanceGroup, error) {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the wrapped error for duplicate registration of the VM
  2. Verify the VM resource ID format matches the expected scale-set VM ID pattern
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/azure/status.go:192 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/87f7843b8fb35cf6. Report an issue: GitHub.