<div class="csl-bib-body">
<div class="csl-entry">Hanappi, O., Hummer, W., & Dustdar, S. (2016). Asserting Reliable Convergence for Configuration Management Scripts. In E. Visser & Y. Smaragdakis (Eds.), <i>OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications</i> (pp. 328–342). ACM. https://doi.org/10.1145/2983990.2984000</div>
</div>
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/55433
-
dc.description.abstract
The rise of elastically scaling applications that frequently deploy new machines has led to the adoption of DevOps practices across the cloud engineering stack. So-called configuration management tools utilize scripts that are based on declarative resource descriptions and make the system converge to the desired state. It is crucial for convergent configurations to be able to gracefully handle transient faults, e.g., network outages when downloading and installing software packages. In this paper we introduce a conceptual framework for asserting reliable convergence in configuration management. Based on a formal definition of configuration scripts and their resources, we utilize state transition graphs to test whether a script makes the system converge to the desired state under different conditions. In our generalized model, configuration actions are partially ordered, often resulting in prohibitively many possible execution orders. To reduce this problem space, we define and analyze a property called preservation, and we show that if preservation holds for all pairs of resources, then convergence holds for the entire configuration. Our implementation builds on Puppet, but the approach is equally applicable to other frameworks like Chef, Ansible, etc. We perform a comprehensive evaluation based on real world Puppet scripts and show the effectiveness of the approach. Our tool is able to detect all idempotence and convergence related issues in a set of existing Puppet scripts with known issues as well as some hitherto undiscovered bugs in a large random sample of scripts.
en
dc.language.iso
en
-
dc.subject
Testing
en
dc.subject
Convergence
en
dc.subject
Idempotence
en
dc.subject
Configuration Management
en
dc.subject
DevOps
en
dc.subject
System Configuration Scripts
en
dc.subject
Declarative Language
en
dc.subject
Puppet
en
dc.title
Asserting Reliable Convergence for Configuration Management Scripts
en
dc.type
Konferenzbeitrag
de
dc.type
Inproceedings
en
dc.relation.publication
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
-
dc.relation.isbn
978-1-4503-4444-9
-
dc.relation.doi
10.1145/2983990
-
dc.description.startpage
328
-
dc.description.endpage
342
-
dc.type.category
Full-Paper Contribution
-
tuw.booktitle
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
-
tuw.peerreviewed
true
-
tuw.relation.publisher
ACM
-
tuw.researchTopic.id
I4
-
tuw.researchTopic.id
C5
-
tuw.researchTopic.name
Distributed and Parallel Systems
-
tuw.researchTopic.name
Computer Science Foundations
-
tuw.researchTopic.value
95
-
tuw.researchTopic.value
5
-
tuw.publication.orgunit
E194-02 - Forschungsbereich Distributed Systems
-
tuw.publisher.doi
10.1145/2983990.2984000
-
dc.description.numberOfPages
15
-
tuw.event.name
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016)
-
tuw.event.startdate
02-11-2016
-
tuw.event.enddate
04-11-2016
-
tuw.event.online
On Site
-
tuw.event.type
Event for scientific audience
-
tuw.event.place
Amsterdam
-
tuw.event.country
NL
-
tuw.event.presenter
Hanappi, Oliver
-
wb.sciencebranch
Informatik
-
wb.sciencebranch.oefos
1020
-
wb.presentation.type
science to science/art to art
-
item.languageiso639-1
en
-
item.openairetype
conference paper
-
item.grantfulltext
none
-
item.fulltext
no Fulltext
-
item.cerifentitytype
Publications
-
item.openairecristype
http://purl.org/coar/resource_type/c_5794
-
crisitem.author.dept
TU Wien
-
crisitem.author.dept
E184 - Institut für Informationssysteme
-
crisitem.author.dept
E194-02 - Forschungsbereich Distributed Systems
-
crisitem.author.orcid
0000-0001-6872-8821
-
crisitem.author.parentorg
E180 - Fakultät für Informatik
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering