- name: Create Temp SSH key command: ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f {{ zuul_temp_ssh_key }} delegate_to: localhost run_once: true - name: Remote setup ssh keys (linux) include: remote-linux.yaml when: ansible_os_family != "Windows" - name: Remote setup ssh keys (windows) include: remote-windows.yaml when: ansible_os_family == "Windows" - name: Remove master key from local agent # The master key has a filename, all others (e.g., per-project keys) # have "(stdin)" as a comment. sshagent_remove_keys: remove: '^(?!\(stdin\)).*' delegate_to: localhost run_once: true - name: Add back temp key command: ssh-add {{ zuul_temp_ssh_key }} delegate_to: localhost run_once: true - name: Verify we can still SSH to all nodes ping: when: ansible_os_family != "Windows" - name: Verify we can still SSH to all nodes (windows) command: ssh -o ConnectTimeout=10 {{ ansible_user }}@{{ ansible_host }} echo success delegate_to: localhost when: - ansible_os_family == "Windows" # Only run if we successfully configured the host. If not the host doesn't support # ssh and the check shall not break them. - windows_remote_ssh is succeeded