--- /dev/null
+---
+- 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