我正在使用 win_package 模块在 Windows 2016 服务器中安装“Nessus”。但每当我执行它时,它就会永远挂起而没有响应。即使等了一个小时,也没有任何回应。
我已经将 Nessus 安装程序保存在 Windows 服务器目录中,如代码中所述。
请帮忙。
Playbook主文件:
---
- name: Windows Install Nessus
gather_facts: yes
hosts: windows
vars_files:
- /etc/ansible/vars/Win_Vars.yml
tasks:
- import_tasks: Install_Nessus.yml
Playbook 任务文件(Install_Nessus.yml):
- name: Install Nessus in Windows server
win_package:
path: C:\temp\Nessus-8.0.1-x64.msi
state: present
输出:
[root@localhost ansible]# ansible-playbook Win_Nessus_Install.yml [弃用警告]:DEFAULT_ASK_SUDO_PASS 选项,赞成 AnsibleBecome,这是一个通用框架。请参阅成为_询问_通行证。 , 使用成为代替。该功能将在 2.8 版本中删除。 可以通过设置禁用弃用警告 ansible.cfg 中的 deprecation_warnings=False。 [弃用警告]: sudo 命令行选项已被弃用,取而代之的是“成为” 命令行参数。该功能将在 2.9 版本中删除。 可以通过设置禁用弃用警告 ansible.cfg 中的 deprecation_warnings=False。 SSH 密码:SUDO 密码[默认为SSH密码]:
播放[Windows操作系统基本设置2]
任务[收集事实] ****************************************************** ****************************************************** ****************************************************** ****************************************************** ************** 好的:[target_windows]
任务 [在 Windows 服务器中安装 Nessus]
有时这确实是一些 Windows 的 ansible 模块的问题 - 它们会陷入某种无休止的等待,到目前为止我面临的处理它的唯一方法是在 ansible.cfg
中声明一个足够高的
task_timeout,它不会触发任何其他可能需要很长时间的任务。
然后,围绕此任务构建一个
retries/until
块,如下所示:
- name: install some packages
ansible.windows.win_package:
path: C:\some_path
state: present
register: pkginstall
retries: 3
delay: 30
until: pkginstall is not failed
我知道这看起来不太好看,但这种挂起似乎发生在 Windows 操作系统本身中,并且在 ansible 方面几乎没有其他可以做的事情。例如,
win_updates
是另一个模块,它会不时地无休止地挂起。但另一方面 - 谁从来没有遇到过即使在目标计算机上手动执行 Windows 更新机制也会挂起的问题......