2016-09-08 107 views
0

我试图在客户机上的各种操作系统上安装VMware Tools。这是我现在的代码。使用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 

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

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

TASK [通过Chocolatey安装vmware工具] *************************************任务路径:/用户/桌面/ Ansible/vmwaretools.yml:9跳跃: [myhost.com] => { “改变”:假 “skip_reason”: “条件检查失败”, “跳过”:真}

PLAY RECAP ************************************************ ************ ********* myhost.com:OK = 1改为= 0可达= 0
失败= 0

为什么会说条件检查失败?我相信我有运行Debian和Windows的虚拟机。任何想法为什么发生这种情况?

+0

哪里是你连接到你的虚拟机的一部分?我只看到一个主机 - “myhost.com”。 –

+0

它只有一个主机。我应该只是做了'hosts:my-host'而不是'all'。没想到它会有所作为。 – user3078335

+0

对不起,如果这似乎有点愚蠢。我仍然是一名学习者。你是什​​么意思连接到虚拟机?我的假设是,一旦连接到主机系统,它就可以访问每个虚拟机并检查分配是否匹配,如果有,它会在虚拟机上安装vmware工具。我错了吗?如果没有,请向我解释。我对此仍然很陌生。 – user3078335

回答

0

从您的评论:

我的假设是,一旦你连接到主机系统,它可以访问每一个虚拟机,并检查是否分布相匹配,如果这样做,安装VMware VM上的工具。

否Ansible必须连接到每台虚拟机并在该机器上运行playbook。没有办法将任务委托给主机。

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

为什么说有条件失败检查?

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

when: ansible_distribution == "Windows" 

ansible_distribution包含更详细的信息,如:

"ansible_distribution": "Microsoft Windows NT 10.0.14366.0" 

您需要使用:

when: ansible_os_family == "Windows" 
+0

再次感谢您的回复。现在更清楚一点。为了使'win_chocolatey:name = vmware-tools state = present'工作,我需要在我的虚拟机上安装win_chocalatey吗? – user3078335

+0

是的,你正式在PowerShell中执行'iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex' – techraf

相关问题