• 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
..
README.md Loading commit data...
lvm Loading commit data...
nfs Loading commit data...
nginx-nfs.yaml Loading commit data...
nginx.yaml Loading commit data...