summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml')
-rwxr-xr-xdeploy/adapters/ansible/roles/onos_cluster/tasks/main.yml92
1 files changed, 83 insertions, 9 deletions
diff --git a/deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml b/deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml
index 37f689f6..b86b149e 100755
--- a/deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml
@@ -9,15 +9,20 @@
---
- include_vars: "{{ ansible_os_family }}.yml"
-- name: remove neutron-plugin-openvswitch-agent auto start
+- name: install onos related packages
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: "{{ packages | union(packages_noarch) }}"
+ when: groups['onos']|length !=0
+
+- name: remove neutron-openvswitch-agent auto start
shell: >
- update-rc.d neutron-plugin-openvswitch-agent remove;
- sed -i /neutron-plugin-openvswitch-agent/d /opt/service
+ update-rc.d neutron-openvswitch-agent remove;
+ sed -i /neutron-openvswitch-agent/d /opt/service
when: groups['onos']|length !=0
ignore_errors: "True"
- name: shut down and disable Neutron's agent services
- service: name=neutron-plugin-openvswitch-agent state=stopped
+ service: name=neutron-openvswitch-agent state=stopped
when: groups['onos']|length !=0
ignore_errors: "True"
@@ -35,16 +40,85 @@
- name: Stop the Open vSwitch service and clear existing OVSDB
shell: >
- ovs-vsctl del-br br-int ;
- ovs-vsctl del-br br-tun ;
- ovs-vsctl del-manager ;
- ip link delete onos_port1 type veth peer name onos_port2;
+ service openvswitch-switch stop ;
+ rm -rf /var/log/openvswitch/* ;
+ rm -rf /etc/openvswitch/conf.db ;
+ service openvswitch-switch start ;
when: groups['onos']|length !=0
ignore_errors: "True"
+##################################################################
+########### Recover External network #################
+##################################################################
+
+- name: add ovs bridge
+ openvswitch_bridge: bridge={{ item["name"] }} state=present
+ with_items: "{{ network_cfg['provider_net_mappings'] }}"
+ when: item["type"] == "ovs" and groups['onos']|length !=0
+
+- name: add ovs uplink
+ openvswitch_port: bridge={{ item["name"] }} port={{ item["interface"] }} state=present
+ with_items: "{{ network_cfg['provider_net_mappings'] }}"
+ when: item["type"] == "ovs" and groups['onos']|length !=0
+
+- name: add ovs uplink
+ shell: ip link set {{ item["interface"] }} up
+ with_items: "{{ network_cfg['provider_net_mappings'] }}"
+ when: item["type"] == "ovs" and groups['onos']|length !=0
+
+- name: ensure script dir exist
+ shell: mkdir -p /opt/setup_networks
+ when: groups['onos']|length !=0
+
+- name: copy scripts
+ copy: src={{ item }} dest=/opt/setup_networks
+ with_items:
+ - setup_networks/log.py
+ - setup_networks/setup_networks.py
+ when: groups['onos']|length !=0
+
+- name: copy boot scripts
+ copy: src={{ item }} dest=/etc/init.d/ mode=0755
+ with_items:
+ - setup_networks/net_init
+ when: groups['onos']|length !=0
+
+- name: copy config files
+ template: src=network.cfg dest=/opt/setup_networks
+ when: groups['onos']|length !=0
+
+- name: make sure python lib exist
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items:
+ - python-yaml
+ - python-netaddr
+ when: groups['onos']|length !=0
+
+- name: run scripts
+ shell: python /opt/setup_networks/setup_networks.py
+ when: groups['onos']|length !=0
+
+- name: add to boot scripts
+ service: name=net_init enabled=yes
+ when: groups['onos']|length !=0
+##################################################################
+
+- name: restart keepalived to recover external IP
+ shell: service keepalived restart
+ when: inventory_hostname in groups['onos']
+ ignore_errors: "True"
+
+- name: upgrade pbr
+ shell: |
+ pip install pbr --upgrade
+
- name: Install ONOS Cluster on Controller
include: onos_controller.yml
- when: inventory_hostname in groups['onos']
+ when: inventory_hostname in groups['onos'] and onos_sfc == "Disable"
+
+- name: Install ONOS Cluster on Controller
+ include: onos_sfc_controller.yml
+ when: inventory_hostname in groups['onos'] and onos_sfc == "Enable"
- name: Config ONOS Cluster
include: openvswitch.yml