Ansible skipping other hosts

Hi,
I have some tasks in a role that creates .ssh directory, generates a key on one of the servers, copy the public key on local and then run authorized_key module to copy the public key in the other nodes.
The problem is that after generating the key with the condition that gets executed only on ha01 host, all other tasks get executed only on host ha01…

  • name: Create directory
    become: yes
    file:
    path: “/root/.ssh”
    state: directory
  • name: Generate /etc/ssh/ RSA host key
    become: yes
    openssh_keypair:
    path: /root/.ssh/id_rsa
    type: rsa

command : echo -e ‘y\n’|ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C “” -N “”

register: output

when: ansible_hostname == ‘ha01’

  • debug: var=output.stdout_lines
  • name: Copy pub key to local
    become: yes
    fetch:
    src: /root/.ssh/id_rsa.pub
    dest: /git/cephprep/files/
    when: ansible_hostname == ‘ha01’
  • name: Set authorized key took from file
    become: yes
    authorized_key:
    user: root
    state: present
    key: “{{ lookup(‘file’, ‘/git/cephprep/files/ha01/root/.ssh/id_rsa.pub’) }}”

Also, next yml file gets executed only on ha01
Everything works fine but…only on ha01