Eu tenho um playbook Ansible simples que uso para executar atualizações em todos os servidores que gerencio:
- hosts: ubuntu
tasks:
- name: install all updates
apt:
upgrade: dist
update_cache: yes
autoremove: yes
autoclean: yes
- hosts: centos
tasks:
- name: install all updates
yum:
name: '*'
update_cache: yes
state: latest
# use debug to show the output
register: result
- name: Show Output
debug: msg="{{ result.stdout_lines }}"
Existe alguma maneira de fazer com que o Ansible me mostre quais pacotes são atualizados no processo? Nem o módulo apt nem o yum fornecem uma opção para isso.
A versão do Ansible atualmente usada é 2.4.
Começando com o comentário de HBruijn, estendi meu playbook para mostrar o resultado dos logs de gerenciamento de pacotes posteriormente:
A saída resultante:
Esta é uma grande melhoria, mas ainda espero que alguém tenha uma solução melhor.
Adotei a abordagem básica de Gerald Schneider e adicionei algumas condicionais para verificar apenas atualizações se algo mudou. Isso corrige as coisas no caso comum, embora ainda possa gerar um pouco de saída estranha se ocorrer mais de uma atualização por dia.
Gera uma saída muito parecida com:
Testes semelhantes também podem ser facilmente adicionados para distribuições baseadas em dnf/yum.