72 lines
2.6 KiB
YAML
72 lines
2.6 KiB
YAML
---
|
|
# 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
|
|
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
- name: Install from system packages
|
|
when: ansible_os_family != "Darwin" and target_system_python
|
|
block:
|
|
|
|
- name: Include OS-specific variables
|
|
include_vars: '{{ lookup("first_found", search) }}'
|
|
vars:
|
|
search:
|
|
files:
|
|
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
|
|
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
|
|
- '{{ ansible_distribution }}.yml'
|
|
- '{{ ansible_os_family }}.yml'
|
|
paths:
|
|
- vars
|
|
|
|
- when: has_pyopenssl
|
|
block:
|
|
|
|
- name: Install pyOpenSSL (Python 3 from system packages)
|
|
become: true
|
|
package:
|
|
name: '{{ pyopenssl_package_name_python3 }}'
|
|
when: ansible_python_version is version('3.0', '>=')
|
|
|
|
- name: Install pyOpenSSL (Python 2 from system packages)
|
|
become: true
|
|
package:
|
|
name: '{{ pyopenssl_package_name }}'
|
|
when: ansible_python_version is version('3.0', '<')
|
|
|
|
- name: Install from PyPi
|
|
when: ansible_os_family == "Darwin" or not target_system_python
|
|
block:
|
|
|
|
- name: Install pyOpenSSL (PyPi)
|
|
become: true
|
|
pip:
|
|
name: pyOpenSSL
|
|
state: "{{ 'latest' if not target_system_python_cannot_upgrade_cryptography else omit }}"
|
|
extra_args: "-c {{ remote_constraints }}"
|
|
|
|
- when: has_pyopenssl
|
|
block:
|
|
|
|
- name: Register pyOpenSSL version
|
|
command: "{{ ansible_python.executable }} -c 'import OpenSSL; print(OpenSSL.__version__)'"
|
|
register: pyopenssl_version
|
|
|
|
- name: Register pyOpenSSL debug details
|
|
command: "{{ ansible_python.executable }} -m OpenSSL.debug"
|
|
register: pyopenssl_debug_version
|
|
ignore_errors: yes
|
|
|
|
# Depending on which pyOpenSSL version has been installed, it could be that cryptography has
|
|
# been upgraded to a newer version. Make sure to register cryptography_version another time here
|
|
# to avoid strange testing behavior due to wrong values of cryptography_version.
|
|
- name: Register cryptography version
|
|
command: "{{ ansible_python.executable }} -c 'import cryptography; print(cryptography.__version__)'"
|
|
register: cryptography_version
|
|
ignore_errors: yes # in case cryptography was not installed, and setup_openssl hasn't been run before, ignore errors
|