--- # 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