mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-06-12 18:31:09 -04:00
Automatic merge from submit-queue
examples/volumes/flexvolume/nfs: check for jq and simplify quoting
**What this PR does / why we need it**:
This PR improves error reporting of the nfs flex plugin script. Before it output non-JSON error, when `jq` wasn't installed on the server:
```
$ /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s~nfs/nfs getvolumename test
/usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s~nfs/nfs: line 87: jq: command not found
/usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s~nfs/nfs: line 88: jq: command not found
{"status": "Success", "volumeName": "/"}
```
K8s fails to unmarshal such output to show an error in the logs:
>E0606 19:32:30.196262 25700 driver-call.go:212] Failed to unmarshal output for command: getvolumename, output: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs: line 87: jq: command not found\n/usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs: line 88: jq: command not found\n{\"status\": \"Success\", \"volumeName\": \"/\"}", error: invalid character '/' looking for beginning of value
After this change:
```sh
$ /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s~nfs/nfs getvolumename test
{ "status": "Failure", "message": "'jq' binary not found. Please install jq package before using this driver"}
```
and
> E0606 19:52:07.915594 25700 driver-call.go:219] getvolumename command failed, status: Failure, reason: 'jq' binary not found. Please install jq package before using this driver
Also this PR improves quoting a bit by using single quotes where it possible.
**Release note**:
```release-note
NONE
```
CC @mfojtik
|
||
|---|---|---|
| .. | ||
| cluster-dns | ||
| cockroachdb | ||
| elasticsearch | ||
| explorer | ||
| guestbook | ||
| guestbook-go | ||
| https-nginx | ||
| javaee | ||
| javaweb-tomcat-sidecar | ||
| job | ||
| kubectl-container | ||
| meteor | ||
| mysql-cinder-pd | ||
| mysql-wordpress-pd | ||
| newrelic | ||
| nodesjs-mongodb | ||
| oms | ||
| openshift-origin | ||
| persistent-volume-provisioning | ||
| phabricator | ||
| podsecuritypolicy/rbac | ||
| runtime-constraints | ||
| selenium | ||
| sharing-clusters | ||
| spark | ||
| storage | ||
| storm | ||
| sysdig-cloud | ||
| volumes | ||
| BUILD | ||
| doc.go | ||
| examples_test.go | ||
| guidelines.md | ||
| OWNERS | ||
| pod | ||
| README.md | ||
| scheduler-policy-config-with-extender.json | ||
| scheduler-policy-config.json | ||
| simple-nginx.md | ||
This file has moved to https://github.com/kubernetes/examples/blob/master/README.md