diff --git a/meta/main.yml b/meta/main.yml index 3a86545a..988817b7 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -38,26 +38,6 @@ galaxy_info: - development - openstack dependencies: - - role: apt_package_pinning - apt_pinned_packages: "{{ ovs_nsh_support | ternary(ovs_nsh_apt_pinned_packages, omit) }}" - when: - - ansible_pkg_mgr == 'apt' - galera_client - openstack_openrc - - role: etcd - etcd_install_type: proxy - when: - - "neutron_plugin_type in ['ml2.calico', 'ml2.dragonflow']" - - "group_names | intersect([ - neutron_services['calico-dhcp-agent']['group'], - neutron_services['calico-felix']['group'], - neutron_services['dragonflow-controller-agent']['group'], - neutron_services['neutron-server']['group'] - ]) | length > 0" - - role: opendaylight - install_method: "{{ opendaylight_install_method }}" - extra_features: "{{ opendaylight_extra_features }}" - nb_rest_port: "{{ opendaylight_port | default('8180') }}" - when: - - neutron_plugin_type == "ml2.opendaylight" - - "'opendaylight' in group_names" + diff --git a/tasks/dependent_neutron_roles.yml b/tasks/dependent_neutron_roles.yml new file mode 100644 index 00000000..2baa39c0 --- /dev/null +++ b/tasks/dependent_neutron_roles.yml @@ -0,0 +1,47 @@ +--- +# Copyright 2018, SUSE Linux GmbH +# +# 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: Include apt_package_pinning role + include_role: + name: apt_package_pinning + vars: + apt_pinned_packages: "{{ ovs_nsh_support | ternary(ovs_nsh_apt_pinned_packages, omit) }}" + when: + - ansible_pkg_mgr == 'apt' + +- name: Include etcd role + include_role: + name: etcd + vars: + etcd_install_type: proxy + when: + - "neutron_plugin_type in ['ml2.calico', 'ml2.dragonflow']" + - "group_names | intersect([ + neutron_services['calico-dhcp-agent']['group'], + neutron_services['calico-felix']['group'], + neutron_services['dragonflow-controller-agent']['group'], + neutron_services['neutron-server']['group'] + ]) | length > 0" + +- name: Include ODL role + include_role: + name: opendaylight + vars: + install_method: "{{ opendaylight_install_method }}" + extra_features: "{{ opendaylight_extra_features }}" + nb_rest_port: "{{ opendaylight_port | default('8180') }}" + when: + - neutron_plugin_type == "ml2.opendaylight" + - "'opendaylight' in group_names" diff --git a/tasks/main.yml b/tasks/main.yml index 87a0330e..787beb97 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -- include_tasks: neutron_check.yml +- include_tasks: neutron_check.yml - name: Gather variables for each operating system include_vars: "{{ item }}" @@ -44,6 +44,7 @@ tags: - always +- include_tasks: dependent_neutron_roles.yml - include_tasks: neutron_ml2_ovs_powervm.yml when: - neutron_os_type is defined