Change:
makes API server accepts DeleteOptions as a query parameter, but APIserver cannot parse , which is a new field in 1.6. Probably it's a bug in the parameterCodec. cc
IMO this is not a 1.6 release blocker
does this apply to all DeleteOptions fields? does a 1.5 server handle the orphanDependents field sent by correctly?
No, is handled correctly by the apiserver built from head. And for , because our generated clients still encode DeleteOptions as body, so they are not affected.
- we can close this one right?
/sig api-machinery
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten /remove-lifecycle stale
Why was this closed? I'm using a Kubernetes 1.9 cluster and this is still an issue. If I pass propagationPolicy as part of the query string (as per the documentation), I still receive the same error message. If I pass a DeleteOptions object with the propagationPolicy within, it works.
Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-testing, kubernetes/test-infra and/or . /close
what documentation were you referring to? Is it the openapi doc? I don't know if we can just deprecate the support of query parameters for DELETE. I understand it's a breaking change, but it has been broken for a year.
Everything in delete needs to be moved to query parameters (unfortunately) as it is apparently non-standard to have a body in a delete request. Chao Xu <:
/reopen
/remove-lifecycle rotten
cc
/assign
The DELETE operation states that propagationPolicy is a query parameter. Is correct that it's non-standard to have a body on a delete request.
GKE default version is still 1.9.7

Discussion:
Convert_unversioned_LabelSelector_to_map, Convert_Slice_string_To_Slice_int32, <ins> Convert_Slice_string_To_v1_DeletionPropagation, </ins> ) }

} return nil } <ins> // Convert_Slice_string_To_v1_DeletionPropagation allows converting a URL query parameter propagationPolicy func Convert_Slice_string_To_v1_DeletionPropagation(input *[]string, out *DeletionPropagation, s conversion.Scope) error { if len(*input) > 0 { *out = DeletionPropagation((*input)[0]) } else { *out = "" } return nil } </ins>

} } } <ins> func TestConvertSliceStringToDeletionPropagation(t *testing.T) { tcs := []struct { Input  []string Output v1.DeletionPropagation }{ { Input:  nil, Output: "", }, { Input:  []string{}, Output: "", }, { Input:  []string{"foo"}, Output: "foo", }, { Input:  []string{"bar", "foo"}, Output: "bar", }, } for _, tc := range tcs { var dp v1.DeletionPropagation if err := v1.Convert_Slice_string_To_v1_DeletionPropagation(&tc.Input, &dp, nil); err != nil { t.Errorf("Convert_Slice_string_To_v1_DeletionPropagation(%#v): %v", tc.Input, err) continue } if !apiequality.Semantic.DeepEqual(dp, tc.Output) { t.Errorf("slice string to DeletionPropagation conversion failed: got %v; want %v", dp, tc.Output) } } } </ins>