kubernetes/kops · error

%s

Error message

%s

What it means

In edit-instancegroup's non-interactive --set/--unset path, updateInstanceGroup returned a non-empty failure string from validation while applying the edited spec. This guard converts that failure text into an error, mirroring edit-cluster behavior.

Source

Thrown at cmd/kops/edit_instancegroup.go:162

	if oldGroup == nil {
		return fmt.Errorf("InstanceGroup %q not found", groupName)
	}

	if len(options.Unsets)+len(options.Sets) > 0 {
		newGroup := oldGroup.DeepCopy()
		if err := commands.UnsetInstancegroupFields(options.Unsets, newGroup); err != nil {
			return err
		}
		if err := commands.SetInstancegroupFields(options.Sets, newGroup); err != nil {
			return err
		}

		failure, err := updateInstanceGroup(ctx, clientset, channel, cluster, newGroup)
		if err != nil {
			return err
		}
		if failure != "" {
			return fmt.Errorf("%s", failure)
		}
		return nil
	}

	editor := editor.NewDefaultEditor(commandutils.EditorEnvs)

	ext := "yaml"
	raw, err := kopscodecs.ToVersionedYaml(oldGroup)
	if err != nil {
		return err
	}

	var (
		results = editResults{}
		edited  = []byte{}
		file    string
	)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Read the failure text for the specific validation problem
  2. Fix the --set/--unset expressions and retry
  3. Use the interactive editor for fuller feedback
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cmd/kops/edit_instancegroup.go:162 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/1a6d93c45c2c8da9. Report an issue: GitHub.