The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.
@InProceedings{bertrand:icalepcs2019-weapp04, author = {B. Bertrand and S. Armanet and J. Christensson and A. Curri and A. Harrisson and R. Mudingay}, title = {{ICS Infrastructure Deployment Overview at ESS}}, booktitle = {Proc. ICALEPCS'19}, pages = {875--879}, paper = {WEAPP04}, language = {english}, keywords = {network, controls, database, interface, framework}, venue = {New York, NY, USA}, series = {International Conference on Accelerator and Large Experimental Physics Control Systems}, number = {17}, publisher = {JACoW Publishing, Geneva, Switzerland}, month = {08}, year = {2020}, issn = {2226-0358}, isbn = {978-3-95450-209-7}, doi = {10.18429/JACoW-ICALEPCS2019-WEAPP04}, url = {https://jacow.org/icalepcs2019/papers/weapp04.pdf}, note = {https://doi.org/10.18429/JACoW-ICALEPCS2019-WEAPP04}, abstract = {The ICS Control Infrastructure group at the European Spallation Source (ESS) is responsible for deploying many different services. We treat Infrastructure as code to deploy everything in a repeatable, reproducible and reliable way. We use three main tools to achieve that: Ansible (an IT automation tool), AWX (a GUI for Ansible) and CSEntry (a custom in-house developed web application used as Configuration Management Database). CSEntry (Control System Entry) is used to register any device with an IP address (network switch, physical machines, virtual machines). It allows us to use it as a dynamic inventory for Ansible. DHCP and DNS are automatically updated as soon as a new host is registered in CSEntry. This is done by triggering a task that calls an Ansible playbook via AWX API. Virtual machines can be created directly from CSEntry with one click, again by calling another Ansible playbook via AWX API. This playbook uses proxmox (our virtualization platform) API for the VM creation. By using Ansible groups, different proxmox clusters can be managed from the same CSEntry web application. Those tools give us an easy and flexible solution to deploy software in a reproducible way.}, }