Как разоблачить услугу в Ansible? - PullRequest
1 голос
/ 09 мая 2020

Я использую ansible 2.6.2 на моем Ma c против системы Linux на основе Debian.

Существует служба под названием hostapd, которая при установке из репозиториев поставляется с предварительно маской.

My Ansible playbook устанавливает hostapd, настраивает его, и ему нужно демаскировать, запустить и включить.

Теоретически это должно быть просто так просто, как:

- name: HostAPD | Make sure the service is unmasked, started, and enabled
  systemd:
    name: hostapd
    state: started
    enabled: yes
    masked: no

Когда я запускаю это, я просто получаю:

FAILED! => {"changed": false, "msg": "Error loading unit file 'hostapd': org.freedesktop.systemd1.UnitMasked \"Unit hostapd.service is masked.\""}

Я попытался разделить задачи и просто запустил:

- name: HostAPD | Make sure the service is unmasked
  systemd:
    name: hostapd
    masked: no

Но я все равно получаю ту же ошибку. По какой-то причине он не может демаскировать службу, потому что служба замаскирована ... Я бы подумал, что это требование, а не причина для отказа.

Я что-то делаю не так? Я тоже пробовал добавить к нему daemon_reload: yes, но это не помогло.

1 Ответ

4 голосов
/ 09 мая 2020

Это была ошибка в модуле systemd в Ansible 2.6 и исправлена ​​в Ansible 2.7. Если возможно, обновите ansible до 2.7 или более поздней версии, а затем повторите попытку. В противном случае можно использовать модуль command или shell, как предлагается @larsks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...