如何在事实收集时解决安塞问题?

时间:2015-06-03 14:36:04

标签: ansible devops

收集事实时,第一台主机的配置失败,并显示您在下面看到的错误。

PLAY [surveylab] ************************************************************

GATHERING FACTS *************************************************************
failed: [192.168.56.101] => {"cmd": "/usr/bin/facter --puppet --json", "failed": true, "rc": 2}
msg: [Errno 2] No such file or directory
ok: [192.168.56.102]

可以通过执行以下操作解决此问题:

ln -sf /usr/bin/ruby1.9.1 /usr/bin/ruby

我想在我的剧本中作为pre_task做这样的事情:

pre_tasks:
- name: symlink expected ruby bin from versioned bin
  command: ln -sf /usr/bin/ruby1.9.1 /usr/bin/ruby

它不起作用,错误仍然显示。显而易见的解释是,当收集事实时,问题仍然存在......但这样的事情是如何完成的?

2 个答案:

答案 0 :(得分:0)

你可以尝试写一个单独的剧本来设置链接 - 你必须禁止收集事实:

- name: 'some playbook'
  gather_facts: no

可能有用。

答案 1 :(得分:0)

确保在目标计算机上安装了facter软件包。例如,在RHEL / CentOS上:

sudo yum install facter