Files
openstack-ansible-os_neutron/tasks/providers/setup_ovs_opendaylight.yml
Markos Chandras 4b940c8337 tasks: Ensure Open vSwitch is started for all providers that need it
Previously, openvswitch was only started when we were using the ODL
provider but we should start it for all providers that need it. As such
we move the conditional which checks whether Open vSwitch is needed into
a new variable and we use that to start/enable the service and also to
install the package when needed.

Change-Id: I4ec4fc2c2124a941f24478cbdf39ed34c0dce56f
2018-01-31 07:46:39 +00:00

47 lines
1.8 KiB
YAML

---
# Copyright 2017, Intracom-Telecom
#
# 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: Retrieve current OvS manager
command: ovs-vsctl get-manager
register: ovs_manager
changed_when: False
until: ovs_manager.rc == 0
retries: 3
delay: 5
- name: Set ODL as OvS manager
command: ovs-vsctl set-manager {{ ovs_manager_list }}
when: ovs_manager.stdout == ""
- name: Configure hosts for networking-odl, force kernel datapath
command: "{{ neutron_bin }}/neutron-odl-ovs-hostconfig --noovs_dpdk {% if 'odl-router_v2' in neutron_plugin_base or 'odl-router' in neutron_plugin_base %}--datapath_type=system --bridge_mappings={{ neutron_provider_networks.network_mappings }} {% endif %}"
when: ovs_manager.stdout == ""
- name: Retrieve current OvS local ip
command: ovs-vsctl get Open_vSwitch . other_config:local_ip
ignore_errors: yes
register: ovs_local_ip
changed_when: False
- name: Set local ip for OpenvSwitch
command: "ovs-vsctl set Open_vSwitch . other_config:local_ip={{ neutron_local_ip }}"
when: ovs_local_ip.rc != 0
- name: Set the bridge mappings
command: "ovs-vsctl set Open_vSwitch . other_config:provider_mappings={{ neutron_provider_networks.network_mappings }}"
when:
- neutron_provider_networks.network_mappings is defined
- (neutron_plugin_base == 'odl-router' or neutron_plugin_base == 'odl-router_v2')