‘Project Wisdom’ for Red Hat Ansible: AI to generate YAML playbooks from natural language

puppet automation

Red Hat has introduced “Project Wisdom”, a natural language processor for creating Ansible playbooks, used to automate application deployment and IT infrastructure updates. The project was unveiled at the AnsibleFest event under way in Chicago.

Project Wisdom uses technology from IBM Research, AI for Code, which aims to use AI for modernizing software stacks, automating programming, and refactoring systems.

YAML, which among other things is the configuration language for Ansible playbooks, is well known for being tricksy and Red Hat itself offers tips for “people who hate YAML.”

According to today’s information, “Project Wisdom intends to bridge the gap between Ansible YAML code and human language, so users can use plain English to generate syntactically correct and functional automation content.” Red Hat also makes the grand claim that “a developer who knows how to build an application, but not the skillset to provision it in a new cloud platform, could use Project Wisdom to expand proficiencies in these new areas.”

At a press briefing, Red Hat said that Project Wisdom uses a large language model, which simply means that a large amount of data was used for training. Typically this gives the AI higher accuracy and more capabilities than can be achieved with small models. Users will “type what they want to do in Visual Studio Code, and our existing Ansible extension will generate a syntactically correct and functional piece of code,” promises one of the slides, which sounds similar to the way programming assistants like GitHub Copilot generate code suggestions from comments.

Is Project Wisdom more for beginners learning Ansible, or experts aiming to be more productive? “It’s both,” senior manager of product management, Richard Henshall told DevClass. “There’s going to be a massive benefit for those users that don’t know,” he claimed.

This might not be a complete beginner, but someone whose skills are strong in some areas but weak in others. He referenced as an example, getting PostgreSQL running on AWS.

“AWS doesn’t have a PostgreSQL module in Ansible. So the system has to work out all the events that have to happen, to spit out an EC2 [Elastic Compute Cloud] instance with a VPC (Virtual Private Cloud] with some storage, with a network port, and then you can put PostgreSQL on top of it,” he said. This could help someone who knew how to get something running on Microsoft Azure, but not on AWS. “I can actually ask it to help me get from one to the other.”

Future hopes include the idea of “biassing models towards established corporate standards,” said Henshall, so that the AI would generate not only a playbook that worked, but also one that conforms with policy on matters like the version of the operating system, logging configuration, resiliency and more. It is early days though. “We will go forward with an alpha, beta plan to get it out into the community’s hands and see how they like it, whether it does what people want it to do.”