CORD-1511 Use OVS instead of CPqD
Change-Id: I89315b9155774f697c3ee0768f318e351fa23b38
diff --git a/ansible/roles/ciab-ovs/tasks/main.yml b/ansible/roles/ciab-ovs/tasks/main.yml
new file mode 100644
index 0000000..d5bb41a
--- /dev/null
+++ b/ansible/roles/ciab-ovs/tasks/main.yml
@@ -0,0 +1,79 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+- name: Remove old OVS
+ apt:
+ name: "{{ item }}"
+ state: absent
+ with_items:
+ - openvswitch-switch
+ - openvswitch-common
+ when: enable_fabric
+
+- name: Install default OVS
+ apt:
+ name: "{{ item }}"
+ state: present
+ with_items: "{{ ovs_packages }}"
+ when: not enable_fabric
+
+- name: (fabric) Download OVS 2.5.3 packages
+ get_url:
+ url: "{{ item.url }}"
+ checksum: "{{ item.checksum }}"
+ dest: "/tmp/{{ item.name }}"
+ with_items: "{{ ovs_fabric_packages }}"
+ when: enable_fabric
+
+- name: (fabric) Install OVS 2.5.3
+ apt:
+ deb: "/tmp/{{ item.name }}"
+ state: present
+ with_items: "{{ ovs_fabric_packages }}"
+ when: enable_fabric
+
+- name: Create OVS bridges for CiaB
+ openvswitch_bridge:
+ bridge: "{{ item }}"
+ state: present
+ with_items: "{{ ovs_bridges }}"
+
+- name: Create patch ports
+ openvswitch_port:
+ bridge: "{{ item.bridge }}"
+ port: "{{ item.port }}"
+ set: "Interface {{ item.port }} type=patch"
+ with_items: "{{ ovs_patch_ports }}"
+
+- name: Create peers
+ openvswitch_port:
+ bridge: "{{ item.bridge }}"
+ port: "{{ item.port }}"
+ set: "Interface {{ item.port }} options:peer={{ item.peer }}"
+ with_items: "{{ ovs_patch_ports }}"
+
+# "set" argument to openvswitch_bridge wasn't working...
+- name: Set bridges to OpenFlow 1.3
+ command: ovs-vsctl set bridge {{ item }} protocols=OpenFlow13
+ when: enable_fabric
+ with_items: "{{ ovs_bridges }}"
+ tags:
+ - skip_ansible_lint # running a sub job
+
+- name: Add ONOS fabric controller
+ command: ovs-vsctl set-controller {{ item }} tcp:{{ ovs_controller_ip }}:{{ ovs_controller_port }}
+ when: enable_fabric
+ with_items: "{{ ovs_bridges }}"
+ tags:
+ - skip_ansible_lint # running a sub job