在Ansible角色中,我生成用户的SSH密钥.之后,我想将其打印到屏幕并暂停,以便用户可以将其复制并粘贴到其他位置.到目前为止,我有这样的事情:
- name: Generate SSH keys for vagrant user
user: name=vagrant generate_ssh_key=yes ssh_key_bits=2048
- name: Show SSH public key
command: /bin/cat $home_directory/.ssh/id_rsa.pub
- name: Wait for user to copy SSH public key
pause: prompt="Please add the SSH public key above to your GitHub account"
Run Code Online (Sandbox Code Playgroud)
"显示SSH公钥"任务完成但未显示输出.
TASK: [Show SSH public key] ***************************************************
changed: [default]
Run Code Online (Sandbox Code Playgroud)
可能有更好的方法来解决这个问题.我真的不喜欢它总会显示出"已更改"的状态.我确实找到了这个对ansible的请求 - https://github.com/ansible/ansible/pull/2673 - 但不确定我是否可以在不编写自己的模块的情况下使用它.
有没有办法让Vagrant在运行时显示配置工具的输出,而不仅仅是在最后?如果重要的话,我正在使用Ansible插件.
Vagrant似乎运行整个config.vm.provision
部分收集输出,只有在一切都完成后才显示它.
这会导致问题,例如当进程中的某个步骤挂起或您希望进行涉及用户的交互式步骤时.
ssh command-line provisioning configuration-management vagrant