From 59cc9650d9d910908a4860e3ca87c1e9142229fe Mon Sep 17 00:00:00 2001 From: Adrien Date: Mon, 8 Oct 2018 19:35:18 +0200 Subject: [PATCH] Externalize role --- defaults/main.yml | 3 +++ handlers/main.yml | 4 ++++ tasks/RedHat.yml | 3 +++ tasks/main.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ vars/RedHat.yml | 13 +++++++++++++ 5 files changed, 69 insertions(+) create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 tasks/RedHat.yml create mode 100644 tasks/main.yml create mode 100644 vars/RedHat.yml diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..23bbe8f --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,3 @@ +--- +openvswitch_interface: brdefaults + diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..03aff98 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: Restart openvswitch + service: name="{{ openvswitch_service }}" state=restarted + diff --git a/tasks/RedHat.yml b/tasks/RedHat.yml new file mode 100644 index 0000000..0701212 --- /dev/null +++ b/tasks/RedHat.yml @@ -0,0 +1,3 @@ +--- +- name: Define OpenVSwitch repo packages + package: name="centos-release-ovirt42" state=latest update_cache=yes diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..442f20e --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,46 @@ +--- +- name: Include vars for {{ ansible_os_family }} + include_vars: "{{ ansible_os_family }}.yml" + +- name: remove old packages + package: name="{{ openvswitch_remove_packages }}" state=absent update_cache=yes + notify: Restart openvswitch + +- name: Include tasks for {{ ansible_os_family }} + include_tasks: "{{ ansible_os_family }}.yml" + +- name: install packages + package: name="{{ openvswitch_packages }}" state=latest update_cache=yes + notify: Restart openvswitch + +- name: Enable openvswitch + service: name="{{ openvswitch_service }}" state=started enabled=yes + +- name: Add Openvswitch default bridge + openvswitch_bridge: + bridge: '{{ openvswitch_interface }}' + state: present + +- name: Add Openvswitch bridges + openvswitch_bridge: + bridge: '{{ item.bridgename }}' + parent: '{{ openvswitch_interface }}' + state: present + vlan: '{{ item.vlan[0] }}' + with_items: + - '{{ virtual_network }}' + when: + - virtual_network is defined + - item.vlan|length < 2 + +- name: Add Openvswitch trunk bridges + openvswitch_bridge: + bridge: '{{ item.bridgename }}' + parent: '{{ openvswitch_interface }}' + state: present + with_items: + - '{{ virtual_network }}' + when: + - virtual_network is defined + - item.vlan|length > 1 + diff --git a/vars/RedHat.yml b/vars/RedHat.yml new file mode 100644 index 0000000..8f6c1f8 --- /dev/null +++ b/vars/RedHat.yml @@ -0,0 +1,13 @@ +--- +openvswitch_remove_packages: + - centos-release-ovirt41 +# - openvswitch-selinux-policy +openvswitch_packages: + - openvswitch + - openvswitch-ovn-central + - openvswitch-ovn-docker + - openvswitch-ovn-host + - openvswitch-ovn-vtep +# - python2-openvswitch # Seem not needed +openvswitch_service: openvswitch +