--- - action: ec2_facts - name: Enable IP Forwarding with_items: - { "var": "net.ipv4.ip_forward", "val": 1 } - { "var": "net.ipv4.conf.eth0.send_redirects", "val": 0 } sysctl: state: present name: "{{ item.var }}" value: "{{ item.val }}" sysctl_set: yes reload: yes ignoreerrors: yes - name: naming things set_fact: environment_name: "{{ ACCT_NAME }}" - name: Find CIDR set_fact: subnet_to_announce: "{{ vpc.vpc.cidr_block }}" - name: enable PAT iptables: table: nat chain: POSTROUTING out_interface: eth0 source: "{{ vpc.vpc.cidr_block }}" jump: MASQUERADE - command: /etc/init.d/iptables save args: creates: /etc/sysconfig/iptables - name: Attach EIP delegate_to: localhost become: no ec2_eip: state: present in_vpc: true device_id: "{{ ansible_ec2_instance_id }}" region: "{{ ansible_ec2_placement_region }}" reuse_existing_ip_allowed: yes register: eip_attachment - name: Refresh inventory when: eip_attachment|changed meta: refresh_inventory - name: Install support scripts with_items: - routeUpdater.py copy: src: "{{ item }}" dest: "/usr/local/bin/{{ item }}" owner: root group: root mode: "0755" - name: Take over private VPC routing command: /usr/local/bin/routeUpdater.py - name: Install Quagga yum: name: quagga state: present - name: Configure Quagga with_items: - ripd.conf - zebra.conf template: src: "{{ item }}.j2" dest: "/etc/quagga/{{ item }}" owner: quagga group: quagga mode: "0640" notify: - restart ripd - restart zebra - name: Enable Quagga with_items: - ripd - zebra service: name: "{{ item }}" enabled: yes notify: - restart ripd - restart zebra