• Kubernetes Submit Queue's avatar
    Merge pull request #47066 from php-coder/improve_nfs_flex_volume_script · 57414d9b
    Kubernetes Submit Queue authored
    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
    57414d9b
Name
Last commit
Last update
..
aws_ebs Loading commit data...
azure_disk Loading commit data...
azure_file Loading commit data...
cephfs Loading commit data...
cinder Loading commit data...
fibre_channel Loading commit data...
flexvolume Loading commit data...
flocker Loading commit data...
glusterfs Loading commit data...
iscsi Loading commit data...
nfs Loading commit data...
portworx Loading commit data...
quobyte Loading commit data...
rbd Loading commit data...
scaleio Loading commit data...
storageos Loading commit data...
vsphere Loading commit data...