1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

[PR #8644/9f340861 backport][stable-9] django_manage: rely on package idempotency to install virtualenv (#8737)

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>
(cherry picked from commit 9f340861ad)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
patchback[bot] 2024-08-10 13:16:07 +00:00 committed by GitHub
parent b79f286a66
commit 1d7843465d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 93 additions and 9 deletions

View file

@ -5,3 +5,4 @@
dependencies: dependencies:
- setup_pkg_mgr - setup_pkg_mgr
- setup_os_pkg_name

View file

@ -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:

View 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

View 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 (archlinux)
ansible.builtin.set_fact:
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
vars:
specific_package_names:
virtualenv: python-virtualenv

View 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: {}

View 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 (default)
ansible.builtin.set_fact:
os_package_name: "{{ os_package_name | combine(specific_package_names) }}"
vars:
specific_package_names:
virtualenv: virtualenv

View 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"

View 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: {}

View 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