mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
EtcdHelper.decodeList was not properly returning errors
This commit is contained in:
parent
02bfcd6b6d
commit
3a89883223
@ -164,8 +164,7 @@ func (h *EtcdHelper) ExtractList(key string, slicePtr interface{}, resourceVersi
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
h.decodeNodeList(nodes, slicePtr)
|
return h.decodeNodeList(nodes, slicePtr)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// decodeNodeList walks the tree of each node in the list and decodes into the specified object
|
// decodeNodeList walks the tree of each node in the list and decodes into the specified object
|
||||||
@ -178,18 +177,19 @@ func (h *EtcdHelper) decodeNodeList(nodes []*etcd.Node, slicePtr interface{}) er
|
|||||||
v := pv.Elem()
|
v := pv.Elem()
|
||||||
for _, node := range nodes {
|
for _, node := range nodes {
|
||||||
if node.Dir {
|
if node.Dir {
|
||||||
h.decodeNodeList(node.Nodes, slicePtr)
|
if err := h.decodeNodeList(node.Nodes, slicePtr); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
obj := reflect.New(v.Type().Elem())
|
obj := reflect.New(v.Type().Elem())
|
||||||
err := h.Codec.DecodeInto([]byte(node.Value), obj.Interface().(runtime.Object))
|
if err := h.Codec.DecodeInto([]byte(node.Value), obj.Interface().(runtime.Object)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if h.ResourceVersioner != nil {
|
if h.ResourceVersioner != nil {
|
||||||
_ = h.ResourceVersioner.SetResourceVersion(obj.Interface().(runtime.Object), node.ModifiedIndex)
|
_ = h.ResourceVersioner.SetResourceVersion(obj.Interface().(runtime.Object), node.ModifiedIndex)
|
||||||
// being unable to set the version does not prevent the object from being extracted
|
// being unable to set the version does not prevent the object from being extracted
|
||||||
}
|
}
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
v.Set(reflect.Append(v, obj.Elem()))
|
v.Set(reflect.Append(v, obj.Elem()))
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -203,13 +203,11 @@ func (h *EtcdHelper) ExtractToList(key string, listObj runtime.Object) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = h.ExtractList(key, listPtr, &resourceVersion)
|
if err := h.ExtractList(key, listPtr, &resourceVersion); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if h.ResourceVersioner != nil {
|
if h.ResourceVersioner != nil {
|
||||||
err = h.ResourceVersioner.SetResourceVersion(listObj, resourceVersion)
|
if err := h.ResourceVersioner.SetResourceVersion(listObj, resourceVersion); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user