2014-09-22 3 views
7

кажется рекомендуемый метод не очень хорошо работает для меня:Как установить полное доменное имя с возможностью?

- name: Set hostname 
    hostname: name=mx.mydomain.net 

После перезагрузки, вы можете видеть, у меня нет проблем с FQDN, ничего /etc/hosts.

[email protected]:~# cat /etc/hosts 
127.0.0.1 localhost 
127.0.1.1 mail mail 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

[email protected]:~# cat /etc/hostname 
mx.mydomain.net 

[email protected]:~# hostname 
mx.mydomain.net 

[email protected]:~# hostname -f 
hostname: Name or service not known 
+0

похоже, что соленые ребята делают это правильно https://github.com/saltstack-formulas/hostsfile-formula/blob/master/hostsfile/hostname.sls скопируют действия отсюда – holms

ответ

7

Похоже, что документация для этого модуля Ansible просто не совсем ясна в том, что он делает. Я просто взглянул на source code for the hostname module на github и выяснилось, что в зависимости от дистрибутива Linux он вызывает только/bin/hostname и/или изменяет/etc/hostname,/etc/sysconfig/network или /etc/conf.d/имя хоста. Сам этот модуль фактически не модифицирует/etc/hosts.

Если вы считаете, что это ошибка в способе работы этого модуля, я настоятельно рекомендую вам отправить отчет об ошибках разработчикам Ansible, которые вы можете сделать here. Даже если вы считаете, что документация должна быть улучшена, тогда было бы полезно представить отчет об ошибке, требующий исправления документации.

+1

спасибо за совет :) я написал мою собственную роль для этого, похоже, все равно работает. https://github.com/holms/ansible-fqdn модуль hostname обновляет хост с помощью команды hostname. Там ничего не делается. – holms

Смежные вопросы