Обновить конфигурацию файла, но сохранить предыдущее значение с помощью Ansible - PullRequest
0 голосов
/ 03 марта 2020

Возможно обновить конфигурацию файла через lineinfile или другой модуль, но сохранить предыдущее значение?

Например:

SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC"

Добавить в конце строки или в начале -DD:4DD так что результат будет:

SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC -DD:4DD"

или

SOME_ARGS="-DD:4DD -AA:1AA -BB:2BB -CC:3CC"

Это не сработает, поскольку заменит текст на строковое значение:

- lineinfile:
    path: "/some/file.txt"
    regexp: "^SOME_ARGS=.*-DD:4DD"
    line: "-DD:4DD"
    insertafter: "^SOME_ARGS=\""
    state: present

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 03 марта 2020

Что-то сложное с Ansible, я рекомендую вам сохранить эти изменения значений в VCS, после чего вы можете go вернуться к любому предыдущему значению.

Используя lineinfile, простое решение может применить модуль дважды, один проход, чтобы прокомментировать предыдущее значение, например поставить # в начале, а второй - вставить новую строку после этой закомментированной с новым значением.

Будьте осторожны что вам необходимо регулярное выражение, чтобы позаботиться о других значениях файла, этот модуль в Ansible немного сложен для правильной работы с некоторыми файлами конфигурации.

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