Skip to main content
🤖 Running agents for a team, not just yourself? Get an independent review of identity, secrets, failover, observability and governance. Assess your agent platform
Luca Berton presenting at Ansible London Meetup 2024
Automation

Ansible London Meetup 2024: GraphRAG and Neo4j

Luca Berton demos GraphRAG deployment with Ansible + OpenAI at Ansible London Meetup 2024 — a night full of innovation, automation, and community.

LB
Luca Berton
· 5 min read

🇬🇧 Ansible London Meetup – September 23, 2024

Yesterday’s Ansible London Meetup was full of open-source energy and community connections! I had the pleasure of demoing how to deploy GraphRAG using Ansible — integrating the power of OpenAI’s ChatGPT LLM with the Neo4j graph database.

The room was packed with excitement, and I’m still buzzing from the incredible conversations and curiosity from everyone who attended!

Luca Berton presenting at Ansible London Meetup 2024


My Talk: Deploying GraphRAG with Ansible

For my demo, I showcased how to use Ansible to:

  • Automate the deployment of Neo4j
  • Connect and configure OpenAI’s LLM (ChatGPT) for GraphRAG
  • Showcase how graph-enhanced retrieval can be orchestrated smoothly using Ansible Playbooks
  • Highlight how this integrates into modern GenAI pipelines

It was awesome to see the audience’s response and the thoughtful follow-up questions afterward!


Community Highlights

A huge thank you to Sorin Sbarnea (Ansible DevTools team lead) for the update on what’s new in the Ansible development tools, and to the Ansible community team for their look at how the community runs. Both talks are summarised below.

Big shout-out to Dell Technologies for hosting us in a top-notch venue, and of course to the amazing organizers who made it all possible.

The audience in the Dell Technologies meeting room in London listening to the Ansible Development Tools talk, with slides on two screens The room at Dell Technologies in London during the Ansible development tools talk.


Other Talks

I also photographed the slides of two other talks that evening. These notes come from those photos.

Ansible DevTools: what’s new in Q4 2024

The title slide named the speaker as Sorin Sbarnea, Principal Software Engineer and Ansible DevTools Team Lead.

Sorin Sbarnea presenting the title slide 'Ansible DevTools: What's new in Q4 2024' at the Ansible London meetup “Ansible DevTools: What’s new in Q4 2024”.

  • ansible-dev-tools is “a package of tools that enable automation developers to create, test and deploy Ansible automation quickly, consistently and effectively”. It gives you an easy way to install and discover the tools, and it makes sure their versions are compatible. It’s available as a Python package and an execution environment (EE) container upstream, or as an RPM for AAP 2.5 users. The slide ran pip3 install ansible-dev-tools, then adt --version, which listed ansible-builder, ansible-core, ansible-creator, ansible-dev-environment, ansible-lint, ansible-navigator, ansible-sign, molecule and pytest-ansible.
  • CI/CD support: components that help you create, test and deploy Ansible content “by just adding few lines to your GHA workflow”. For example, the linter can run on your GitHub pull requests.

Slide 'Ansible development tools package (ansible-dev-tools)' with the adt --version output listing the bundled tools One pip install and adt --version shows the versions of every bundled tool.

  • Molecule 6 was “a refocus of the project as a test runner for functional testing of Ansible playbooks and roles with Ansible itself”. The delegated driver became the only supported driver, and the testinfra tester was removed from the distribution. Planned next: better interoperability with collections, and support for running collection integration tests.
  • The Ansible VS Code extension: live validation as you type, keyword syntax highlighting and Ansible Lightspeed generative AI suggestions.

Slide 'Ansible Molecule - functional test runner' listing what is new in Molecule 6 Molecule 6: delegated driver only, testinfra removed.

  • ansible-content-actions (experimental), “Using Github Actions with minimal effort”. It uses tox-ansible to work out the test matrix (Ansible and Python versions), chains different tests under a single GitHub Actions job to cut the CI/CD footprint, and lets maintainers skip parts of the matrix. It also builds and publishes the changelog without hand-written changelog.yml entries, enables testing against new ansible-core releases automatically, and publishes to Galaxy. The slide’s caveat: “As of Sep. 2024, content-actions are not ready for production testing yet.”

Slide 'ansible-content-actions (experimental)' listing its goals and a GitHub Actions matrix build ansible-content-actions: one GitHub Actions workflow for lint, test matrix, changelog and Galaxy publishing.

The closing slide pointed to the DevTools team pages, the #devtools tag on forum.ansible.com and Matrix for live chat.

My take: Molecule’s move to the delegated driver is the change most likely to break older scenarios. With the delegated driver, you write the create and destroy steps as playbooks yourself. For the CI side, see my guide to testing Ansible with Molecule and GitHub Actions.

The Ansible community team

The other talk came from the Ansible community team at Red Hat. Their slide summed up the job as enabling contributors, managing community releases and helping to oversee collection maintenance.

A member of the Ansible community team presenting the 'Community team' slide: enabling contributors, managing community releases, helping to oversee collection maintenance The community team’s remit, in three bullets.

Most of the talk was about splitting the documentation out of ansible/ansible:

  • The ansible/ansible repository runs Azure Pipelines with 60+ tests against contributor pull requests, each over a matrix of target versions. Every documentation commit had to pass all of them too.
  • The fix, under the heading “Shared ownership of content”, was to move the docs into their own repository, ansible/ansible-documentation.
  • To build on top of ansible/ansible, a clone-core.py script clones the relevant parts of ansible-core into the docs source tree.
  • Dependencies are pinned with lock files generated from requirements.in, requirements-relaxed.in, constraints.in and constraints-base.in.
  • Test automation uses nox. The noxfile.py sessions include static checks, formatters, typing, RST spell checking, pip-compile lock refreshes, clone-core, the docs-build and rstcheck checkers, and make.
  • “Queue the bots”: an ansible-documentation-bot commits the dependency refreshes.

Slide 'Test automation with nox' showing the nox --list output for the ansible-documentation repository nox --list in ansible-documentation: lint, spelling, lock-file compiles and docs build checkers.

The talk ended with community release management (a shadow release manager and release manager rota for the Ansible package, “with help from friends and the Ansible steering committee”), the collection inclusion process, and a “Types of contributions” slide. It listed code (mostly Python), content collections, documentation, meetups and events, advocacy and outreach, web design and knowledge sharing, under the line “Not all heroes wear capes”.


Grateful for Conversations With…

It was an absolute joy reconnecting and sharing stories with:

Magnus Glantz, Douglas Caron, Anwesha Das, Juozas Auskalnis, Xavier JS,
James Freeman, Phil Cornelius, Massimo Ferrari, Matti Nieminen,
John B., Ben Joyce, Max Birchenough, Matthew Gardner, and many more.

The strength of the Ansible community lies not only in code, but in collaboration, sharing, and growth.


Stay Connected

Want to learn more about GraphRAG, Neo4j, or automation with Ansible?

👉 Follow me on LinkedIn
👉 Visit Ansible Pilot for demos, tutorials, and articles
👉 Join the Ansible London Meetup

I went back for the November edition: see Ansible London, November 2024: Lockdown, goss and Hetzner.

Free 30-min Production AI consultation

Book Now