* Change to FQCN with ansible-lint fixer Since ansible-base 2.10 (later ansible-core), FQCN is the new way to go. Updated .ansible-lint with a production profile and removed fqcn in skip_list. Updated .yamllint with rules needed. Ran ansible-lint --fix=all, then manually applied some minor changes. * Changed octal value in molecule/ipv6/prepare.yml
60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
---
|
|
- name: Test for raspberry pi /proc/cpuinfo
|
|
ansible.builtin.command: grep -E "Raspberry Pi|BCM2708|BCM2709|BCM2835|BCM2836" /proc/cpuinfo
|
|
register: grep_cpuinfo_raspberrypi
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Test for raspberry pi /proc/device-tree/model
|
|
ansible.builtin.command: grep -E "Raspberry Pi" /proc/device-tree/model
|
|
register: grep_device_tree_model_raspberrypi
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Set raspberry_pi fact to true
|
|
ansible.builtin.set_fact:
|
|
raspberry_pi: true
|
|
when: grep_cpuinfo_raspberrypi.rc == 0 or grep_device_tree_model_raspberrypi.rc == 0
|
|
|
|
- name: Set detected_distribution to Raspbian (ARM64 on Raspbian, Debian Buster/Bullseye/Bookworm)
|
|
ansible.builtin.set_fact:
|
|
detected_distribution: Raspbian
|
|
vars:
|
|
allowed_descriptions:
|
|
- "[Rr]aspbian.*"
|
|
- Debian.*buster
|
|
- Debian.*bullseye
|
|
- Debian.*bookworm
|
|
when:
|
|
- ansible_facts.architecture is search("aarch64")
|
|
- raspberry_pi|default(false)
|
|
- ansible_facts.lsb.description|default("") is match(allowed_descriptions | join('|'))
|
|
|
|
- name: Set detected_distribution to Raspbian (ARM64 on Debian Bookworm)
|
|
ansible.builtin.set_fact:
|
|
detected_distribution: Raspbian
|
|
when:
|
|
- ansible_facts.architecture is search("aarch64")
|
|
- raspberry_pi|default(false)
|
|
- ansible_facts.lsb.description|default("") is match("Debian.*bookworm")
|
|
|
|
- name: Set detected_distribution_major_version
|
|
ansible.builtin.set_fact:
|
|
detected_distribution_major_version: "{{ ansible_facts.lsb.major_release }}"
|
|
when:
|
|
- detected_distribution | default("") == "Raspbian"
|
|
|
|
- name: Execute OS related tasks on the Raspberry Pi - {{ action_ }}
|
|
ansible.builtin.include_tasks: "{{ item }}"
|
|
with_first_found:
|
|
- "{{ action_ }}/{{ detected_distribution }}-{{ detected_distribution_major_version }}.yml"
|
|
- "{{ action_ }}/{{ detected_distribution }}.yml"
|
|
- "{{ action_ }}/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
|
- "{{ action_ }}/{{ ansible_distribution }}.yml"
|
|
- "{{ action_ }}/default.yml"
|
|
vars:
|
|
action_: >-
|
|
{% if state == "present" %}setup{% else %}teardown{% endif %}
|
|
when:
|
|
- raspberry_pi|default(false)
|