Ошибка “AttributeError: AnsibleModuleLog object has no attribute isatty”#

Note

Точное сообщение об ошибке: AttributeError: 'AnsibleModuleLog' object has no attribute 'isatty'

Встречалась на CentOS 8. Должна быть исправлена pull request’ом #905 ipaserver/ipareplica: Add isatty method to AnsibleModuleLog, был принят 05-го сентября 2022 г., исправление включено в релиз ansible-freeipa-1.8.4

Решение предложено в комментарии к соответствующей проблеме на гитхабе ansible-freeipa.

Помогает следующее изменение:

--- /usr/share/ansible/roles/ipareplica/module_utils/ansible_ipa_replica.original.py 2022-04-11 20:31:21.124945752 +0300
+++ /usr/share/ansible/roles/ipareplica/module_utils/ansible_ipa_replica.py 2022-04-11 20:29:01.474841420 +0300
@@ -194,6 +194,9 @@
         def info(self, msg):
             self.module.debug(msg)

+        def isatty(self):
+            return False
+
         def write(self, msg):
             self.module.debug(msg)
             # self.module.warn(msg)

Применить можно так:

vim ansible_ipa_replica.patch
# Вставить содержимое файла

patch -b \ 
  /usr/share/ansible/roles/ipareplica/module_utils/ansible_ipa_replica.py \
 ansible_ipa_replica.patch

Новый патч можно создать командой:

diff -u \
  /usr/share/ansible/roles/ipareplica/module_utils/ansible_ipa_replica.original.py \
  /usr/share/ansible/roles/ipareplica/module_utils/ansible_ipa_replica.py \ 
  > newpatch.patch