|
|||||||
Как в Ansible выводить содержимое перебираемых переменных из списка без печати всей структуры
Время создания: 06.12.2022 14:56
Текстовые метки: ansible, debug, отладка, печать, переменная, вывод, цикл, with_items, loop, список, stdout_lines, консоль
Раздел: Компьютер - Linux - Оркестрация - Ansible
Запись: xintrea/mytetra_syncro/master/base/16703277725zyu2evw65/text.html на raw.github.com
|
|||||||
|
|||||||
Если в Ansible сложить вывод нескольких вызовов команд в одну переменную, а потом попытаться распечатать stdout_lines для каждого элемента списка, то в случае перебора через with_items выдача в консоль будет очень многословная. Например: - name: Получение последних изменений из GIT shell: | currentGitRepoDir="{{ gitReposPath }}/{{ item[dirNameId] }}" echo "Каталог git-репозитария: $currentGitRepoDir" cd $currentGitRepoDir git pull with_items: - "{{ gitRepos }}" register: result - name: Результат работы получения последних изменений из GIT debug: var: item.stdout_lines with_items: - "{{ result.results }}" В данном случае помимо самого значения item.stdout_lines будут выведены все перебираемые значения каждого item со всей его структурой, потому что таков вывод отладки через with_items. И на это никак невозможно повлиять. Однако, что бы в консоль выводилось только содержание элемента, который интересует программиста, вместо with_items следует использовать цикл loop. Делается это так: - name: Результат работы получения последних изменений из GIT debug: msg: "{{item.stdout_lines}}" loop: "{{ result.results }}" loop_control: label: 'result' В результате Ansible будет печатать только содержимое сообщений msg и ничего больше. ok: [compilingHost] => (item=result) => { "msg": [ "Каталог git-репозитария: /home/user/gitRepos/ski_scripts", "Уже обновлено." ] } ok: [compilingHost] => (item=result) => { "msg": [ "Каталог git-репозитария: /home/user/gitRepos/ski_show", "Уже обновлено." ] } Данная методика часто пригождается чтобы уменьшить лог работы Ansible-скриптов. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|