diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml')
-rwxr-xr-x | deploy/adapters/ansible/roles/onos_cluster/tasks/main.yml | 92 |
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 |