Slide 1

Slide 1 text

v1b – TonK – 1 ARA on RHEL7 Ton Kersten Ghent / Belgium / 2020 Welcome to hell

Slide 2

Slide 2 text

v1b – TonK – 2 $ who am i --- - name: Ton Kersten creds: work: UNIX/Linux consultant and Trainer @ AT Computing osses: UNIX/Linux Geek cfgmgmt: Configuration Management Addict - ansible: - Ansible user and contributor since 2012 - Ansible Ambassador since 2015 - Certified Specialist in Ansible Automation - puppet: - Puppet user since 2009 foss: Free and Open Source Software Enthusiast works: Big fan of things that just work

Slide 3

Slide 3 text

v1b – TonK – 3 ARA – What is it From the ARA website: ARA Records Ansible playbooks and makes them easier to understand and troubleshoot. ARA saves playbook results to a local or remote database by using an Ansible callback plugin and provides an API to integrate this data in tools and interfaces.

Slide 4

Slide 4 text

v1b – TonK – 4 ARA – The early days # pip install ara Configure Ansible # ara-manage runserver Connect browser to port 8080

Slide 5

Slide 5 text

v1b – TonK – 5 ARA – Now – backend Human Ansible ARA Callback ARA API server Database Ansible Playbook ① Callback Hooks ② Save to Database ④ Send Data ③ Return Results ⑤ Hook Returns ⑥ ⑦

Slide 6

Slide 6 text

v1b – TonK – 6 ARA – Now – Problems Human Ansible ARA Callback ARA API server Database Need Python 3.5+ Python 2.7 by default RHEL7 and CentOS7 have no Python3 by default

Slide 7

Slide 7 text

v1b – TonK – 7 ARA – Solution? Human Ansible ARA Callback ARA API server Database Install Python3 Ansible needs to come from PyPi No automatic updates No support by Red Hat Run Ansible in virtual env

Slide 8

Slide 8 text

v1b – TonK – 8 ARA – Frontend – NodeJS ARA Web Needs NodeJS In repository is too old Install from Internet No automatic updates No support by Red Hat

Slide 9

Slide 9 text

v1b – TonK – 9 ARA – Frontend – Connection error ARA Web No connection!! Not documented Searching internet Need whitelist in config

Slide 10

Slide 10 text

v1b – TonK – 10 ARA – Frontend – No access ARA Web Access denied!! Not documented Searching internet Nothing found No localhost but 192.168.0.10 Chatting on IRC

Slide 11

Slide 11 text

v1b – TonK – 11 ARA – Frontend – Database error ARA Web No table 'playbooks' Not documented Searching internet Nothing found Migration needed?? Chatting on IRC

Slide 12

Slide 12 text

v1b – TonK – 12 ARA – Steps needed ● Install Python3 ● Install Ansible through pip3 ● Install ARA server through pip3 ● Install npm ● Install django version 2.1 ● Configure ARA server (settings.yaml) ● Migrate ARA server database (when SQLite) ● Install NodeJS from the website ● Clone ARA Web ● Run npm install, npm audit fix and npm update ● Configure shell settings ● Start ARA Server and ARA Web Example script: http://tonkersten.com/files/makeara

Slide 13

Slide 13 text

v1b – TonK – 13 ARA – This is now

Slide 14

Slide 14 text

v1b – TonK – 14 Questions – – [email protected][email protected] – – http://www.atcomputing.nl – http://www.tonkersten.com – https://github.com/tonk – https://speakerdeck.com/tonk – @TonKersten on Twitter – TKersten on IRC Contact me