Refactoring switch provisioning: moving Accton to new ONL and OFDPA. Introducing support for OLTs provisioning
Change-Id: I6500be973b25510df5346d9140985f6487f2031d
diff --git a/roles/fabric-switch/tasks/main.yml b/roles/fabric-switch/tasks/main.yml
index 818828c..03cd283 100644
--- a/roles/fabric-switch/tasks/main.yml
+++ b/roles/fabric-switch/tasks/main.yml
@@ -1,4 +1,4 @@
-
+---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,51 +13,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
----
-- name: Generate DPID
- shell: ifconfig | grep HWaddr | head -1 | awk '{ print "0x0000"$5 }' | sed s/://g
- register: dpid
- changed_when: false
+- name: Get platform type
+ slurp:
+ src: /etc/onl/platform
+ register: etc_onl_platform
-- name: Get switch OUI
- shell: ifconfig | grep HWaddr | head -1 | awk '{ print $5 }' | sed s/://g | cut -c1-6
- register: oui
- changed_when: false
-
-- name: Ensure OFDPA Config
+- name: Set platform var
set_fact:
- switch_id: "{{ dpid.stdout }}"
- controller_ip: "onos-fabric"
+ platform: "{{ etc_onl_platform.content | b64decode | trim }}"
-- name: Verify Openflow Agent
- shell: which ofagentapp | wc -w
- register: ofdpa_exists
- changed_when: false
+- name: Manage OFDPA
+ include: ofdpa.yml platform="{{ platform }}"
+ when: platform in platforms.accton_switches.names or platform in platforms.quanta_switches.names
-- name: Openflow Agent Version
- command: ofagentapp --version
- register: ofdpa_version
- changed_when: false
- when: ofdpa_exists.stdout != "0"
-
-- name: Install OFDPA commons steps
- include: ofdpa.yml
- when: ofdpa_exists.stdout == "0" or
- (ofdpa_version.stdout.find('3.0.4.0') == -1 and ofdpa_version.stdout.find('3.0.5.0') == -1)
-
-- name: Install OFDPA for Accton switches
- include: ofdpa-accton.yml lsb_stat="{{ lsb_stat }}" dist="{{ dist }}"
- when:
- - ofdpa_exists.stdout == "0" or ofdpa_version.stderr.find('3.0.4.0') == -1
- # Accton related OUIs
- - oui.stdout in switch_ouis['accton']
-
-- name: Install OFDPA for QCT switches
- include: ofdpa-qct.yml lsb_stat="{{ lsb_stat }}" dist="{{ dist }}"
- when:
- - ofdpa_exists.stdout == "0" or ofdpa_version.stderr.find('3.0.5.0') == -1
- # QCT related OUIs
- - oui.stdout in switch_ouis['qct']
+- name: Manage Accton OLT
+ include: olt-accton.yml
+ when: platform in platforms.accton_olts.names
- name: Authorize SSH Key
become: yes