blob: 161336ff307c17c819c892c420752cd3766f3460 [file] [log] [blame]
Zack Williams0e583122016-04-30 16:57:03 -07001---
2- hosts: nova-compute-1
3 remote_user: ubuntu
4 become: yes
5
6 tasks:
7 - name: Include configuration vars
8 include_vars: simulate-fabric-vars.yml
9
10 - name: Install prerequisites
11 apt:
12 name={{ item }}
13 update_cache=yes
14 cache_valid_time=3600
15 become: yes
16 with_items:
17 - bridge-utils
18
19 - name: Create bridges
Zack Williams5af91912016-05-01 06:34:16 -070020 when: "ansible_{{ item.name }} is not defined"
Zack Williams0e583122016-04-30 16:57:03 -070021 command: brctl addbr "{{ item.name }}"
22 with_items: "{{ simfabric_bridges }}"
23
Zack Williamsc11aea52016-05-01 21:34:37 -070024 - name: Set IP addresses to bridges
25 when: "ansible_{{ item.0.name }} is not defined"
26 command: "ip addr add {{ item.1 }} dev {{ item.0.name }}"
27 with_subelements:
28 - "{{ simfabric_bridges }}"
29 - addresses
30
31 - name: Start bridges
Zack Williams6cc132e2016-05-02 13:44:23 -070032 when: "ansible_{{ item.name }} is not defined and not ansible_{{ item.name }}.active"
Zack Williamsb994a9e2016-05-01 22:21:06 -070033 command: "ip link set dev {{ item.name }} up"
Zack Williamsc11aea52016-05-01 21:34:37 -070034 with_items: "{{ simfabric_bridges }}"
35
36 - name: Create ip links
37 when: "ansible_{{ item.name }}0 is not defined"
38 command: "ip link add address {{ item.mac }} type {{ item.name }}"
39 with_items: "{{ simfabric_links }}"
40
41 - name: Start interfaces
Zack Williams6cc132e2016-05-02 13:44:23 -070042 when: "ansible_{{ item }}.defined is not defined and not ansible_{{ item }}.active"
Zack Williamsc11aea52016-05-01 21:34:37 -070043 command: "ip link set dev {{ item }} up"
44 with_items: "{{ simfabric_interfaces }}"
45
46 - name: Add interfaces to bridges
Zack Williamsb994a9e2016-05-01 22:21:06 -070047 when: "ansible_{{ item.0.name }}.interfaces is not defined"
Zack Williamsc11aea52016-05-01 21:34:37 -070048 command: "brctl addif {{ item.0.name }} {{ item.1 }}"
49 with_subelements:
50 - "{{ simfabric_bridges }}"
51 - interfaces
52
53 - name: Configure iptables
Zack Williamsb994a9e2016-05-01 22:21:06 -070054 iptables: "table={{ item.table }} chain={{ item.chain }} source={{ item.source }} destination={{ item.dest }} jump={{ item.jump }}"
Zack Williamsc11aea52016-05-01 21:34:37 -070055 with_items: "{{ simfabric_iptables }}"
56
57 - name: Set kernel sysctl values
58 sysctl:
59 name="{{ item.name }}"
60 value="{{ item.value }}"
61 sysctl_set=yes
62 state=present
63 reload=yes
64 with_items: "{{ simfabric_sysctl }}"
65