def METHOD_NAME( cmd, tag=None):
    tagstr = '' if tag is None else f' {tag}'
    logger.info( f'Calling{tagstr} {cmd}')
    # bufsize=1 means line buffered
    with subprocess.Popen( [cmd], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, encoding='utf-8', universal_newlines=True, bufsize=1) as p:
        for line in p.stdout:
            line = line.rstrip( '\n')
            logger.info(line)
        p.wait()
        if p.returncode != 0:
            logger.info( f'Failed {p.returncode}{tagstr} {cmd}')
            exit(p.returncode)
        else:
            logger.info( f'Finished{tagstr} {cmd}')