繁体   English   中英

使用Ansible在虚拟机上安装VMware Tools

[英]Installing VMware Tools on virtual machines using Ansible

我试图在客户机上的各种操作系统上安装VMware Tools。 这是我现在拥有的代码。

---
- hosts: all

  tasks:
        -   name: debian | installing open-vm-tools
            apt: name=open-vm-tools state=present
            when: ansible_os_family == "Debian"

        -   name: install vmware tools via Chocolatey
            win_chocolatey: name=vmware-tools state=present
            when: ansible_distribution  == "Windows"

这是我的hosts.ini文件的样子:

[my-host]
myhost.com  ansible_ssh_pass=mypw ansible_ssh_user=root

这是我用来运行它的命令。 哪个有效。

ansible-playbook -i hosts.ini vmwaretools.yml

但是,这是我运行它后收到的消息。

好的:[myhost.com]
任务[debian | 安装open-vm-tools] *******************************************任务路径:/ Users / Desktop / Ansible / vmwaretools.yml:5跳过:[myhost.com] => {“更改”:false,“ skip_reason”:“有条件检查失败”,“跳过”:true}

任务[通过Chocolatey安装vmware工具] *****************************************任务路径:/ Users /Desktop/Ansible/vmwaretools.yml:9跳过:[myhost.com] => {“更改”:false,“ skip_reason”:“有条件检查失败”,“跳过”:true}

PLAY RECAP **************************************************** ********************* myhost.com:确定= 1更改= 0无法访问= 0
失败= 0

为什么说条件失败检查? 我确定我有运行Debian和Windows的VM。 知道为什么会这样吗?

根据您的评论:

我的假设是,一旦连接到主机系统,它就可以访问每个VM,并检查发行版本是否匹配,如果匹配,它将在VM上安装vmware工具。

否。Ansible必须连接到每个虚拟机,并在该计算机上运行剧本。 无法将任务委派给主机。

即使您运行ESXi主机并在特定计算机上选择“安装VMware Tools”,它唯一要做的就是将ISO映像装载到计算机上。 然后,安装过程在本地进行(通过手动管理员操作或通过自动运行)。

为什么说条件失败检查?

您正在非Debian的VMware主机上运行剧本。 第二个条件永远不会成立:

when: ansible_distribution == "Windows"

ansible_distribution包含更多详细信息,例如:

"ansible_distribution": "Microsoft Windows NT 10.0.14366.0"

您需要使用:

when: ansible_os_family == "Windows"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM