An Empirical Study of Utilization of Imperative Modules in Ansible

Shoma Kokuryo, Masanari Kondo, Osamu Mizuno

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In recent years, a configuration management tool is adopted to manage complicated and huge systems such as bare-metal servers, cloud computing resources and our personal computers. Such a tool makes the operations to deploy services more ecient and eliminates dependencies on the specific system operators. The operations are required to be idempotent for reproducible deployment. However, the imperative modules whose operations may not be idempotent are used frequently to execute user-defined scripts on the target system; it is unclear why and how they are used, though using them frequently is believed to be a bad practice.In this paper, we studied why and how imperative modules are used in a configuration management tool, Ansible. We found that imperative modules are mainly used to perform operations that are not supported by Ansible, and about 45% of imperative modules are replaceable by other modules; the replaceable modules might be idempotent. We, therefore, recommend developers to look at replaceable modules before using imperative modules since replaceable modules might make their operations idempotent.

Original languageEnglish
Title of host publicationProceedings - 2020 IEEE 20th International Conference on Software Quality, Reliability, and Security, QRS 2020
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages442-449
Number of pages8
ISBN (Electronic)9781728189130
DOIs
Publication statusPublished - Dec 2020
Externally publishedYes
Event20th IEEE International Conference on Software Quality, Reliability, and Security, QRS 2020 - Macau, China
Duration: Dec 11 2020Dec 14 2020

Publication series

NameProceedings - 2020 IEEE 20th International Conference on Software Quality, Reliability, and Security, QRS 2020

Conference

Conference20th IEEE International Conference on Software Quality, Reliability, and Security, QRS 2020
CountryChina
CityMacau
Period12/11/2012/14/20

All Science Journal Classification (ASJC) codes

  • Artificial Intelligence
  • Computer Networks and Communications
  • Safety, Risk, Reliability and Quality
  • Modelling and Simulation
  • Software

Fingerprint Dive into the research topics of 'An Empirical Study of Utilization of Imperative Modules in Ansible'. Together they form a unique fingerprint.

Cite this