mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
django_manage: rely on package idempotency to install virtualenv (#8644)
* rely on package idempotency to install virtualenv * improve os package name logic in integration tests * add os families debian, redhat * add os families archlinux * fix pkg name in archlinux * improvement from PR * typo * Update tests/integration/targets/setup_os_pkg_name/tasks/debian.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update tests/integration/targets/setup_os_pkg_name/tasks/redhat.yml Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
b16263ebd7
commit
9f340861ad
9 changed files with 93 additions and 9 deletions
|
@ -5,3 +5,4 @@
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_pkg_mgr
|
- setup_pkg_mgr
|
||||||
|
- setup_os_pkg_name
|
||||||
|
|
|
@ -9,17 +9,10 @@
|
||||||
suffix: .django_manage
|
suffix: .django_manage
|
||||||
register: tmp_django_root
|
register: tmp_django_root
|
||||||
|
|
||||||
- name: Install virtualenv on CentOS 8
|
- name: Install virtualenv
|
||||||
package:
|
package:
|
||||||
name: virtualenv
|
name: "{{ os_package_name.virtualenv }}"
|
||||||
state: present
|
state: present
|
||||||
when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '8'
|
|
||||||
|
|
||||||
- name: Install virtualenv on Arch Linux
|
|
||||||
pip:
|
|
||||||
name: virtualenv
|
|
||||||
state: present
|
|
||||||
when: ansible_os_family == 'Archlinux'
|
|
||||||
|
|
||||||
- name: Install required library
|
- name: Install required library
|
||||||
pip:
|
pip:
|
||||||
|
|
11
tests/integration/targets/setup_os_pkg_name/tasks/alpine.yml
Normal file
11
tests/integration/targets/setup_os_pkg_name/tasks/alpine.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (alpine)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names:
|
||||||
|
virtualenv: py3-virtualenv
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (archlinux)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names:
|
||||||
|
virtualenv: python-virtualenv
|
10
tests/integration/targets/setup_os_pkg_name/tasks/debian.yml
Normal file
10
tests/integration/targets/setup_os_pkg_name/tasks/debian.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (debian)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names: {}
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (default)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names:
|
||||||
|
virtualenv: virtualenv
|
26
tests/integration/targets/setup_os_pkg_name/tasks/main.yml
Normal file
26
tests/integration/targets/setup_os_pkg_name/tasks/main.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
####################################################################
|
||||||
|
# WARNING: These are designed specifically for Ansible tests #
|
||||||
|
# and should not be used as examples of how to write Ansible roles #
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Make sure we have the ansible_os_family and ansible_distribution_version facts
|
||||||
|
ansible.builtin.setup:
|
||||||
|
gather_subset: distribution
|
||||||
|
when: ansible_facts == {}
|
||||||
|
|
||||||
|
- name: Create OS Package name fact
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: {}
|
||||||
|
|
||||||
|
- name: Include the files setting the package names
|
||||||
|
ansible.builtin.include_tasks: "{{ file }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: file
|
||||||
|
loop:
|
||||||
|
- "default.yml"
|
||||||
|
- "{{ ansible_os_family | lower }}.yml"
|
10
tests/integration/targets/setup_os_pkg_name/tasks/redhat.yml
Normal file
10
tests/integration/targets/setup_os_pkg_name/tasks/redhat.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (redhat)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names: {}
|
11
tests/integration/targets/setup_os_pkg_name/tasks/suse.yml
Normal file
11
tests/integration/targets/setup_os_pkg_name/tasks/suse.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: Update OS Package name fact (suse)
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
|
||||||
|
vars:
|
||||||
|
specific_package_names:
|
||||||
|
virtualenv: python3-virtualenv
|
Loading…
Reference in a new issue