Ansible – Notificação via Cisco Spark

Olá Pessoal,

   Conforme venho trazendo em nosso BLOG as diretrizes do Ansible e as metodologias que ele traz para entrarmos de cabeça no DevOps, ou seja, hoje vou trazer uma outra ferramenta na intenção de criarmos interação entre elas, e assim, se obter de benefícios que possa trazer para nosso dia a dia, ou de idéias que possa oferecer para você trabalhar em seu dia a dia.

   Você conhece o Spark? Se não conhece, eu gostaria de mencionar que ele é uma ferramenta de messaging e outros ítens adicionais como video calling, desenhos interativos, reunião on-line, white boarding etc. Como o próprio nome diz, ele é uma ferramenta da Cisco, que por sua vez, também pode trabalhar diversas formas, assim como outros messaging e interagindo através de BOT. Se quiser saber mais sobre a ferramenta visite o site do Cisco Spark.

   Talvez você venha-se perguntar, deve custar uma fortuna ( rsrsrs ), mas nesse caso o Cisco Spark é uma ferramenta free, que inclusive você pode se registrar através do link informado acima. Claro que, se necessitar dos recursos adicionais para fazer video bridge terá licenças adicionais, mas para nosso propósito relacionado a notificação via Ansible o cadastro pode ser feito gratuitamente.

   Depois dessa abordagem, para falar um pouco sobre essa ferramenta, gostaria de mencionar sobre outro parâmetro que terá muita importância na criação de nossa notificação via ansible em uma sala de bate papo do Spark. Para que esse processo aconteça, você necessita fazer acesso ao site do Developer do Cisco Spark, para que a partir desse acesso você consiga obter seu querido é amado token. ( rsrs ). Para acessar vá ao site developer do Cisco Spark e após logado em sua conta, clique em sua foto e guarde o seu token para que possamos utilizar posteriormente em nosso playbook. Veja abaixo:

   Após esse processo voltamos ao nosso mundo de Ansible, onde podemos consultar através da documentação sobre a configuração de nossa integração com o Spark. Verifique o documento para obter os dados sobre o Ansible usando Spark.

   Seguindo nosso projeto Ansible eu criei um arquivo chamado Spark.yaml que será utilizado para executar a notificação após a execução de nosso playbook. Fiquem a vontade de adicionar essas linhas onde melhor se encaixar em seu projeto.

---
- name: Cisco Spark - Text Message to a Room
  cisco_spark:
     recipient_type: roomId
     recipient_id: "{{ spark['roomId'] }}"
     message_type: markdown
     personal_token: "{{ spark['spark_token'] }}"
     message: "### {{ inventory_hostname }} - Show ip interfaces \n\n {{ interfaces.stdout }} \n\n"

   Vale lembrar que o campos mencionados como ” roomId ” e ” spark_token ” são variáveis que devem ser adquiridas através do Spark e também no meu caso eu deixei esse valores com essas variáveis inseridas em nosso arquivo de ” secret.yaml “.

   Para enviar sua notificação lembre-se de criar uma sala de bate papo no Spark, no meu caso eu criei como ” Playbook Notification “. Para que você descubra qual é seu ” roomId ” e necessario via developer webpage pesquisar pela API qual é o codigo da sala. Acesse API Reference -> Rooms -> Get Room Details

   Após essa validação é necessario executar o ” RUN ” para que você capture seu ID, conforme abaixo:

   Com essas informações você pode trabalhar da melhor maneira para publicar essa notificação, entretanto segue mensagem recebida depois de finalização de nosso playbook e consequentemente a informação desejada:

   Com isso você podem perceber o poder que temos nas mãos após mostrar essas duas notificações. Lógico que não somente trabalhar com as notificações seja o mais interessante, mas aqui vocês podem observar que temos muita “ bala na agulha  😉  ” para desenvolver nossos BOTs e assim interagir com eles para execução de outras tarefas um pouco mais complexas.

   Espero que vocês tenham gostado e novos posts serão publicados.

Abs,
Rodrigo

0
0

Permanent link to this article: https://ciscoredes.com.br/2017/09/25/ansible-notificacao-via-cisco-spark/

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate