mirror of
https://github.com/geerlingguy/ansible-role-apache
synced 2025-01-10 11:50:18 +01:00
Modernize action calls and clean comments a bit
This commit is contained in:
parent
93c899a287
commit
bfa2f1cd2b
1 changed files with 20 additions and 12 deletions
|
@ -1,10 +1,16 @@
|
|||
---
|
||||
# This playbook is an example for deploying multiple instances into EC2/Euca and "doing something" with them.
|
||||
# This playbook is an example for deploying multiple instances into
|
||||
# EC2/Euca and "doing something" with them.
|
||||
#
|
||||
# - uses the ec2 and ec2_vol module.
|
||||
#
|
||||
# Run this with ansible-playbook and supply the private key for your EC2/Euca user (to access the instance in the second play), e.g:
|
||||
# Run this with ansible-playbook and supply the private key for your
|
||||
# EC2/Euca user (to access the instance in the second play), e.g:
|
||||
#
|
||||
# ansible-playbook eucalyptus-ec2-deploy.yml -v --private-key=/path/to/ec2/pri/key
|
||||
#
|
||||
|
||||
# The play operates on the local (Ansible control) machine.
|
||||
- name: Stage instance(s)
|
||||
hosts: local
|
||||
connection: local
|
||||
|
@ -21,37 +27,39 @@
|
|||
|
||||
tasks:
|
||||
- name: Launch instance
|
||||
local_action: ec2 keypair={{keypair}} group={{security_group}} instance_type={{instance_type}} image={{image}} wait=true count=5
|
||||
ec2: keypair={{keypair}} group={{security_group}}
|
||||
instance_type={{instance_type}} image={{image}}
|
||||
wait=true count=5
|
||||
register: ec2
|
||||
|
||||
# Use with_items to add each instances public IP to a new hostgroup for use in the next play.
|
||||
|
||||
- name: Add new instances to host group
|
||||
local_action: add_host hostname={{item.public_ip}} groupname=deploy
|
||||
add_host: hostname={{item.public_ip}} groupname=deploy
|
||||
with_items: ec2.instances
|
||||
|
||||
- name: Wait for the instances to boot by checking the ssh port
|
||||
local_action: wait_for host={{item.public_dns_name}} port=22 delay=60 timeout=320 state=started
|
||||
wait_for: host={{item.public_dns_name}} port=22 delay=60 timeout=320 state=started
|
||||
with_items: ec2.instances
|
||||
|
||||
# Use the ec2_vol module to create volumes for attachment to each instance. Use with_items to attach to each instance (by returned id) launched previously.
|
||||
# Use the ec2_vol module to create volumes for attachment to each instance.
|
||||
# Use with_items to attach to each instance (by returned id) launched previously.
|
||||
|
||||
- name: Create a volume and attach
|
||||
local_action: ec2_vol volume_size=20 instance={{item.id}}
|
||||
ec2_vol: volume_size=20 instance={{item.id}}
|
||||
with_items: ec2.instances
|
||||
|
||||
# This play targets the new host group
|
||||
|
||||
# This play targets the new host group
|
||||
- name: Configure instance
|
||||
hosts: deploy
|
||||
user: root
|
||||
gather_facts: True
|
||||
|
||||
# Do some stuff on each instance ....
|
||||
|
||||
tasks:
|
||||
- name: Ensure NTP is up and running
|
||||
action: service name=ntpd state=started
|
||||
service: name=ntpd state=started
|
||||
|
||||
- name: Install Apache Web Server
|
||||
action: yum pkg=httpd state=latest
|
||||
yum: pkg=httpd state=latest
|
||||
|
|
Loading…
Reference in a new issue