我是Ansible的新手。我试图使用expect with Ansible来自动化软件包安装(在下面的示例中-卸载)。在lynx包手动卸载期间,我得到以下提示。在expect响应字段中,我试图匹配此模式(两行),但脚本失败。虽然它适用于一行-这是ok : y. Regex,我已经为这两行安装了大小: 5.4 M\n这个ok :y
-----------------------
Installed size: 5.4 M
Is this ok [y/N]:
----------------------
代码1(两行模式匹配-失败):
[ansible@localhost ansible]$ c
所以我在我的yaml项目中有一段ansible。
- name: common | register vim as a type of editor for update-alternatives
command: update-alternatives --install "/usr/bin/editor" "editor" $(which vim) 100
sudo: yes
我想做的是注册为一种editor,将priority设置为100。
但是,由于我可以在终端中执行这一行,所以不能将它写入ansible,下面是错误:
更新选项:优先级必须是整
我需要在一行中运行两个ansible命令。当我运行这个命令时,它只接受第二个命令。 ansible -i list cdlk -a "touch /tmp/a" -a "touch /tmp/b" --private-key=/tmp/id_rsa 我已经创建了一个名为list的文件,并且在运行此命令后,只创建了/tmp/b文件,.How我可以在一行中运行多个命令吗?
我想从我的repo安装所有的包,我不能重复这个命令:
yum repo-pkgs reponame install
在Ansible playbook中。
我找到的所有内容:示例如何安装一个软件包或已知软件包的列表:
- name: upgrade all packages
yum: name=* state=latest
not work: write all packages installed -but it not right
我正在使用ansible一次对多个服务器运行一个命令。我想忽略任何由于'"SSH Error: data could not be sent to remote host \"1.2.3.4\". Make sure this host can be reached over ssh"‘错误而失败的主机,因为列表中的一些主机将离线。我该怎么做呢?ansible中是否有默认选项可以忽略离线主机,而不会导致攻略失败?有没有在剧本之外的单个ansible cli参数中执行此操作的选项?
更新:我知道适用于ansible 2.7或更高版本,但我使用的是ansib