<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def virsh_per_domain_info(self,
                              **kwargs):
        '''
        Get per domain stats from each hosts passed as hostlist.
        '''
        host_list = kwargs.get('host_list', self.host_list)
        remote_user = kwargs.get('remote_user', self.remote_user)
        remote_pass = kwargs.get('remote_pass', self.remote_pass)
        sudo = kwargs.get('sudo', self.sudo)
        sudo_user = kwargs.get('sudo_user', self.sudo_user)
        sudo_pass = kwargs.get('sudo_pass', self.sudo_pass)

        result, failed_hosts = self.runner.ansible_perform_operation(
            host_list=host_list,
            remote_user=remote_user,
            remote_pass=remote_pass,
            module="command",
            module_args="virsh list",
            sudo=sudo,
            sudo_user=sudo_user,
            sudo_pass=sudo_pass)

        virsh_result = None

        fields = ["Id", "Name", "state"]

        if result['contacted'].keys():
            virsh_result = {}
            for node in result['contacted'].keys():
                nodeobj = result['contacted'][node]
                jsonoutput = rex.parse_tabular_string(nodeobj['stdout'],
                                                      fields)
                virsh_result[node] = {}
                virsh_result[node]['result'] = jsonoutput

        print virsh_result


        return virsh_result