Olá prezado leitor!
É com grande entusiasmo que compartilho um desafio real relacionado ao projeto que estou atualmente desenvolvendo. Este projeto envolve a fascinante integração do ARIA Automation com o Ansible AWX, possibilitando a execução de playbooks tanto durante o deployment quanto nas ações do segundo dia, que são o foco principal deste tutorial.
Ao longo deste tutorial, conduzirei você através do processo de criação de uma ação personalizada para o segundo dia, aproveitando as funcionalidades poderosas das ações ABX e incorporando código Python para a execução eficiente em um servidor de código aberto Ansible AWX.
Requisitos:
- VMware ARIA Automaiton 8.14 ou 8.16 instalado [AQUI].
- Instalar o Ansible AWX: Certifique-se de que o Ansible AWX esteja corretamente instalado em seu ambiente. Caso ainda não o tenha feito, você pode seguir as instruções detalhadas no meu post [AQUI] para garantir uma configuração adequada.
- Preparar um Modelo: Tenha um cloud template pronto para invocar o playbook ou playbooks desejados. Este passo é crucial para a execução suave das ações no segundo dia. Certifique-se de que seu modelo esteja configurado de acordo com as necessidades do seu projeto.
- Integrar o ARIA com o Ansible AWX: Se você ainda não configurou a integração com o Ansible AWX, recomendo verificar [AQUI].
Configurando projeto no Ansible AWX
Tenha um projeto disponível para configurar os seus playbooks. É necessário criar um projeto e integrá-lo ao GitHub, no meu caso.

Crie e configure os templates para serem utilizados no seu deployment do ARIA.

Preencha todas as informações necessárias conforme imagem.

Marque a opção “Prompt on launch”.

Tudo pronto! Lembre-se de que o meu AWX está configurado. Se precisar de um guia passo a passo para a configuração, comente neste post, que disponibilizarei assim que possível. 🙂
Importe o arquivo ABX Action
Primeiro, baixe em meu git hub a ação ABX predefinida. Depois, você precisa importar o arquivo zip para a seção de Extensibilidade do Aria Automation e atribuí-lo a um projeto.

Agora vamos analisar algumas coisas do meu código python de integração por API com o ansible AWX.
sobre o available_templates = []
Esta variável é uma lista que contém os nomes dos templates disponíveis no ambiente AWX. Cada elemento representa um template específico, como “projeto_portal_play_vim”, “projeto_portal_play_tomcat”, etc. Isso significa que toda vez que você precisar de um novo playbook, você deve ir no código e colocar em available_templates = [“teste.yml”,teste2.yml”]



Personalizando parâmetros de ação
Você deve editar a ação e alterar as configurações para compartilhá-la entre projetos, caso contrário ela não estará disponível para uma ação de recurso personalizada.

Temos parâmetro de ação definido por variável de entrada. Será a entrada disponível no botão do dia 2.

Criando uma ação personalizada
Vamos criar a ação de recurso que será utilizada nos deployments com a instância do Ansible iniciada.

Configure conforme a imagem abaixo. O Nome de exibição é o nome da ação que o usuário visualiza ao abrir o menu de ações do objeto Ansible. Você pode definir se a ação estará disponível para algum projeto ou apenas para projetos específicos. No nosso caso, iremos utilizá-la em todos os projetos do ambiente. Esta é uma parte crucial; por enquanto, estou adotando uma estratégia que não depende disso, e, portanto, vou manter apenas um arquivo ABX criado, mas atualizado à medida que novos deployments forem surgindo.

Mantenha todas as ligações de propriedade como estão e selecione “editar parâmetros de solicitação” antes de salvar a ação do recurso.

No próximo designer de formulários, você pode personalizar os campos de acordo com suas necessidades. Nesta demonstração, utilizei a opção ‘Text Field‘ em ‘display type’. Não consegui usar com dropDown ou combobox. É um caso que precisarei estudar para entender o que está acontecendo.

Por fim, salve o formulário personalizado e salve a ação do recurso.
Realizando um deploy de um modelo
Agora é hora de testar a configuração. Você precisará de um modelo de nuvem implantado que inclua um objeto ansible (código aberto) para isso.

Após o deployment finalizado:

Use um destes playbooks…cada um faz referência ao deployment exclusivo criado no ARIA.

Vou escolher “projeto_portal_play_nano”

Status dasolicitação do job no ansible awx.

Job finalizado.

Pacote nano instalado.

Conclusão
Esse projeto tem algumas características interessantes. É necessário ter um conhecimento de Ansible para entender alguns detalhes, como o funcionamento do inventário e grupos. Meu projeto consiste em um conjunto de playbooks por deployment. Ainda tenho em mente algumas melhorias, mas a base do projeto é esta, e espero que a comunidade VMware se beneficie deste tutorial.
Até a próxima pessoal!
“Ser feliz é reconhecer que vale a pena viver, apesar de todos os desafios, incompreensões e períodos de crise. Ser feliz é deixar de ser vítima dos problemas e se tornar um autor da própria história.”
