Thanks a bunch, Dan. That is helpful. My instances are all VPC instances and I use ELB for all of them so just the private IP works fine for it.
On Sat, Jan 10, 2015 at 10:55 PM, Dan Vaida <[email protected]> wrote: > Hope you can get some inspiration from here: > https://github.com/danvaida/Atlassian-Stash-Ansible/blob/master/ec2.yml > > On Saturday, 10 January 2015 15:40:36 UTC+1, Dan Vaida wrote: >> >> On the run now but will share this later. >> >> Btw, are you really missing the task of allocating the EIPs to the >> instances? This would go before the route53 task. >> >> Dan. >> >> On Jan 10, 2015, at 2:26 PM, Dan Vaida <[email protected]> wrote: >> >> I'm doing this by registering the results of the ec2 provisioning task >> and then cycle through the hosts in a subsequent task for creating the dns >> records. >> >> On Monday, 29 December 2014 17:09:03 UTC+1, Navid Paya wrote: >>> >>> 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 a topic in the >> Google Groups "Ansible Project" group. >> To unsubscribe from this topic, visit https://groups.google.com/d/ >> topic/ansible-project/2QFD21LVCkw/unsubscribe. >> To unsubscribe from this group and all its topics, 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/6cb9be9e-41a0-47b7-9568- >> 45d2794c7a06%40googlegroups.com >> <https://groups.google.com/d/msgid/ansible-project/6cb9be9e-41a0-47b7-9568-45d2794c7a06%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> >> -- > You received this message because you are subscribed to a topic in the > Google Groups "Ansible Project" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/ansible-project/2QFD21LVCkw/unsubscribe. > To unsubscribe from this group and all its topics, 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/24cf4a0d-007c-4feb-997e-5a6cbef6dcc5%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/24cf4a0d-007c-4feb-997e-5a6cbef6dcc5%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- 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/CAFsFwzu3T%3Dz-BGMO%2Bw7KEMQhPXZOdi0zow8bSu0RFqJYCPHYYg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
