我正在运行vagrant虚拟机。我可以使用sshvagrant@192.168.0.28ssh进入它然后它问我私钥的密码短语,我可以输入它然后它记录我中。但如果我使用:ansibleall-mping然后我明白了:192.168.0.28|FAILED=>FAILED:sshmoor@192.168.0.28:22:PrivatekeyfileisencryptedToconnectasadifferentuser,use-u.如何在ansible中输入密码?我尝试了ansible-k但它说身份验证失败。 最佳答案 尝试使用ssh作
查看有关错误处理的文档Ansibleerrorhandling我只看到一种使供应失败的方法fail_when,我想知道是否有相反的方法。看起来像这样的东西:-name:pingpongrediscommand:redis-clipingregister:command_resultsuccess_when:"'PONG'incommand_result.stderr"谢谢。 最佳答案 好像没有这个功能,至少我在邮件列表上的建议没有得到回应:https://groups.google.com/forum/#!topic/ansible
查看有关错误处理的文档Ansibleerrorhandling我只看到一种使供应失败的方法fail_when,我想知道是否有相反的方法。看起来像这样的东西:-name:pingpongrediscommand:redis-clipingregister:command_resultsuccess_when:"'PONG'incommand_result.stderr"谢谢。 最佳答案 好像没有这个功能,至少我在邮件列表上的建议没有得到回应:https://groups.google.com/forum/#!topic/ansible
我有大约50台DebianLinux服务器的cron作业很糟糕:0****ntpdate10.20.0.1我想用ntpd配置ntp同步,所以我需要删除这个cron作业。对于配置,我使用Ansible。我试图用这个游戏删除cron条目:tasks:-cron:name="ntpdate"minute="0"job="ntpdate10.20.0.1"state=absentuser="root"什么都没发生。然后我运行这个剧本:tasks:-cron:name="ntpdate"minute="0"job="ntpdatepool.ntp.org"state=present我在“cron
我有大约50台DebianLinux服务器的cron作业很糟糕:0****ntpdate10.20.0.1我想用ntpd配置ntp同步,所以我需要删除这个cron作业。对于配置,我使用Ansible。我试图用这个游戏删除cron条目:tasks:-cron:name="ntpdate"minute="0"job="ntpdate10.20.0.1"state=absentuser="root"什么都没发生。然后我运行这个剧本:tasks:-cron:name="ntpdate"minute="0"job="ntpdatepool.ntp.org"state=present我在“cron
我有一个简单的脚本:#!/bin/bashforserverin$(~/.ansible/ansible_hosts)dossh$server"hostname;readlink/opt/mydir/mylink;"done它工作正常-程序返回正确的主机名和链接-除了我在一些但不是所有服务器上收到以下错误:shell-init:检索当前目录时出错:getcwd:无法访问父目录:没有那个文件或目录所有目录都存在。最常见的建议之一是添加cd、cd-或cd/。添加该步骤时发生的所有事情都是额外的:chdir:检索当前目录时出错:getcwd:无法访问父目录:没有那个文件或目录我尝试启动nfs
我有一个简单的脚本:#!/bin/bashforserverin$(~/.ansible/ansible_hosts)dossh$server"hostname;readlink/opt/mydir/mylink;"done它工作正常-程序返回正确的主机名和链接-除了我在一些但不是所有服务器上收到以下错误:shell-init:检索当前目录时出错:getcwd:无法访问父目录:没有那个文件或目录所有目录都存在。最常见的建议之一是添加cd、cd-或cd/。添加该步骤时发生的所有事情都是额外的:chdir:检索当前目录时出错:getcwd:无法访问父目录:没有那个文件或目录我尝试启动nfs
我有两个ansible任务如下tasks:-shell:ifconfig-a|sed's/[\t].*//;/^\(lo\|\)$/d'register:var1-debug:var=var1-shell:ethtool-i{{item}}|grepbus-info|cut-b16-22with_items:var1.stdout_linesregister:var2-debug:var=var2用于获取机器(linux)中的接口(interface)列表并获取每个接口(interface)的总线地址。我在同一个剧本中还有一项任务如下-name:Bindingtheinterfaces
我有两个ansible任务如下tasks:-shell:ifconfig-a|sed's/[\t].*//;/^\(lo\|\)$/d'register:var1-debug:var=var1-shell:ethtool-i{{item}}|grepbus-info|cut-b16-22with_items:var1.stdout_linesregister:var2-debug:var=var2用于获取机器(linux)中的接口(interface)列表并获取每个接口(interface)的总线地址。我在同一个剧本中还有一项任务如下-name:Bindingtheinterfaces
如何使用基于register:result标准输出的when语句?如果存在标准输出,我希望运行一些命令;如果不存在标准输出,我希望运行其他命令。-hosts:myhoststasks:-name:echohellocommand:echohelloregister:result-command:somecommand{{result.stdout}}when:result|success-command:someothercommandwhen:result|failed 最佳答案 尝试检查它是否等于空字符串?-hosts:myho