From dc963ce0b76a511d182ad08b74ffe57b5a4b4a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Jeanneret?= Date: Thu, 13 Aug 2020 12:53:19 +0200 Subject: [PATCH] Ensure those two tasks are compatible with t-h-t import In t-h-t, we call "tasks_from" in order to exclusively call those two files in different location. We therefore need to ensure we actually set the right variables, even in this case. Change-Id: Ifbccd663373f0e29301810dcc088b83d968f6203 Related-Bug: #1891465 (cherry picked from commit 11f365d00b444727f61b643acff30771c0453ec9) (cherry picked from commit 5781caccd593a079e20eb353e8d62393e5d933ba) --- .../roles/tripleo-podman/tasks/load_vars.yaml | 32 +++++++++++++++++++ .../roles/tripleo-podman/tasks/main.yml | 19 ++--------- .../tasks/tripleo_docker_purge.yml | 4 +++ .../tasks/tripleo_podman_install.yml | 3 ++ 4 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 tripleo_ansible/roles/tripleo-podman/tasks/load_vars.yaml diff --git a/tripleo_ansible/roles/tripleo-podman/tasks/load_vars.yaml b/tripleo_ansible/roles/tripleo-podman/tasks/load_vars.yaml new file mode 100644 index 000000000..3c710231b --- /dev/null +++ b/tripleo_ansible/roles/tripleo-podman/tasks/load_vars.yaml @@ -0,0 +1,32 @@ +--- +# Copyright 2019 Red Hat, Inc. +# All Rights Reserved. +# +# 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. + + +# "tripleo_podman" will search for and load any operating system variable file +# found within the "vars/" path. If no OS files are found the task will skip. +# Putting this in a dedicated file allows to just include it wherever is needed. +# Please check https://bugs.launchpad.net/tripleo/+bug/1891465 for more context. +- name: Gather variables for each operating system + include_vars: "{{ item }}" + with_first_found: + - skip: true + files: + - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" + - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" + - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" + - "{{ ansible_distribution | lower }}.yml" + - "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml" + - "{{ ansible_os_family | lower }}.yml" diff --git a/tripleo_ansible/roles/tripleo-podman/tasks/main.yml b/tripleo_ansible/roles/tripleo-podman/tasks/main.yml index 541a083c4..d800c908f 100644 --- a/tripleo_ansible/roles/tripleo-podman/tasks/main.yml +++ b/tripleo_ansible/roles/tripleo-podman/tasks/main.yml @@ -14,23 +14,8 @@ # License for the specific language governing permissions and limitations # under the License. - -# "tripleo-podman" will search for and load any operating system variable file - -# found within the "vars/" path. If no OS files are found the task will skip. -- name: Gather variables for each operating system - include_vars: "{{ item }}" - with_first_found: - - skip: true - files: - - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" - - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - - "{{ ansible_distribution | lower }}.yml" - - "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml" - - "{{ ansible_os_family | lower }}.yml" - tags: - - always +- name: Load vars + import_tasks: load_vars.yaml - name: Remove docker containers import_tasks: tripleo_docker_stop.yml diff --git a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_docker_purge.yml b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_docker_purge.yml index 83a15b644..541635f87 100644 --- a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_docker_purge.yml +++ b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_docker_purge.yml @@ -14,6 +14,10 @@ # License for the specific language governing permissions and limitations # under the License. +- name: Load vars if needed + when: tripleo_podman_purge_packages is undefined or tripleo_podman_purge_packages|length == 0 + import_tasks: load_vars.yaml + - name: Check if docker has some data stat: path: /var/lib/docker diff --git a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml index ac59245fc..dc50d7c50 100644 --- a/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml +++ b/tripleo_ansible/roles/tripleo-podman/tasks/tripleo_podman_install.yml @@ -14,6 +14,9 @@ # License for the specific language governing permissions and limitations # under the License. +- name: Load vars id needed + when: tripleo_podman_packages is undefined or tripleo_podman_packages|length == 0 + import_tasks: load_vars.yaml - name: Install block become: true