【发布时间】:2020-12-16 22:43:24
【问题描述】:
Ansible 2.9.10 Vcenter 6.7
我对这个突然出现的问题感到很困惑。
几周前我上次运行它时一切正常,突然之间它完全停止工作,我不知道出了什么问题。
我有一本使用 ansible 简单关闭 VM 来宾的剧本
- hosts: all
tasks:
- name: Power off VM
vmware_guest_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: "{{ guest_name | default(inventory_hostname) }}"
state: shutdown-guest
state_change_timeout: 600
validate_certs: False
delegate_to: localhost
现在,每当我运行 playbook 时,都会出现以下错误:
ansible-playbook -i hosts poweroff.yml -l myserverA.mydomain.com
TASK [Power off VM] ***********************************************************************************************************************
fatal: [myserverA.mydomain.com]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).", "unreachable": true}
我已经测试了其他各种也可以工作的 vmware 模块,例如拍摄快照,但它们都不起作用。还要针对一组产生相同错误的不同服务器进行测试。
该错误令人困惑的是它声明“ssh”问题,但我认为 Ansible 节点通过 API 连接到 vcentre,因此端口 443,而不是使用 ssh?
我已经确认 Ansible 节点可以通过 ssh 进入服务器 myserverA.mydomain.com 并且可以 ping vcentre 主机,还可以 telnet 到端口 443 和 22。
谷歌搜索没有找到和我有同样问题的人。
请问有人有什么想法吗?
【问题讨论】:
-
当您只想在本地主机上运行任务时是否需要
hosts: all(使用delegate_to)? -
这更像是我的剧本的一个片段,在关闭 VM 后还会发生其他各种不使用 delegate_to 的任务。
-
你的意思是只有vmware模块不工作?你检查过 ping 或命令模块吗?