Understanding Execution Faults in Ansible-based Configuration Management
Date
2025-04-21Type of Degree
Master's ThesisDepartment
Computer Science and Software Engineering
Metadata
Show full item recordAbstract
Ansible is a popular tool for implementing the practice of infrastructure as code. While usage of the tool yields benefits for practitioners, faulty execution of Ansible configuration scripts can cause serious consequences, such as crashes. An analysis of execution faults, i.e., faults that occur in Ansible's executor component, can aid practitioners in validation and verification activities to facilitate reliable execution of configuration scripts. An empirical study of 33 execution faults collected from the open-source Ansible repository was conducted. I derive 6 fault categories and 4 fault consequences. By analyzing 33 issue reports related to execution faults, I also derive properties to perform verification of the executor component in Ansible. Using formal verification, I reproduce one fault, and identify one new fault in the executor component of Ansible, which has been confirmed to be valid by Ansible contributors. Dataset and source code used for this thesis are publicly available online.