Merge pull request #75277 from jennybuckley/fix-ints

Fix server side apply int/float bug
pull/564/head
Kubernetes Prow Robot 2019-03-12 17:36:40 -07:00 committed by GitHub
commit 93402fc8e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 3 deletions

View File

@ -105,7 +105,12 @@ func (c *typeConverter) YAMLToTyped(from []byte) (typed.TypedValue, error) {
return nil, fmt.Errorf("error decoding YAML: %v", err)
}
return c.ObjectToTyped(unstructured)
gvk := unstructured.GetObjectKind().GroupVersionKind()
t := c.parser.Type(gvk)
if t == nil {
return nil, fmt.Errorf("no corresponding type for %v", gvk)
}
return t.FromYAML(typed.YAMLObject(string(from)))
}
func (c *typeConverter) TypedToObject(value typed.TypedValue) (runtime.Object, error) {

View File

@ -68,7 +68,6 @@ metadata:
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
@ -91,7 +90,6 @@ metadata:
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx

View File

@ -119,6 +119,19 @@ func TestApplyAlsoCreates(t *testing.T) {
if err != nil {
t.Fatalf("Failed to retrieve object: %v", err)
}
// Test that we can re apply with a different field manager and don't get conflicts
_, err = client.CoreV1().RESTClient().Patch(types.ApplyPatchType).
Namespace("default").
Resource(tc.resource).
Name(tc.name).
Param("fieldManager", "apply_test_2").
Body([]byte(tc.body)).
Do().
Get()
if err != nil {
t.Fatalf("Failed to re-apply object using Apply patch: %v", err)
}
}
}