From 7b2a0d0e03f58cc87f9e0422c018bde55fa5b120 Mon Sep 17 00:00:00 2001 From: Manuel Buil Date: Tue, 6 Mar 2018 11:28:53 +0100 Subject: [PATCH] Move the roles defined in meta to tasks Defining roles in the meta directory is not recommended because of performance and flexibility. It is better to define them as normal tasks and that's what this patch does Change-Id: I932fa228f994db975db3b80129a22a20896bd3ef Signed-off-by: Manuel Buil --- meta/main.yml | 22 +-------------- tasks/dependent_neutron_roles.yml | 47 +++++++++++++++++++++++++++++++ tasks/main.yml | 3 +- 3 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 tasks/dependent_neutron_roles.yml 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