kubernetes/kops · error

error parsing actual Policy for SQS %q: %v

Error message

error parsing actual Policy for SQS %q: %v

What it means

The queue's actual Policy attribute on AWS is not valid JSON, so the normalized expected-vs-actual policy comparison fails; the queue carries a hand-edited or corrupted policy.

Source

Thrown at upup/pkg/fi/cloudup/awstasks/sqs.go:116

	if err != nil {
		return nil, fmt.Errorf("error listing SQS queue tags: %v", err)
	}

	// We parse both as JSON; if the json forms are equal we pretend the actual value is the expected value
	if q.Policy != nil {
		expectedPolicy, err := fi.ResourceAsString(q.Policy)
		if err != nil {
			return nil, fmt.Errorf("error reading expected Policy for SQS %q: %v", aws.ToString(q.Name), err)
		}
		expectedJson := make(map[string]interface{})
		err = json.Unmarshal([]byte(expectedPolicy), &expectedJson)
		if err != nil {
			return nil, fmt.Errorf("error parsing expected Policy for SQS %q: %v", aws.ToString(q.Name), err)
		}
		actualJson := make(map[string]interface{})
		err = json.Unmarshal([]byte(actualPolicy), &actualJson)
		if err != nil {
			return nil, fmt.Errorf("error parsing actual Policy for SQS %q: %v", aws.ToString(q.Name), err)
		}

		if err := normalizePolicy(expectedJson); err != nil {
			return nil, err
		}
		if err := normalizePolicy(actualJson); err != nil {
			return nil, err
		}

		if reflect.DeepEqual(actualJson, expectedJson) {
			klog.V(2).Infof("actual Policy was json-equal to expected; returning expected value")
			actualPolicy = expectedPolicy
			q.Policy = fi.NewStringResource(expectedPolicy)
		}

	}

	actual := &SQS{

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Fix or clear the queue's Policy attribute in AWS so it is valid JSON
  2. Or align the expected policy so it matches and overwrites the malformed one
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/sqs.go:116 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/46a8f709450bc0ee. Report an issue: GitHub.