Skip to content

[CRD Upgrade Safety] Message output use the human readable value instead of exact bytes  #1248

@KeenonLee

Description

@KeenonLee

When upgrading a CRD,
A new default value is added to a field that did not previously have a default value
The default value of a field is changed
An existing default value of a field is removed

This looks like it is behaving properly but the exact message output seems pretty unhelpful since it seems to be giving the exact bytes instead of a human readable value.
we get an output similar to:

message: 'validating upgrade for CRD "nginxolm75124s.cache.example.com" failed:
      CustomResourceDefinition nginxolm75124s.cache.example.com failed upgrade safety
      validation. "ChangeValidator" validation failed: version "v1alpha1", field "^.spec.field":
      new value added as default when previously no default value existed: &JSON{Raw:*[34
      100 101 102 97 117 108 116 45 115 116 114 105 110 103 45 106 105 116 108 105
      34],}'
message: 'validating upgrade for CRD "nginxolm75124s.cache.example.com" failed:
      CustomResourceDefinition nginxolm75124s.cache.example.com failed upgrade safety
      validation. "ChangeValidator" validation failed: version "v1alpha1", field "^.spec.defaultenum":
      default value has been changed from [34 118 97 108 117 101 49 34] to [34 118
      97 108 117 101 51 34]'
message: 'validating upgrade for CRD "nginxolm75124s.cache.example.com" failed:
      CustomResourceDefinition nginxolm75124s.cache.example.com failed upgrade safety
      validation. "ChangeValidator" validation failed: version "v1alpha1", field "^.spec.defaultint":
      default value has been removed when previously a default value existed: [57]'

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions