Scott Baker | 64b889b | 2015-05-05 17:53:12 -0700 | [diff] [blame] | 1 | --- |
| 2 | - hosts: {{ sliver_name }} |
| 3 | connection: ssh |
| 4 | user: ubuntu |
| 5 | sudo: yes |
| 6 | vars: |
| 7 | cdn_enable: {{ cdn_enable }} |
| 8 | dnsdemux_ip: {{ dnsdemux_ip }} |
| 9 | firewall_enable: {{ firewall_enable }} |
| 10 | url_filter_enable: {{ url_filter_enable }} |
Scott Baker | 81a2123 | 2015-05-05 18:01:51 -0700 | [diff] [blame] | 11 | vlan_ids: |
| 12 | {% for vlan_id in vlan_ids %} |
| 13 | - {{ vlan_id }} |
| 14 | {% endfor %} |
Scott Baker | ff453ba | 2015-05-05 22:41:50 -0700 | [diff] [blame] | 15 | firewall_rules: |
| 16 | {% for firewall_rule in firewall_rules.split("\n") %} |
| 17 | - {{ firewall_rule }} |
| 18 | {% endfor %} |
Scott Baker | c4abbd1 | 2015-05-06 20:06:40 -0700 | [diff] [blame] | 19 | cdn_prefixes: |
| 20 | {% for prefix in cdn_prefixes %} |
| 21 | - {{ prefix }} |
| 22 | {% endfor %} |
Scott Baker | ff453ba | 2015-05-05 22:41:50 -0700 | [diff] [blame] | 23 | |
Scott Baker | 64b889b | 2015-05-05 17:53:12 -0700 | [diff] [blame] | 24 | tasks: |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 25 | - name: Docker repository |
| 26 | copy: src=/opt/xos/observers/vcpe/files/docker.list |
| 27 | dest=/etc/apt/sources.list.d/docker.list |
| 28 | |
| 29 | - name: Import the repository key |
| 30 | apt_key: keyserver=keyserver.ubuntu.com id=36A1D7869245C8950F966E92D8576A8BA88D21E9 |
| 31 | |
| 32 | - name: install Docker |
| 33 | apt: name=lxc-docker-1.5.0 state=present update_cache=yes |
| 34 | |
Andy Bavier | 4202300 | 2015-05-13 15:50:16 -0400 | [diff] [blame] | 35 | - name: install python-setuptools |
| 36 | apt: name=python-setuptools state=present |
| 37 | |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 38 | - name: install pip |
| 39 | easy_install: name=pip |
| 40 | |
| 41 | - name: install docker-py |
| 42 | pip: name=docker-py version=0.5.3 |
| 43 | |
| 44 | - name: install Pipework |
| 45 | get_url: url=https://raw.githubusercontent.com/jpetazzo/pipework/master/pipework |
| 46 | dest=/usr/local/bin/pipework |
| 47 | mode=0755 |
| 48 | |
Andy Bavier | 4202300 | 2015-05-13 15:50:16 -0400 | [diff] [blame] | 49 | - name: bring up LAN interface |
| 50 | shell: ifconfig eth2 up |
| 51 | |
| 52 | - name: bring up WAN interface |
| 53 | shell: ifconfig eth3 up |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 54 | |
| 55 | - name: make sure /etc/dnsmasq.d exists |
| 56 | file: path=/etc/dnsmasq.d state=directory owner=root group=root |
Scott Baker | 64b889b | 2015-05-05 17:53:12 -0700 | [diff] [blame] | 57 | |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 58 | - name: dnsmasq config |
| 59 | template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/dnsmasq.d/servers.conf owner=root group=root |
Scott Baker | 64b889b | 2015-05-05 17:53:12 -0700 | [diff] [blame] | 60 | |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 61 | - name: networking info |
| 62 | template: src=/opt/xos/observers/vcpe/templates/vlan_sample.j2 dest=/etc/vlan_sample owner=root group=root |
Scott Baker | ff453ba | 2015-05-05 22:41:50 -0700 | [diff] [blame] | 63 | |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 64 | - name: firewall info |
| 65 | template: src=/opt/xos/observers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root |
| 66 | |
Andy Bavier | 4202300 | 2015-05-13 15:50:16 -0400 | [diff] [blame] | 67 | - name: Make sure iptables module loaded |
| 68 | shell: "iptables -L > /dev/null" |
| 69 | |
| 70 | - name: Make sure ip6tables module loaded |
| 71 | shell: "ip6tables -L > /dev/null" |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 72 | |
| 73 | - name: Disable resolvconf updates (to avoid overwriting /etc/resolv.conf on host) |
| 74 | shell: service resolvconf disable-updates |
| 75 | |
| 76 | - name: spin up container |
| 77 | docker: name=vcpe |
| 78 | image=andybavier/docker-vcpe |
| 79 | net=none |
| 80 | privileged=yes |
| 81 | |
| 82 | # This needs attention once ONOS is integrated |
Andy Bavier | 4202300 | 2015-05-13 15:50:16 -0400 | [diff] [blame] | 83 | - name: Connect container to WAN network |
| 84 | shell: docker exec vcpe ifconfig eth0 >> /dev/null || pipework eth3 -i eth0 vcpe 10.1.2.3/24 |
| 85 | |
| 86 | # This needs attention once ONOS is integrated |
| 87 | - name: Connect container to LAN network |
| 88 | shell: docker exec vcpe ifconfig eth1 >> /dev/null || pipework eth2 -i eth1 vcpe 192.168.0.1/24 |
Andy Bavier | 6a5024c | 2015-05-13 11:06:23 -0400 | [diff] [blame] | 89 | |
| 90 | - name: Start container services |
| 91 | shell: docker exec vcpe service dnsmasq start |
| 92 | |