49 lines
1.4 KiB
YAML
49 lines
1.4 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
|
|
|
|
- hosts: localhost
|
|
tasks:
|
|
- name: Show Python info
|
|
debug:
|
|
var: ansible_python
|
|
|
|
- name: Register cryptography version
|
|
command: "{{ ansible_python.executable }} -c 'import cryptography; print(cryptography.__version__)'"
|
|
register: cryptography_version
|
|
|
|
- name: Register pyOpenSSL version
|
|
command: "{{ ansible_python.executable }} -c 'import OpenSSL; print(OpenSSL.__version__)'"
|
|
ignore_errors: true
|
|
register: pyopenssl_version
|
|
|
|
- name: Determine output directory
|
|
set_fact:
|
|
output_path: "{{ 'output-%0x' % ((2**32) | random) }}"
|
|
|
|
- name: Find all roles
|
|
ansible.builtin.find:
|
|
paths:
|
|
- "{{ (playbook_dir | default('.')) ~ '/roles' }}"
|
|
file_type: directory
|
|
depth: 1
|
|
register: result
|
|
|
|
- name: Create output directory
|
|
ansible.builtin.file:
|
|
path: "{{ output_path }}"
|
|
state: directory
|
|
|
|
- block:
|
|
- name: Include all roles
|
|
ansible.builtin.include_role:
|
|
name: "{{ item }}"
|
|
loop: "{{ result.files | map(attribute='path') | map('regex_replace', '.*/', '') | sort }}"
|
|
|
|
always:
|
|
- name: Remove output directory
|
|
ansible.builtin.file:
|
|
path: "{{ output_path }}"
|
|
state: absent
|