Unverified Commit 22190954 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #63966 from mfojtik/cli-01-fix-flatten

Automatic merge from submit-queue (batch tested with PRs 63871, 63927, 63966, 63957, 63844). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. kubectl: fix Flatten() when used without Latest() **What this PR does / why we need it**: If `Flatten()` is used on resource builder the list is not flattened unless the `Latest()` is used in the chain. We should support `Flatten()` without Latest() as well. For example: ``` $ oc apply -l foo=bar -f /tmp/list.yaml ``` will fail with: ``` F0517 13:45:07.831195 31795 helpers.go:119] error: object does not implement the Object interfaces ``` **Release note**: ```release-note NONE ```
parents 98bab89f 390b60f1
...@@ -1022,12 +1022,12 @@ func (b *Builder) visitByPaths() *Result { ...@@ -1022,12 +1022,12 @@ func (b *Builder) visitByPaths() *Result {
visitors = VisitorList(b.paths) visitors = VisitorList(b.paths)
} }
if b.flatten {
visitors = NewFlattenListVisitor(visitors, b.objectTyper, b.mapper)
}
// only items from disk can be refetched // only items from disk can be refetched
if b.latest { if b.latest {
// must flatten lists prior to fetching
if b.flatten {
visitors = NewFlattenListVisitor(visitors, b.objectTyper, b.mapper)
}
// must set namespace prior to fetching // must set namespace prior to fetching
if b.defaultNamespace { if b.defaultNamespace {
visitors = NewDecoratedVisitor(visitors, SetNamespace(b.namespace)) visitors = NewDecoratedVisitor(visitors, SetNamespace(b.namespace))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment