如何指定每个主机组使用哪个ping? -- linux 领域 和 windows-10 领域 和 ansible 领域 linux 应用 相关 的问题

How to specify which ping to use for each host group?


简体版||繁體版
0
vote

问题

中文

我在虚拟环境中设置了三台主机,以便在部署之前进行测试。我想知道在使用时是否有一种方法可以指定:

''' ansible all -m ping '''

使用win_ping ping Windows主机和使用ping linux主机。当前,当我运行上述命令时,我在linux主机上收到一个成功,在Windows主机上收到两个异常的错误。但是当我跑步时:

''' ansible all -m win_ping ''' 相反,两个Windows主机将回复,而linux框将以错误回复。 Windows主机配置为使用winrm,而Linux主机使用ssh。有什么见识,还是我需要在Windows和linux之间进行拆分才能使它们正常运行?

英文原文

I have three hosts set up in a virtual environment in order to test things out before deployment. I was wondering if there's a way to specify that when I use:

''' ansible all -m ping '''

To ping windows hosts with win_ping and linux hosts with ping. Currently when I run the above I receive one success on the linux host and two errors for exceptions on the windows hosts. But when I run:

''' ansible all -m win_ping ''' It does the inverse where the two windows hosts will reply back and the linux box will reply with an error. The windows hosts are configured to use winrm and the linux host is using ssh. Any insight or do I need to split things between windows and linux to have things operational?

        
   
   

回答列表

2
 
vote

您无法使用ansible命令执行此操作。您已经注意到ping,win_ping和net_ping模块都有不同的要求。

尽管有以下任务,但很容易在ansible剧本中完成。

  - hosts: all   tasks:   - win_ping:     when: ansible_os_family == "Windows"   - ping:     when: ansible_os_family != "Windows"   

您还应该能够使用raw命令进行穷人ping操作,但是这样做的缺点是无法在* nix主机上测试Python:

  ansible -m raw -a 'echo yay!'   
 

You can't do that with an ansible command. As you've noticed the modules ping, win_ping and net_ping all have different requirements.

It's easy to do in in an ansible playbook though with the following tasks.

- hosts: all   tasks:   - win_ping:     when: ansible_os_family == "Windows"   - ping:     when: ansible_os_family != "Windows" 

You should also be able to use the raw command for a poor-mans ping but this has the downside of not testing the Python on *nix hosts:

ansible -m raw -a 'echo yay!' 
 
 

相关问题

0  Ansible:替换找不到本地现有文件  ( Ansible replace cannot find a locally existing file ) 
我正在尝试使用Ansible替换配置文件 test.conf 中的单个字符串。 这是我所扮演的两个任务: - name: Check for conf locally local_action: stat path="{{ role_path }}/files/test.conf" register: s...

11  在Ansible中以分离模式运行远程脚本/应用程序  ( Run a remote script application in detached mode in ansible ) 
我无法从Ansible剧本"单独" 运行远程应用程序启动脚本。该脚本将运行,但无法获取/保持分离。我可能做错了什么,但是呢? 这是我的转载者。 我在Test.java中的远程Java应用程序运行10秒钟: class Test { public static void main(String[] ar...

13  如何在Ansible中为所有主机设置默认的ssh用户?  ( How to set a default ssh user for all hosts in ansible ) 
Ansible 2.1版 我有一个清单文件 hosts [nodes] host1 host2 ... 还有一个简单的剧本 site.yml --- - hosts: all tasks: - include: tasks/main.yml 如果我刚开始播放, ansib...

7  如何在Ansible中计算数组中的元素数量?  ( How to count the number of elements in an array in ansible ) 
从shell命令输出在Ansible中生成一个数组,它类似于下面的内容: foo: [value0, value1, value2, value3] 现在,根据shell命令的输出, foo 的元素数可能会有所不同。 然后我生成一个jinja2模板来显示: foo[0] will return valu...

1  严重错误:无法将用户添加到现有组中  ( Ansible error unable to add user to already existing group ) 
我无法将用户添加到已经存在的组中。执行后,从 /etc/groups 进行验证,我可以看到未添加该用户。我是Ansible的新手。有人可以帮忙吗? 这是我正在使用的脚本: hosts: host1 remote_user: root tasks: - name: Creating user arun...

1  如何更好地保护流浪者虚拟机并删除流浪者用户  ( How to better secure vagrant virtual machines and delete vagrant user ) 
我正在尝试使用vagrant作为供应虚拟机的一种方式(设置IP地址,资源等),但是我也试图解除vagrant对ansible的依赖,即我只想使用vagrant进行一次性供应在设置我自己的授权用户的地方使用ansible,对其进行保护,然后分别使用Ansible在这些虚拟机上进行进一步配置。然后,我仍然想使用vagra...

0  Ansible剧本,可部署到新服务器并从其他服务器中删除  ( Ansible playbook to deploy to new server and remove from others ) 
我想让一本剧本在服务器处于组中时运行某个任务,而在服务器不在组中时运行另一个任务。 假设我的所有服务器都安装了office1,并且有一个主DHCP服务器: [office1] server1 server2 server3 [dhcp] server2 我想确保只有一台DHCP服务器: - inclu...

1  在容器内运行apt-get update命令时创建lxc容器后,openstack ansible部署失败  ( Openstack ansible deployment fail after creating lxc containers while running ap ) 
在可运行的openstack ansible创建的容器中运行,但是它们无法访问Internet。当我手动添加路由时,出现以下错误: Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease Clearsigned file isn't valid, got...

3  Ansible配置中的覆盖选项  ( Overriding options in the ansible config ) 
在我之前的问题中,发现我可以将选项放入本地 ansible.cfg 文件中。但是我可以覆盖它们吗? 我有一个 ansible.cfg 文件,其中包含 [defaults] vault_password_file = /home/hymie/ansible/foo 我可以自动使用此文件: $ echo "...

21  Ansible任务报告发生了什么变化的重要意义是什么?  ( What is the significance of an ansible task reporting that something has changed ) 
我有一个任务可以检查进程是否正在侦听8080端口,并且仅当退出代码不为零时,我才会运行 fail 并显示一条消息。 服务运行时,它报告状态已更改。我想说 ok 。 changed 状态在Ansible中实际上意味着什么? ...

5  使用Git-bash在Windows中安装Ansible  ( Install ansible in windows using git bash ) 
我正在尝试安装 Ansible 开源自动化平台。关于如何使用Cygwin安装Ansible的指南很多(例如 1 , 2 )。 但是,我已经在Windows 7上安装了Git-Bash(来自此处)。 是否可以在Windows的Git-Bash中安装Ansible。 编辑: 更新: 我在Cygwin上遇到很多问题。...

3  在Mac上安装了Ansible,并显示成功消息,但未找到  ( Ansible installed on mac with success message but not found ) 
我长期以来一直在尝试安装ansible。使用以下命令时会显示成功消息。 Anupams-MacBook-Pro-2:bin anupamsri$ sudo pip install ansible 当前用户不拥有目录 /Users/anupamsri/Library/Caches/pip/http 或其...

0  如何在CentOS 8上使用Ansible添加存储库?  ( How to add a repository with ansible on centos 8 ) 
在CentOS 7中,Ansible具有 yum-repository 模块,该模块可用于添加存储库。 在CentOS 8中,存在用于包装管理的 192.168.1.10 模块,但是似乎没有 192.168.1.11 模块来添加存储库。 如何使用Ansible在CentOS 8上实现这一目标? ...

5  无法使Ansible等待服务器重新启动并继续使剧本正常工作  ( Cant make ansible to wait for a server to reboot and continue playbook to work ) 
我正在创建用于安装软件的剧本,并且需要在剧本中间重新启动服务器。 我需要Ansible主机等到服务器恢复运行并执行其余任务,但这没有发生。 这些是我与重新启动并等待有关的Ansible任务: ... - name: restart server shell: shutdown -r now async: ...

1  Ansible FAILED:需要python mysqldb模块  ( Ansible failed python mysqldb module is required ) 
请告诉我如何在debian 9中安装模块mysql_db。我正在用ansible编写一本剧本。必须创建一个数据库和用户。 Ansible文档说mysql_db模块用于此目的。在同一页面的下方,有信息 Python软件包可能与apt-get install python-pymysql安装在一起 我根据非现场A...

1  Ansible Regexp组,模式或其他内容?  ( Ansible regexp groups patterns or something else ) 
我必须使用ansible来管理一些DNS区域。 我们使用剧本和一些模板没有任何问题。但是,区域的序列号是由最终用户手动修改的,很多时候他们忘记更新它。 因此,我想创建一个任务,该任务将从区域文件中解析当前序列,然后对其进行更新(YYYMMMDDXX格式)。 目前,我主要关心的是如何获取当前序列号。 我有当前任务:...

1  Ansible期望不适用于多个提示值  ( Ansible expect not working for multiple prompt values ) 
我需要使用Ansible为Openam安装Nginx代理。 在安装nginx_agent时,它会问在运行脚本时遇到多个问题, ************************************************************************ Welcome to t...

0  具有相同额定值的不同CPU的性能差异很大……这是怎么回事?  ( Different cpus with same rating perform vastly differently what is going on ) 
我用6个OrangePi Zero组成了一个集群,每个集群都有一个H2 + Allwinner 1.2GHz四核CPU,256MB RAM和一个16GB的10级爱国者SD卡。它们通过100Mb以太网交换机连接,并由树莓派头节点控制。我正在使用Ansible与每个计算节点进行通信,这使我可以轻松地通过SSH发出命令,并...

0  为什么由于Rabbitmq服务处于运行状态(未重新启动,未启动)而在CentOS7上进行Ansible Tower试用安装失败?  ( Why is trial of ansible tower install failing on centos7 due to rabbitmq service ) 
在CentOS7上安装Ansible Tower试用版时出现以下错误: TASK [rabbitmq : start and enable the rabbitmq service] ********************************** fatal: [localhost]: FAILED! =>...

0  如何使用ansible事实收集选择性的dsk和未使用的空间?  ( How to collect selective dsks and unused space using ansible facts ) 
这是我的示例代码,底部的问题 hw.j2 : System Total Memory : {{ ansible_memtotal_mb }} Free Memory : {{ ansible_memfree_mb }} System Total CPU : {{ ...

0  带有Ansible的Homebrew,需要“进行安装”类的步骤  ( Homebrew with ansible needs a make install kind of step ) 
不尝试以非交互方式在盒子上安装软件。 Ansible在具有"成为" 模式(命令以root用户身份)和普通用户模式的盒子上运行。 Homebrew要求它不能以" root" 用户身份运行,同时,它的某些部分确实需要" sudo" ,这需要一个sudo密码,从而阻止了ansible之类的工具使用它。 在控制台上执行Ho...

1  Openshift 3.11路由器失败:“ haproxy.go:392]无法抓取HAProxy:..”  ( Openshift 3 11 router failed haproxy go392 cant scrape haproxy ) 
我们正在尝试在CentOS7服务器(单个主机,多合一)上安装Openshift OKD 3.11。安装使用openshift-ansible,所有剧本都成功完成。但是,即使所有Pod(路由器,注册表,Web控制台)都已部署完毕,我们也会从路由器日志中得到此错误: " haproxy.go:392]无法刮除HAProx...

5  Ansible报告在远程主机上发出命令时“权限被拒绝”  ( Ansible reports permission denied when issuing command on remote host ) 
Ansible 2.1 Ansible主机:Ubuntu 16.04 远程主机:CentOS 6.5 我对Ansible很陌生。我有一个简单的ansible项目: ├── hosts ├── roles │   └── setup │   ├── defaults │   │   └── ...

0  ansible:为什么要查找vultr.ini文件?  ( Ansible why it looks for vultr ini file ) 
我创建了以下剧本来创建vultr机器。我正在使用ansible的vultr模块,并已放置了所有必需的参数; --- # Ansible Blocks - hosts: 127.0.0.1 # gather_facts: False connection: local tasks: - bl...

1  ansible acme创建帐户  ( Ansible acme create account ) 
我想处理nginx,让我们用ansible加密证书的续约。因此,我尝试使用模块acme_certificate和acme_account。我很难理解如何创建acme帐户。 在ansible文档的示例中,我已经看到4096位rsa密钥足以创建密钥,但我认为这是针对acme v1的。 这就是我在剧本中得到的: - n...

相关问题

0  Ansible:替换找不到本地现有文件 
11  在Ansible中以分离模式运行远程脚本/应用程序 
13  如何在Ansible中为所有主机设置默认的ssh用户? 
7  如何在Ansible中计算数组中的元素数量? 
1  严重错误:无法将用户添加到现有组中 
1  如何更好地保护流浪者虚拟机并删除流浪者用户 
0  Ansible剧本,可部署到新服务器并从其他服务器中删除 
1  在容器内运行apt-get update命令时创建lxc容器后,openstack ansible部署失败 
3  Ansible配置中的覆盖选项 
21  Ansible任务报告发生了什么变化的重要意义是什么? 
5  使用Git-bash在Windows中安装Ansible 
3  在Mac上安装了Ansible,并显示成功消息,但未找到 
0  如何在CentOS 8上使用Ansible添加存储库? 
5  无法使Ansible等待服务器重新启动并继续使剧本正常工作 
1  Ansible FAILED:需要python mysqldb模块 
1  Ansible Regexp组,模式或其他内容? 
1  Ansible期望不适用于多个提示值 
0  具有相同额定值的不同CPU的性能差异很大……这是怎么回事? 
0  为什么由于Rabbitmq服务处于运行状态(未重新启动,未启动)而在CentOS7上进行Ansible Tower试用安装失败? 
0  如何使用ansible事实收集选择性的dsk和未使用的空间? 
0  带有Ansible的Homebrew,需要“进行安装”类的步骤 
1  Openshift 3.11路由器失败:“ haproxy.go:392]无法抓取HAProxy:..” 
5  Ansible报告在远程主机上发出命令时“权限被拒绝” 
0  ansible:为什么要查找vultr.ini文件? 
1  ansible acme创建帐户 



© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有