A comunidade Ansible continua a surpreender com novos conteúdos – plugins e módulos – criando muito trabalho novo para aqueles que estão envolvidos na manutenção do Ansible, já que o novo código precisa ser integrado o mais rápido possível nos repositórios. Cumprir prazos nem sempre é possível, e o lançamento de alguns produtos prontos para a produção é adiado até a próxima versão oficial do Ansible Engine. Até recentemente, o usuário final tinha apenas uma maneira de obter novo conteúdo Ansible – junto com a nova versão do Ansible Engine.

Para eliminar a inconveniência, a comunidade Ansible começou a trabalhar em opções mais flexíveis para a criação e obtenção de conteúdo.
Red Hat Ansible Engine 2.8: em direção a novos métodos de manipulação de conteúdo Ansible
Em resposta às solicitações dos usuários, o Ansible Engine 2.8 trouxe mudanças relacionadas ao processamento de conteúdo, que não faz parte do lançamento oficial. Essas alterações permitirão implementar um novo método de entrega de conteúdo aos usuários, que não dependerá da equipe de manutenção do Ansible ao gerenciar tanto o conteúdo do Ansible quanto o código da própria plataforma.
Está previsto que nas próximas versões, os Criadores (Creators) de conteúdo poderão fornecê-lo na forma de pacotes especiais, chamados Coletas (Collection), que poderão ser instalados no local apropriado para execução no nó principal do Ansible (control node) ou no nó gerenciado (managed node). O criador da coleção especificará diretamente no pacote os detalhes da execução usando papéis e playbooks. Graças às mudanças mencionadas no Ansible Engine, as coleções se tornarão uma das ferramentas que permitirão desvincular o lançamento de conteúdo do lançamento das versões oficiais do Ansible Engine.
Nova construção Become
A construção Become existe há algum tempo, mas a partir da versão 2.8, a palavra BECOME é usada por padrão no Ansible Engine para solicitar a senha ao elevar privilégios (privégios sudo em sistemas *nix ou modo enable em dispositivos de rede). Em outras palavras, agora BECOME é a ferramenta padrão para elevação de privilégios, que já lida com o sistema-alvo por conta própria.
Aqui está um exemplo de seu uso:
ansible-playbook --become --ask-become-pass site.yml
BECOME password:
Além disso, o Ansible Engine 2.8 agora possui um plugin BECOME, que funciona como doas no Linux e como runas no Windows, permitindo executar ações em nome de um usuário específico. Para elevar privilégios em dispositivos de rede, é usado o plugin become enable.
Buscar o interpretador Python
Você pode já ter se deparado com um erro como este:
/usr/bin/python: bad interpreter: No such file or directory
A questão é que, nas versões anteriores do Ansible Engine, era considerado padrão que o interpretador Python principal (utilizado por padrão) estivesse localizado na pasta /usr/bin/python. A partir da versão 2.8, o Ansible procura o interpretador em cada sistema alvo, primeiro verificando a tabela de caminhos e nomes do arquivo executável do interpretador Python principal em diferentes distribuições, e depois usando listas ordenadas de interpretadores de fallback (fallback list), consulte mais detalhes em .
Arquivos Retry não são mais criados por padrão
Você já procurou arquivos .retry no disco? Se você usa o Ansible há algum tempo, provavelmente tem muitos deles, e eles ocupam espaço útil. A partir da versão 2.8, o Ansible Engine não cria mais esses arquivos por padrão (o que pode ser revertido editando o arquivo ansible.cfg padrão).
Play Recap Atualizado
Trecho de :
O Play Recap agora contabiliza tarefas (tasks) com status ignored e rescued, além de ok, changed, unreachable, failed e skipped, graças a dois novos contadores de estatísticas no plugin callback default. Tarefas falhas para as quais a flag ignore_errors: yes foi definida são contabilizadas como ignored. Tarefas falhas para as quais uma seção rescue foi acionada são contabilizadas como rescued. Observe que, ao contrário das versões anteriores do Ansible, tarefas rescued não são mais contabilizadas como failed.
E na tabela do Play Recap ao final da execução do playbook, os hosts agora têm colunas adicionais skipped, rescued e ignored:

Nuvens e Containers
Na versão 2.8, foram implementadas melhorias e adições nos módulos de nuvem e container para trabalhar com Amazon Web Services, Microsoft Azure, Google Cloud, Digital Ocean, e . Também é importante notar que arquivos TOML agora podem ser usados como fonte de inventário.
Paramiko
Você está usando o Red Hat Ansible Network Automation? O Ansible Engine 2.8 não inclui mais o paramiko e não depende dele. Por padrão, o Ansible Engine usa ssh. Se você precisar do paramiko, poderá instalá-lo com o comando pip install paramiko.
Se você precisa de suporte sobre o uso do paramiko dentro da assinatura da Red Hat, consulte o artigo da base de conhecimento. .
Assim, a nova versão do Red Hat Ansible Engine foi reforçada com uma impressionante lista de melhorias e mudanças, que você pode consultar. .
Red Hat Ansible Tower 3.5: mais automação.
Desde o final de maio, a nova versão do Red Hat Ansible Tower 3.5 está disponível, oferecendo várias melhorias significativas para automação, sobre as quais vamos falar se você ainda não teve a oportunidade de verificar.
Então, primeiro os principais pontos:
- Suporte para Red Hat Enterprise Linux 8;
- Suporte a armazenamento de credenciais externas usando plugins apropriados;
- Suporte a plugins become no Ansible Tower.
Além disso, na nova versão, mais de 160 bugs e problemas registrados foram corrigidos.
Suporte para Red Hat Enterprise Linux 8.
Dizemos frequentemente que o Red Hat Enterprise Linux (RHEL) é uma base confiável e versátil para a construção, por exemplo, de nuvens híbridas. O Ansible Tower 3.5 (assim como o Ansible Engine 2.8) oferece gerenciamento de hosts RHEL 8, e também pode ser executado na plataforma Red Hat Enterprise Linux 8 como o nó de gerenciamento do sistema Red Hat Ansible Automation.
Armazenamentos externos de credenciais.
Além do armazenamento de credenciais interno, o Ansible Tower 3.5 agora pode utilizar armazenamentos externos de credenciais, pois às vezes é necessário tornar as credenciais mais acessíveis para aplicativos distribuídos. Portanto, a nova versão do Ansible Tower pode trabalhar diretamente com várias soluções para armazenamento de senhas e chaves, como:
- HashiCorp Vault;
- CyberArk AIM;
- CyberArk Conjur;
- Microsoft Azure Key Vault.
Detalhes sobre o funcionamento com esses sistemas estão disponíveis na documentação. .
Novos plugins para trabalhar com inventário e elevação de privilégios.
Seguindo o desenvolvimento do Ansible Engine, o Ansible Tower 3.5 oferece novos plugins de inventário e um plugin para trabalhar com o novo sistema de elevação de privilégios.
Graças a O Ansible Tower agora pode usar como fonte de inventário as plataformas Microsoft Azure, Google Cloud Platform e Red Hat OpenStack Platform, o que permite operar em ambientes de nuvem híbrida 'pronto para uso'.
O novo plugin de Elevação de Privilégios oferece tratamento abrangente de tarefas de elevação de privilégios, oferecendo muito mais flexibilidade e controle em comparação com os tradicionais sudo e su.
Interface de usuário de listas reformulada.
Na nova versão, o trabalho com listas se tornou muito mais conveniente. Elas podem ser expandidas para exibir detalhes e recolhidas para mostrar mais itens na tela. As listas também podem ser organizadas por diferentes campos e filtradas por praticamente qualquer propriedade.
Métricas aprimoradas
As métricas agora têm os chamados endpoints (/api/v2/metrics), permitindo que o Ansible Tower seja facilmente monitorado com Prometheus e outros sistemas similares, permitindo o uso simultâneo de vários sistemas, incluindo sistemas em nuvem.
Ansible Tower 3.5 já está disponível para download, pode ser instalada tanto localmente quanto através do Vagrant ou Amazon AMI.
Webinars sobre Ansible: aprimore suas habilidades
Uma coleção em constante crescimento de webinars sobre o tema:
No dia 4 de junho, ocorreu webinar , dedicado às novas e aprimoradas funcionalidades do Red Hat Ansible Tower e do Red Hat Ansible Engine. Em breve estará disponível no repositório.
Em português, está disponível.
Fonte: habr.com
