Рейтинг:0

Изменить формат/выход diff в Ansible? Внешняя команда сравнения?

флаг bg

когда используешь --diff в Ansible (здесь v2.11) он показывает мне разницу изменений. Я хотел бы изменить формат вывода этого. Можно ли в ansible сказать, чтобы он использовал внешнюю команду для генерации строки/вывода diff?

Рейтинг:1
флаг cn

Изменение метода diff Ansible требует изменения кода.

Ценности для разница диктовать возвращается ответственность каждого модуля. Эфир перед и после клавиши с полнотекстовым представлением состояний, линейный файл является примером этого. Или готовый ключ, где модуль сам выполняет diff, например, что мерзавец модуль делает.

Не существует универсального метода изменения подготовленного метода diff для модулей, на сценарии diffutils или Python difflib или что-то еще. Рассмотрите возможность написания общих оболочек diff как module_utils код, если вы хотите, чтобы это было доступно везде.

Плагины обратного вызова что-то делают с этим выводом diff, обратный вызов по умолчанию печатает diff. Почти все обратные вызовы, которые ссылаются на различия, используют CallbackBase._get_diff, который, в свою очередь, использует Python difflib для сравнения перед и после.

Чтобы изменить stdout, напишите плагин обратного вызова, вероятно, создав подкласс плагина по умолчанию и заменив метод v2_on_file_diff.


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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.