ARA on RHEL7 - Welcome to Hell

B2e63b26ebea5776f2d8f8a867f7a740?s=47 Ton Kersten
February 04, 2020

ARA on RHEL7 - Welcome to Hell

When you try to run ARA with Ansible on a RHEL7 server you end up with dependencies, things not available on RHEL7, illogical configuration settings and more.

I have solved all these troubles for you and in this presentation you can see how.

Absolutely needed disclaimer: On RHEL8 and CentOS8 it works out of the box!!

B2e63b26ebea5776f2d8f8a867f7a740?s=128

Ton Kersten

February 04, 2020
Tweet

Transcript

  1. v1b – TonK – 1 ARA on RHEL7 Ton Kersten

    Ghent / Belgium / 2020 Welcome to hell
  2. 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
  3. 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.
  4. v1b – TonK – 4 ARA – The early days

    # pip install ara Configure Ansible # ara-manage runserver Connect browser to port 8080
  5. 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 ⑥ ⑦
  6. 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
  7. 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
  8. 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
  9. v1b – TonK – 9 ARA – Frontend – Connection

    error ARA Web No connection!! Not documented Searching internet Need whitelist in config
  10. 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
  11. v1b – TonK – 11 ARA – Frontend – Database

    error ARA Web No table 'playbooks' Not documented Searching internet Nothing found Migration needed?? Chatting on IRC
  12. 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
  13. v1b – TonK – 13 ARA – This is now

  14. v1b – TonK – 14 Questions – – Ton.Kersten@ATComputing.nl –

    Santa@TonKersten.com – – http://www.atcomputing.nl – http://www.tonkersten.com – https://github.com/tonk – https://speakerdeck.com/tonk – @TonKersten on Twitter – TKersten on IRC Contact me