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:
|
||||
- setup_pkg_mgr
|
||||
- setup_os_pkg_name
|
||||
|
|
|
@ -9,17 +9,10 @@
|
|||
suffix: .django_manage
|
||||
register: tmp_django_root
|
||||
|
||||
- name: Install virtualenv on CentOS 8
|
||||
- name: Install virtualenv
|
||||
package:
|
||||
name: virtualenv
|
||||
name: "{{ os_package_name.virtualenv }}"
|
||||
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
|
||||
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