Deploying Tango Device Servers with Ansible: Streamlining Configuration and Deployment

Deploying Tango Device Servers with Ansible: Streamlining Configuration and Deployment
Slide Note
Embed
Share

Ansible is a powerful open-source tool for managing configurations, orchestrating tasks, and deploying applications. In this guide, explore how Ansible is used at MAX IV for setting up operating systems, managing control system requirements, deploying software, and updating the Tango database through modules like tango_config. Learn about Ansible concepts such as Playbooks, roles, and inventory, and see how packages, devices, and variables are linked within the Ansible framework to efficiently deploy and manage Tango Device Servers. Instances can be seamlessly restarted during updates, ensuring a smooth deployment process.

  • Ansible
  • Configuration Management
  • Application Deployment
  • Orchestration
  • Tango Device Servers

Uploaded on Mar 08, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Deploying Tango Device Servers with Ansible Benjamin Bertrand

  2. Ansible Open-source configuration management, orchestration and application deployment tool Used at MAX IV for: OS Setup (NTP, authentication, internal repositories ) Control System requirements and configuration Software deployment (RPM and conda) See THBL01 from ICALEPCS 2021 3

  3. Ansible concepts A Playbook is a YAML file describing an ordered list of tasks that are mapped to a group of hosts Each task performs an action using a module (unit of code Ansible executes) $ ansible-playbook i hosts playbook.yml A role is a group of variables, tasks, files, and handlers that are stored in a standardized file structure. Inventory: list of hosts to manage 4

  4. Previously: packages_stable and tango- devices RPM to deploy 5

  5. tango_config Ansible module Use dsconfig to update the Tango database 6

  6. ans_maxiv_tango_ds Ansible role No link between the packages and tango devices 7

  7. ans_maxiv_tango_ds Ansible role The role just converts the tango_ds variable to the proper format for the following Ansible modules: tango_config: register and configure tango devices yum/package or conda_env: deploy tango servers via RPM or conda tango_starter: ensure the Tango Device Servers are started or restarted (in case of change) 8

  8. tango_starter Ansible module 9

  9. tango_ds play 1/2 10

  10. tango_ds play 2/2 11

  11. Conclusion Simple way to define Tango Device Servers using a nested list of servers -> instances -> devices Tango Devices Servers and packages to deploy/update are defined together Instances can be restarted automatically when deploying a new version 12

  12. References Ansible: https://docs.ansible.com/ansible/latest/index.html MAX IV Ansible roles: https://gitlab.com/MaxIV/ansible-galaxy conda and conda_env modules tango_config module tango_starter module ans_maxiv_role_tango_ds role 13

More Related Content