I am new in ansible and want to create a playbook that stop /start a full platform

34 views
Skip to first unread message

Jonay Herrera y Steendam

unread,
Mar 13, 2017, 9:38:34 AM3/13/17
to Ansible Project
Hi,

I am new with   ansible and  will  try  to  automate the  whole  stop/start  procedure  of a platform  but I don't know how to start:
this  is the  sequence:
  1. stop all client applications  on  appserver1,appserver2, appserver3, appserver4
  2. stop the  Linux  servers (poweroff) appserver1, appserver2, appserver3, appserver4 on  Vmware
  3. stop  apps on the  master servers mainserver1, mainserver2
  4. stop Linux ( poweroff)  of  the  masterservers on  Vmware
and  when  the  same  to  start the  application platform, but I think that  I need  two  playbooks  to  stop and  to start the  platform?
my Idea was  something like this :

playbook:
- name: automatic STOP Application platform 
  hosts: MDC
  sudo: True
  vars_files:
    # User defined variables for infrastructure
    - infra-vars.yml
    # Infrastructure passwords
    #- secrets.yml
  roles:
    - role: STOP_APPSSERVERS
    - role: STOP_MAINSERVERS

but can  I define  different  servers  for  the  different  roles on  central inventory ?

because  this  need   to  be usable  for  a development  environment, preproduction environment and  production  environment. and  each  environment has  his  own  servers ...

thanks to   help  me,

Jonay
    

J Hawkesworth

unread,
Mar 14, 2017, 5:17:03 AM3/14/17
to Ansible Project
You can have multiple plays inside one playbook.  This lets you target different groups of servers - something like this:

---
- hosts: webservers
  roles
:
   
- webservers_stop


- hosts: databases
  roles
:
   
- databases_stop


- hosts: webservers:databases
  roles
:
 
- common_services_stop
 
- hosts: localhost
  tasks
:
    vmware_guest
:
     
... powerdown commands would go here


  
Hope this helps,

Jon
Reply all
Reply to author
Forward
0 new messages