%0 Conference Proceedings %T Testing Idempotence for Infrastructure as Code %+ Vienna University of Technology = Technische Universität Wien (TU Wien) %+ IBM Thomas J. Watson Research Center %A Hummer, Waldemar %A Rosenberg, Florian %A Oliveira, Fábio %A Eilam, Tamar %Z Part 4: Services %< avec comité de lecture %( Lecture Notes in Computer Science %B 14th International Middleware Conference (Middleware) %C Beijing, China %Y David Hutchison %Y Takeo Kanade %Y Madhu Sudan %Y Demetri Terzopoulos %Y Doug Tygar %Y Moshe Y. Vardi %Y Gerhard Weikum %Y David Eyers %Y Karsten Schwan %Y Josef Kittler %Y Jon M. Kleinberg %Y Friedemann Mattern %Y John C. Mitchell %Y Moni Naor %Y Oscar Nierstrasz %Y C. Pandu Rangan %Y Bernhard Steffen %I Springer %3 Middleware 2013 %V LNCS-8275 %P 368-388 %8 2013-12-09 %D 2013 %R 10.1007/978-3-642-45065-5_19 %K Middleware Deployment %K Software Automation %K Idempotence %K Convergence %K Infrastructure as Code %K Software Testing %Z Computer Science [cs] %Z Computer Science [cs]/Networking and Internet Architecture [cs.NI]Conference papers %X Due to the competitiveness of the computing industry, software developers are pressured to quickly deliver new code releases. At the same time, operators are expected to update and keep production systems stable at all times. To overcome the development–operations barrier, organizations have started to adopt Infrastructure as Code (IaC) tools to efficiently deploy middleware and applications using automation scripts. These automations comprise a series of steps that should be idempotent to guarantee repeatability and convergence. Rigorous testing is required to ensure that the system idempotently converges to a desired state, starting from arbitrary states. We propose and evaluate a model-based testing framework for IaC. An abstracted system model is utilized to derive state transition graphs, based on which we systematically generate test cases for the automation. The test cases are executed in light-weight virtual machine environments. Our prototype targets one popular IaC tool (Chef), but the approach is general. We apply our framework to a large base of public IaC scripts written by operators, showing that it correctly detects non-idempotent automations. %G English %Z TC 6 %Z WG 6.1 %2 https://inria.hal.science/hal-01480784/document %2 https://inria.hal.science/hal-01480784/file/978-3-642-45065-5_19_Chapter.pdf %L hal-01480784 %U https://inria.hal.science/hal-01480784 %~ IFIP-LNCS %~ IFIP %~ IFIP-TC %~ IFIP-WG %~ IFIP-TC6 %~ IFIP-WG6-1 %~ IFIP-LNCS-8275 %~ IFIP-MIDDLEWARE