Ansible win_package 永远卡住

问题描述 投票:0回答:1

我正在使用 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]


ansible nessus
1个回答
0
投票

有时这确实是一些 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 更新机制也会挂起的问题......

© www.soinside.com 2019 - 2024. All rights reserved.