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
This commit is contained in:
Markos Chandras 2018-01-29 14:39:23 +00:00
parent a6ffd476a5
commit 4b940c8337
3 changed files with 16 additions and 10 deletions

View File

@ -179,3 +179,10 @@
- ansible_pkg_mgr in ['dnf', 'yum'] - ansible_pkg_mgr in ['dnf', 'yum']
- ansible_selinux.status is defined - ansible_selinux.status is defined
- ansible_selinux.status == "enabled" - ansible_selinux.status == "enabled"
- name: Ensure Open vSwitch service is started and enabled
service:
name: "{{ neutron_ovs_service_name }}"
state: started
enabled: yes
when: neutron_needs_openvswitch

View File

@ -13,12 +13,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
- name: Ensure Open vSwitch service is started and enabled
service:
name: "{{ neutron_ovs_service_name }}"
state: started
enabled: yes
- name: Retrieve current OvS manager - name: Retrieve current OvS manager
command: ovs-vsctl get-manager command: ovs-vsctl get-manager
register: ovs_manager register: ovs_manager

View File

@ -13,6 +13,14 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
###
### Open vSwitch
###
neutron_needs_openvswitch: (neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_services['neutron-openvswitch-agent'].service_en | bool)
or (neutron_services['dragonflow-controller-agent']['group'] in group_names and neutron_services['dragonflow-controller-agent'].service_en | bool)
or (neutron_services['dragonflow-l3-agent']['group'] in group_names and neutron_services['dragonflow-l3-agent'].service_en | bool)
or ((neutron_services['neutron-server']['group'] not in group_names) and neutron_plugin_type == 'ml2.opendaylight')
### ###
### Packages ### Packages
### ###
@ -24,10 +32,7 @@
# #
neutron_package_list: |- neutron_package_list: |-
{% set packages = neutron_distro_packages %} {% set packages = neutron_distro_packages %}
{% if (neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_services['neutron-openvswitch-agent'].service_en | bool) {% if neutron_needs_openvswitch %}
or (neutron_services['dragonflow-controller-agent']['group'] in group_names and neutron_services['dragonflow-controller-agent'].service_en | bool)
or (neutron_services['dragonflow-l3-agent']['group'] in group_names and neutron_services['dragonflow-l3-agent'].service_en | bool)
or ((neutron_services['neutron-server']['group'] not in group_names) and neutron_plugin_type == 'ml2.opendaylight') %}
{% if (ovs_nsh_support and ansible_pkg_mgr in ['apt', 'zypper']) %} {% if (ovs_nsh_support and ansible_pkg_mgr in ['apt', 'zypper']) %}
{% set _ = packages.extend(neutron_ovs_nsh_required_packages) %} {% set _ = packages.extend(neutron_ovs_nsh_required_packages) %}
{% else %} {% else %}