diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml')
-rwxr-xr-x | deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml | 90 |
1 files changed, 69 insertions, 21 deletions
diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml index 3bef2af3..ae9027c9 100755 --- a/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml +++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml @@ -9,52 +9,100 @@ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" with_items: compute_packages | union(compute_packages_noarch) -- name: Adjust Service Daemon - shell: > - sed -i '/neutron-plugin-openvswitch-agent/d' /opt/service ; - echo opendaylight >> /opt/service ; +- name: remove neutron-openvswitch-agent service daemon + shell: sed -i '/neutron-plugin-openvswitch-agent/d' /opt/service ; - name: shut down and disable Neutron's openvswitch agent services service: name=neutron-plugin-openvswitch-agent state=stopped -- name: Stop the Open vSwitch service and clear existing OVSDB - shell: > - ovs-ofctl del-flows br-int ; - ovs-vsctl del-br br-tun ; - ovs-vsctl del-manager ; +#- name: Stop the Open vSwitch service and clear existing OVSDB +# shell: > +# ovs-ofctl del-flows br-int ; +# ovs-vsctl del-br br-tun ; +# ovs-vsctl del-port br-int patch-tun; +# ovs-vsctl del-manager ; + +#- name: Restart OpenVSwitch +# shell: service openvswitch-switch restart; #- name: remove Neutron's openvswitch agent services # shell: > # update-rc.d neutron-plugin-openvswitch-agent remove -#- name: Stop the Open vSwitch service and clear existing OVSDB -# shell: > -# service openvswitch-switch stop ; -# rm -rf /var/log/openvswitch/* ; -# rm -rf /etc/openvswitch/conf.db ; -# service openvswitch-switch start ; +- name: Check External network + shell: ovs-vsctl list-br | grep br-prv + register: extbr + +- name: Stop the Open vSwitch service and clear existing OVSDB + shell: > + service openvswitch-switch stop ; + rm -rf /var/log/openvswitch/* ; + rm -rf /etc/openvswitch/conf.db ; + service openvswitch-switch start ; + +#- name: Set OpenDaylight as the manager +# command: su -s /bin/sh -c "ovs-vsctl set-manager tcp:{{ internal_vip.ip }}:6640;" + + +- name: set local ip in openvswitch + shell: ovs-vsctl set Open_vSwitch $(ovs-vsctl show | head -n 1) other_config={'local_ip'=' {{ internal_ip }} '}; + +#' +################################################################## +################ 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 extbr.rc == 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 extbr.rc == 0 + +- name: copy recovery script + copy: src={{ item }} dest=/opt/setup_networks + with_items: + - recover_network.py + when: extbr.rc == 0 + +- name: recover external script + shell: python /opt/setup_networks/recover_network.py + when: extbr.rc == 0 + +- name: restart keepalived + shell: service keepalived restart + when: inventory_hostname in groups['odl'] and extbr.rc == 0 + ignore_errors: True + +################################################################## +################################################################## +################################################################## -- name: Set OpenDaylight as the manager +- name: set opendaylight as the manager command: su -s /bin/sh -c "ovs-vsctl set-manager tcp:{{ internal_vip.ip }}:6640;" -#- name: start and disable Neutron's agent services -# service: name=neutron-plugin-openvswitch-agent state=started +- name: check br-int + shell: ovs-vsctl list-br | grep br-int; while [ $? -ne 0 ]; do sleep 10; ovs-vsctl list-br | grep br-int; done -- name: Configure Neutron1 +- name: configure opendaylight -> ml2 shell: > crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers opendaylight; crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan; + crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True; #- name: Adjust Service Daemon # shell: > # sed -i '/neutron-plugin-openvswitch-agent/d' /opt/service ; # echo opendaylight >> /opt/service ; -- name: Create ML2 Configuration File +- name: copy ml2 configuration script template: src: ml2_conf.sh dest: "/opt/ml2_conf.sh" mode: 0777 -- name: Execute ML2 Configuration File +- name: execute ml2 configuration script command: su -s /bin/sh -c "/opt/ml2_conf.sh;" |