Litcius/Paper detail

Practical fault detection in puppet programs

Thodoris Sotiropoulos, Dimitris Mitropoulos, Diomidis Spinellis

202022 citationsDOI

Abstract

Puppet is a popular computer system configuration management tool. By providing abstractions that model system resources it allows administrators to set up computer systems in a reliable, predictable, and documented fashion. Its use suffers from two potential pitfalls. First, if ordering constraints are not correctly specified whenever a Puppet resource depends on another, the non-deterministic application of resources can lead to race conditions and consequent failures. Second, if a service is not tied to its resources (through the notification construct), the system may operate in a stale state whenever a resource gets modified. Such faults can degrade a computing infrastructure's availability and functionality.

Topics & Concepts

Computer scienceConstruct (python library)Resource (disambiguation)Set (abstract data type)Service (business)Distributed computingState (computer science)Resource management (computing)Fault (geology)Computer securityProgramming languageComputer networkGeologyEconomyEconomicsSeismologySoftware System Performance and ReliabilityAdvanced Software Engineering MethodologiesSoftware Engineering Research