'run buildah executable
:param cmd: buildah\'s command to execute (str)
:param cmd_args: list of arguments to pass to the command (list of str/bytes)
:param in_data: data passed to buildah\'s stdin
:return: return code, stdout, stderr'

def _buildah(self, cmd, cmd_args=None, in_data=None):

    local_cmd = ['buildah', cmd, '--', self._container_id]
    if cmd_args:
        local_cmd += cmd_args
    local_cmd = [to_bytes(i, errors='surrogate_or_strict') for i in local_cmd]
    display.vvv(('RUN    %s' % (local_cmd,)), host=self._container_id)
    p = subprocess.Popen(local_cmd, shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    (stdout, stderr) = p.communicate(input=in_data)
    stdout = to_bytes(stdout, errors='surrogate_or_strict')
    stderr = to_bytes(stderr, errors='surrogate_or_strict')
    return (p.returncode, stdout, stderr)
