Bug 1868065 - oc -o jsonpath prints possible warning / bug "Unable to decode server response into a Table" [NEEDINFO]
Summary: oc -o jsonpath prints possible warning / bug "Unable to decode server respons...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: oc
Version: 4.6
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: 4.7.0
Assignee: Sally
QA Contact: zhou ying
URL:
Whiteboard: LifecycleReset
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-08-11 14:45 UTC by Clayton Coleman
Modified: 2021-02-24 15:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-02-24 15:15:27 UTC
Target Upstream Version:
Embargoed:
mfojtik: needinfo?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:5633 0 None None None 2021-02-24 15:15:56 UTC

Description Clayton Coleman 2020-08-11 14:45:15 UTC
Using latest oc master against 4.4.11, the following command fails to print output and should always print success:

$ oc get clusterversion -o 'jsonpath={.status.desired.version}' -v=8
I0811 10:42:45.488242   41937 loader.go:375] Config loaded from file:  /home/clayton/.kube/ci.kubeconfig
I0811 10:42:45.492733   41937 round_trippers.go:420] GET https://api.ci.openshift.org:443/apis/config.openshift.io/v1/clusterversions?limit=500
I0811 10:42:45.492749   41937 round_trippers.go:427] Request Headers:
I0811 10:42:45.492762   41937 round_trippers.go:431]     Accept: application/json
I0811 10:42:45.492768   41937 round_trippers.go:431]     User-Agent: oc/v4.2.0 (linux/amd64) kubernetes/1518fe5
I0811 10:42:45.492775   41937 round_trippers.go:431]     Authorization: Bearer <masked>
I0811 10:42:45.656053   41937 round_trippers.go:446] Response Status: 200 OK in 163 milliseconds
I0811 10:42:45.656069   41937 round_trippers.go:449] Response Headers:
I0811 10:42:45.656074   41937 round_trippers.go:452]     Cache-Control: no-store
I0811 10:42:45.656080   41937 round_trippers.go:452]     Content-Type: application/json
I0811 10:42:45.656087   41937 round_trippers.go:452]     Content-Length: 194
I0811 10:42:45.656093   41937 round_trippers.go:452]     Date: Tue, 11 Aug 2020 14:42:45 GMT
I0811 10:42:45.656119   41937 request.go:1097] Response Body: {"apiVersion":"config.openshift.io/v1","items":[],"kind":"ClusterVersionList","metadata":{"continue":"","resourceVersion":"915566766","selfLink":"/apis/config.openshift.io/v1/clusterversions"}}
I0811 10:42:45.656322   41937 table_printer.go:45] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object
$

This is a fundamental regression with wide ranging impact to scripting and administrative use and could silently break or cause failures in production workloads on upgrade.  While we may officially support N-1, we treat regressions like this as blockers. I consider this a 4.6 release blocker and may not be deferred without significant justification.

Comment 1 Clayton Coleman 2020-08-11 14:52:30 UTC
This is user error, not a break. Discovered that I was incorrectly mapping in a list context in a script.

Comment 2 Clayton Coleman 2020-08-11 14:56:06 UTC
Reopening just for the warning (which was not the cause below) at a lower severity.

$ oc get clusterversion -o 'jsonpath={.items[*].status.desired.version}' -v=8
I0811 10:53:44.263037   48614 loader.go:375] Config loaded from file:  /home/clayton/.kube/ci-app.kubeconfig
I0811 10:53:44.270470   48614 round_trippers.go:420] GET https://api.ci.l2s4.p1.openshiftapps.com:6443/apis/config.openshift.io/v1/clusterversions?limit=500
I0811 10:53:44.270491   48614 round_trippers.go:427] Request Headers:
I0811 10:53:44.270501   48614 round_trippers.go:431]     Accept: application/json
I0811 10:53:44.270506   48614 round_trippers.go:431]     User-Agent: oc/v4.2.0 (linux/amd64) kubernetes/1518fe5
I0811 10:53:44.270512   48614 round_trippers.go:431]     Authorization: Bearer <masked>
I0811 10:53:44.396516   48614 round_trippers.go:446] Response Status: 200 OK in 125 milliseconds
I0811 10:53:44.396528   48614 round_trippers.go:449] Response Headers:
I0811 10:53:44.396533   48614 round_trippers.go:452]     Audit-Id: 581e30a7-f3c2-4465-af46-0c916d3ea6cf
I0811 10:53:44.396539   48614 round_trippers.go:452]     Content-Type: application/json
I0811 10:53:44.396545   48614 round_trippers.go:452]     Content-Length: 3184
I0811 10:53:44.396551   48614 round_trippers.go:452]     Date: Tue, 11 Aug 2020 14:53:44 GMT
I0811 10:53:44.396606   48614 request.go:1097] Response Body: {"apiVersion":"config.openshift.io/v1","items":[{"apiVersion":"config.openshift.io/v1","kind":"ClusterVersion","metadata":{"creationTimestamp":"2020-04-16T19:10:55Z","generation":5,"name":"version","resourceVersion":"125280416","selfLink":"/apis/config.openshift.io/v1/clusterversions/version","uid":"7470fa17-d654-49af-b99b-f8a4c16a0e1f"},"spec":{"channel":"stable-4.4","clusterID":"248ca8f0-5af8-4a45-a153-d2d9125390dd","desiredUpdate":{"version":"4.4.11"},"upstream":"https://api.openshift.com/api/upgrades_info/v1/graph"},"status":{"availableUpdates":[{"force":false,"image":"quay.io/openshift-release-dev/ocp-release@sha256:1b15aef0cf352b49be0b22f273663719dfdc111737e58a9080595623e47d7dd8","version":"4.4.13"},{"force":false,"image":"quay.io/openshift-release-dev/ocp-release@sha256:74b5cefea8c8bac158468458dbcb0fdb213aafdcf5b11c9aaefc75e2f7b9fe96","version":"4.4.16"},{"force":false,"image":"quay.io/openshift-release-dev/ocp-release@sha256:83ac468a022d681475f3016858de4bc917c2ea214bee395f8f4210f4784aafd7","version":" [truncated 2160 chars]
I0811 10:53:44.397656   48614 table_printer.go:45] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object
4.4.11

returns the correct output "4.4.11" from the example above, but the error continues to print.  We should understand why this warning is being printed in a jsonpath context (it should not, because jsonpath printer shouldn't need tabular output).  This might be breaking other printer logic.  I would expect to not see this warning and for us to not request tabular output (which from the debug above looks like we aren't doing).

Comment 3 Sally 2020-08-12 19:18:14 UTC
opened this upstream: https://github.com/kubernetes/kubernetes/pull/93940

Comment 4 Sally 2020-08-20 14:32:25 UTC
waiting on upstream merge, then will be pulled into oc with next vendor bump.

Comment 5 Sally 2020-09-11 13:43:50 UTC
Next vendor bump to kubernetes 1.20 will bring this in. Moving to upcoming sprint.

Comment 6 Sally 2020-10-01 21:35:25 UTC
We will not carry a patch for this, still waiting on next vendor bump.

Comment 7 Sally 2020-10-23 17:41:29 UTC
Still waiting on next vendor bump to bring in the fix:  https://github.com/kubernetes/kubernetes/pull/93940

Comment 8 Sally 2020-11-12 17:15:02 UTC
Still waiting on bump to kubernetes 1.20, adding UpcomingSprint.

Comment 9 Michal Fojtik 2020-11-22 18:12:05 UTC
This bug hasn't had any activity in the last 30 days. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're marking this bug as "LifecycleStale" and decreasing the severity/priority. If you have further information on the current state of the bug, please update it, otherwise this bug can be closed in about 7 days. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. Additionally, you can add LifecycleFrozen into Keywords if you think this bug should never be marked as stale. Please consult with bug assignee before you do that.

Comment 10 Maciej Szulik 2020-11-23 09:54:34 UTC
This should merge in https://github.com/openshift/oc/pull/648

Comment 11 Sally 2020-12-05 00:38:17 UTC
Added upcoming sprint to track the vendor bump

Comment 12 Michal Fojtik 2021-01-04 00:58:24 UTC
This bug hasn't had any activity in the last 30 days. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're marking this bug as "LifecycleStale" and decreasing the severity/priority. If you have further information on the current state of the bug, please update it, otherwise this bug can be closed in about 7 days. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. Additionally, you can add LifecycleFrozen into Keywords if you think this bug should never be marked as stale. Please consult with bug assignee before you do that.

Comment 13 Sally 2021-01-14 23:36:46 UTC
The fix has landed in oc, moving to Modified. QA, please verify, thanks!

Comment 14 Michal Fojtik 2021-01-14 23:38:53 UTC
The LifecycleStale keyword was removed because the bug moved to QE and the bug got commented on recently.
The bug assignee was notified.

Comment 16 zhou ying 2021-01-19 03:47:12 UTC
Can't reproduce now: 

[root@dhcp-140-138 roottest]# oc get clusterversion -o 'jsonpath={.status.desired.version}' -v=8
I0119 11:31:50.083269   14380 loader.go:379] Config loaded from file:  /home/roottest/kubeconfig
I0119 11:31:50.093799   14380 round_trippers.go:422] GET https://api.ugd1922187902.qe.gcp.devcluster.openshift.com:6443/apis/config.openshift.io/v1/clusterversions?limit=500
I0119 11:31:50.093822   14380 round_trippers.go:429] Request Headers:
I0119 11:31:50.093831   14380 round_trippers.go:433]     User-Agent: oc/4.7.0 (linux/amd64) kubernetes/4d52be6
I0119 11:31:50.093837   14380 round_trippers.go:433]     Accept: application/json
I0119 11:31:50.788148   14380 round_trippers.go:448] Response Status: 200 OK in 694 milliseconds
I0119 11:31:50.788176   14380 round_trippers.go:451] Response Headers:
I0119 11:31:50.788189   14380 round_trippers.go:454]     Audit-Id: 1b2c619a-34ce-4c7b-a920-52d8b5a3554b
I0119 11:31:50.788201   14380 round_trippers.go:454]     Content-Type: application/json
I0119 11:31:50.788213   14380 round_trippers.go:454]     Content-Length: 3316
I0119 11:31:50.788224   14380 round_trippers.go:454]     Date: Tue, 19 Jan 2021 03:31:50 GMT
I0119 11:31:50.788299   14380 request.go:1107] Response Body: {"apiVersion":"config.openshift.io/v1","items":[{"apiVersion":"config.openshift.io/v1","kind":"ClusterVersion","metadata":{"creationTimestamp":"2021-01-19T00:34:47Z","generation":2,"name":"version","resourceVersion":"145427","selfLink":"/apis/config.openshift.io/v1/clusterversions/version","uid":"d8f26a67-e271-43c5-bdcc-0763b2e4c412"},"spec":{"channel":"stable-4.4","clusterID":"14f54d66-e34b-4b71-bb3a-20592f063d95","desiredUpdate":{"force":true,"image":"registry.ci.openshift.org/ocp/release:4.4.0-0.nightly-2021-01-18-204807","version":""},"upstream":"https://api.openshift.com/api/upgrades_info/v1/graph"},"status":{"availableUpdates":null,"conditions":[{"lastTransitionTime":"2021-01-19T00:57:45Z","message":"Done applying 4.4.0-0.nightly-2021-01-18-204807","status":"True","type":"Available"},{"lastTransitionTime":"2021-01-19T03:19:14Z","status":"False","type":"Failing"},{"lastTransitionTime":"2021-01-19T03:22:29Z","message":"Cluster version is 4.4.0-0.nightly-2021-01-18-204807","status":"False","type":"Progress [truncated 2292 chars]
[root@dhcp-140-138 roottest]# oc version 
Client Version: 4.7.0-202101162121.p0-4d52be6
Server Version: 4.4.0-0.nightly-2021-01-18-204807
Kubernetes Version: v1.17.1+f06151f

Comment 19 errata-xmlrpc 2021-02-24 15:15:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:5633


Note You need to log in before you can comment on or make changes to this bug.