kubernetes: Invalid listTypes in FlowSchema cause errors in apiserver logs

In the kind flowcontrol.apiserver.k8s.io/v1alpha1.FlowSchema, the fields .spec.rules, .spec.rules[].subjects, .spec.rules[].resourceRules, and .spec.rules[].nonResourceRules are all tagged with +listType=set, but their elements are non-scalar, which is not currently supported. This causes errors messages like:

[SHOULD NOT HAPPEN] failed to create typed new object: .spec.rules: element 0: associative list without keys has an element that's a map type

to appear in apiserver logs when the feature is enabled, and also prevents server side apply from working with this type. Changing these tags to +listType=atomic should fix the issue.

/cc @lavalamp @apelisse

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 26 (24 by maintainers)

Most upvoted comments

Odd, I thought I did some testing and did not get that error message. I concluded that on the other occasions when I did see that error, it was about some other type. Would it be possible to make that error message name the type it is complaining about?