fix(kube): find current resource by name and kind

This resolves #1210. Update will find current resource
by name and kind for comparison purposes.
pull/1385/head
Michelle Noorali 9 years ago
parent bb2511a41b
commit a8418dd75b

@ -176,6 +176,7 @@ func (c *Client) Update(namespace string, currentReader, targetReader io.Reader)
return err return err
} }
resourceName := info.Name resourceName := info.Name
resourceKind := info.Mapping.GroupVersionKind.Kind
helper := resource.NewHelper(info.Client, info.Mapping) helper := resource.NewHelper(info.Client, info.Mapping)
if _, err := helper.Get(info.Namespace, resourceName, info.Export); err != nil { if _, err := helper.Get(info.Namespace, resourceName, info.Export); err != nil {
@ -193,7 +194,7 @@ func (c *Client) Update(namespace string, currentReader, targetReader io.Reader)
return nil return nil
} }
currentObj, err := getCurrentObject(resourceName, currentInfos) currentObj, err := getCurrentObject(resourceName, resourceKind, currentInfos)
if err != nil { if err != nil {
return err return err
} }
@ -453,10 +454,11 @@ func deleteUnwantedResources(currentInfos, targetInfos []*resource.Info) {
} }
} }
func getCurrentObject(targetName string, infos []*resource.Info) (runtime.Object, error) { func getCurrentObject(targetName, targetKind string, infos []*resource.Info) (runtime.Object, error) {
var curr *resource.Info var curr *resource.Info
for _, currInfo := range infos { for _, currInfo := range infos {
if currInfo.Name == targetName { currKind := currInfo.Mapping.GroupVersionKind.Kind
if currInfo.Name == targetName && currKind == targetKind {
curr = currInfo curr = currInfo
} }
} }

Loading…
Cancel
Save