Sem as tarefas que geraram o erro "AnsibleUndefinedVariable: 'unicode object' has no attribute 'name'" , é difícil dizer o que deu errado aqui. Não consigo reproduzir esse erro, então acho que é um bug no módulo que você está usando.
Além da já citada lista de known public attributes Não há mais regras que eu saiba. Mesmo usando known public attributes não levou a erros nos meus testes.
A Ansible tem o conceito de Variáveis mágicas , que são basicamente apenas fatos coletados pelo módulo setup . Você pode obter uma lista do magic variables executando o módulo setup no host.
Não há variáveis global e local no Ansible no sentido de types . Variáveis no Ansible têm scope . O escopo de uma variável depende de onde ela está definida. Dê uma olhada em a documentação para precedência variável .