Hi
I'm trying to automate creating and destroying our staging environment. So 
far, I have a playbook to create the cluster:

---
- name: Launch an EC2 instance from our our latest AMI in staging
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
  - name: Start the new EC2 instance
    ec2:
      image:  ami-xxxxxxxx
      region: ap-southeast-1
      zone:   ap-southeast-1b
      instance_type: m3.medium
      vpc_subnet_id: subnet-xxxxxxxx
      group_id: ['sg-xxxxxxxx', 'sg-xxxxxxxx']
      key_name: blahblah-deploy
      instance_tags:
        Cluster:  grabqa01
        Name:     "{{ item}}.grabqa01.net"
        Env:      staging
        Role:     "{{ item }}"
    with_items:
      - redis
      - postgresql
      - frontend
      - dispatcher-athena
      - dispatcher-hermes
      - dispatcher-listener
      - dispatcher-processor
      - poi

Now since EC2 instances take forever to initialize, I give it 20 minutes 
and then run another playbook to create DNS records for the created 
instances using Route53. I wanted to do this which would be so nice if it 
worked:

- name: Set DNS Records
  hosts: 'tag_Cluster_grabqa01:&tag_Role_{{ item }}'
  tasks:
  - route53:
      aws_access_key: xxxxxxxxxxxxxxx
      aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      command: create
      zone: grabqa01.net
      record: {{ item }}.grabqa01.net
      type: A
      ttl: 600
      value: "{{ ansible_all_ipv4_addresses }}"
    delegate_to: localhost
  with_items:
    - redis
    - postgresql
    - frontend
    - dispatcher-athena
    - dispatcher-hermes
    - dispatcher-listener
    - dispatcher-processor
    - poi

Basically, I want to find the hosts matching a search and then create a DNS 
record pointing at them. What would be the best way to do that? I'd rather 
not have to write a block for every single role I have.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/99c26e99-56f3-4455-88a0-4ad0cb2051fb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to