Download presentation
Presentation is loading. Please wait.
1
Site Administration Tools: Ansible
Christos Kanellopoulos, GRNET SAGrid All-Hands Meeting, 26 March 2013
2
Started back on Feb 2012 (The new kid in block)
Project History Started back on Feb 2012 (The new kid in block) More than 1300 followers on GitHub 100+ Contributors in just 1 year Diverse user base (large .coms, hosting providers, universities, consultants, government agencies)
3
Config & Deployment over SSH
Features Config & Deployment over SSH Eliminate adoption overhead (eg No requirement for PKI) Self-bootstrapping No extra daemons, No Server, Nothing to Install on Client Machines Multi-Tier Management Very Simple management language
4
Paramiko: Python SSH (very easy to use)
Transport Options Paramiko: Python SSH (very easy to use) SSH: User plain OpenSSH (useful in cases where the authentication on the infrastructure is using Kerberor) Local: Runs directly on the client usually via cron Pull: Same like local mode, but with periodic pull request Fireball: Ephemeral 0mq daemon
5
Architecture
6
ansible/inventory [grid-cluster-services:children]
[grid-cluster-worker-nodes] wn001.localdomain … wn100.localdomain [grid-cluster-site-bdii] sbdii.localdomain [grid-cluster-cream-servers] cream01.localdomain [grid-cluster-storage-elements] se01.localdomain [grid-cluster-wms-servers] wms01.localdomain Wms02.localdomain [grid-cluster-apel-servers] apel01.localdomain [grid-cluster-site-services:children] grid-cluster-site-bdii grid-cluster-cream-servers grid-cluster-storage-elements grid-cluster-apel-servers … [grid-cluster-core-services:children] grid-cluster-wms-servers grid-cluster-myproxy-servers grid-cluster-logical-file-catalogs grid-cluster-nagios-servers [grid-cluster-services:children] grid-cluster-site-services grid-cluster-core-services [grid-cluster:children] grid-cluster-worker-nodes grid-cluster-services
7
More than 70 core modules Transport Options
pip selinux git yum apt user service copy template file nagios virt ini_file mysql Postgresql facter ohai subversion ping fireball
8
Parallel Task Execution
$ ansible ‘grid-cluster-wms-servers’ \ –m ping $ ansible ‘grid-cluster-worker-nodes’ –a \ ‘sudo –I /yaim -c –s site-info.def \ -n MPI_WN -n WN -n TORQUE_client` $ ansible all –m user ‘name=joe \ state=absent’
9
Idempotent Resource Model example
Service started: Started if not running stopped: Stop if running restarted: restart regardless Yum absent: remove if installed present: install if not installed *name=version: install a specific version latest: update if not at latest version
10
Release Engineering / Rolling Updates Set up dev environment
Playbooks OS Configuration App deployment Release Engineering / Rolling Updates Set up dev environment
11
Example playbook - include: tasks/yaim/config_dirs.yml
- hosts: nagios-servers user: ansible sudo: True vars_files: - vars/yaim.yml - vars/distros/Centos-5. tasks: - include: tasks/certificates/config.yml - include: tasks/egi-sam/repo.yml - include: tasks/glite/bdii-repo.yml - include: tasks/egi-sam/install.yml - include: tasks/egi-sam/nagios-server.yml - include: tasks/yaim/config_dirs.yml - include: tasks/yaim/vos/ops.yml - include: tasks/yaim/vos/dteam.yml - include: tasks/yaim/siteinfo.yml handlers: - include: handlers/nagios-server.yml - include: handlers/network.yml
12
Playbooks for Grid Services
Current Apel servers Cream CE SAM Nagios Site BDII Storage Element Worker Node Upcoming WMS MyProxy VOMS Top BDII
13
Further Information http://www.ansible.cc/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.