[Kimchi-devel] [PATCHv6 1/2] utils: Add nfs prevalication

Aline Manera alinefm at linux.vnet.ibm.com
Mon Jan 20 17:20:17 UTC 2014


Reviewed-by: Aline Manera <alinefm at linux.vnet.ibm.com>

On 01/20/2014 11:11 AM, lvroyce0210 at gmail.com wrote:
> From: Royce Lv <lvroyce at linux.vnet.ibm.com>
>
> Abstract a helper function to parse cmd result.
> Usage:
>      (1)get cmd result with subprocess.call or subprocess.Popen
>      (2) call pass_cmd_output to get formated outputs
> Example:
>      blkid = subprocess.Popen(["cat", "/proc/mounts"],
>                  stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>      outs = blkid.communicate()[0]
>      output_items= ['path', 'mnt_point', 'type', 'option']
>          utils.parse_cmd_output(outs, output_items)
> Sample output:
>      [{'path': '/dev/sda8', 'type': 'ext4',
>        'option': 'rw,relatime,data=ordered', 'mnt_point': '/home'},
>       {'path': 'localhost:/home/royce/isorepo', 'type': 'nfs4',
>        'option': 'rw...addr=127.0.0.1', 'mnt_point': '/mnt'}]
>
>      To prevent future mount of nfs path will hang,
>      we will try nfs path with a quick mount,
>      if this check fails, report warning to user.
>
> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
> ---
>   src/kimchi/utils.py | 8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/src/kimchi/utils.py b/src/kimchi/utils.py
> index 331da91..5d6e8ea 100644
> --- a/src/kimchi/utils.py
> +++ b/src/kimchi/utils.py
> @@ -154,3 +154,11 @@ def run_command(cmd, timeout=None):
>       finally:
>           if timer and not timeout_flag[0]:
>               timer.cancel()
> +
> +
> +def parse_cmd_output(output, output_items):
> +    res = []
> +    for line in output.split("\n"):
> +        res.append(dict(zip(output_items, line.split())))
> +
> +    return res




More information about the Kimchi-devel mailing list