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 55b8ecc72..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 240be8f1e..cdf627643 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