SoftwareX (Jul 2022)
Ansible execution control in Python and Golang for cloud orchestration
Abstract
The Ansible configuration manager is currently one of the most popular systems for software deployment. However, Ansible is difficult to debug when working with large scenarios and is difficult to embed into other systems. We propose the cotea (Python) and gocotea (Golang) tools that allow users to control Ansible execution programmatically, by iterating over the tasks and collecting progress information. We additionally propose gopython — a solution for embedding arbitrary Python code into a Golang application. The approach used was generalized up to the abstract architecture of the software tool, which allows for the control of an arbitrary Python program execution.