解决ansible ubuntu主机上hostnamectl失败问题
本问题由我组员李卓找到解决办法, 特此感谢.
问题:
试验通过ansible hostname model或者用shell模块执行hostnamectl
命令都会导致ansible管理机与该主机失联.
后面的操作无法继续报错退出.
比如:
- name: set hostname
hostname:
name: "{{ fqdn }}"
解决:
原因定位为ubuntu的 /etc/hosts 文件中这条记录
127.0.1.1 主机名
127.0.1.1 是debian上的fqdn回环地址, 怀疑ansible传送到被管理机的模块会应用这个回环地址的主机名.
解决办法:
- 修改主机名前,一定要先修改hosts文件中的127.0.1.1 条目
- 通过hostnamectl 或者 hostname模块修改主机名
#1 比如从host1 改为host2
#先修改/etc/hosts
127.0.1.1 host2
#2 修改主机名
hostnamectl set-hostname host2