ansible-roles/evolinux-base/tasks/hardware.yml
Jérémy Lecour ee21973371
All checks were successful
Ansible Lint |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |2777|524|2253|2462|:+1: Reference build: <a href="https://jenkins.evolix.org/job/gitea/job/ansible-roles/job/unstable/223//ansiblelint">Evolix » ansible-roles » unstable #223</a>
gitea/ansible-roles/pipeline/head This commit looks good
Use FQCN
Fully Qualified Collection Name
2023-03-20 23:33:19 +01:00

82 lines
2.1 KiB
YAML

---
- name: Install pciutils
ansible.builtin.apt:
name: pciutils
state: present
tags:
- packages
- name: firmware-non-free components are installed (Debian 12+)
ansible.builtin.replace:
dest: /etc/apt/sources.list.d/system.sources
regexp: '^(Components: ((?!\bfirmware-non-free\b).)*)$'
replace: '\1 firmware-non-free'
when:
- ansible_distribution_major_version is version('12', '>=')
## Broadcom NetXtreme II
- name: Check if Broadcom NetXtreme II device is present
ansible.builtin.shell:
cmd: "lspci | grep -q 'NetXtreme II'"
check_mode: no
register: broadcom_netextreme_search
failed_when: False
changed_when: False
tags:
- packages
- name: Add non-free repo for Broadcom NetXtreme II (Debian <12)
ansible.builtin.replace:
dest: /etc/apt/sources.list
regexp: '^(main ((?!\bnon-free\b).)*)$'
replace: '\1 non-free'
tags:
- packages
when:
- broadcom_netextreme_search.rc == 0
- ansible_distribution_major_version is version('12', '<')
## Baremetal servers
- name: Install some additionnals tools when it dedicated hardware
ansible.builtin.apt:
name:
- libipc-run-perl
- freeipmi
- ipmitool
- firmware-linux-nonfree
- intel-microcode
state: present
tags:
- packages
## RAID
# Dell and others: MegaRAID SAS
# HP gen <10: Hewlett-Packard Company Smart Array
# HP gen >=10: Adaptec Smart Storage PQI
- name: Detect if RAID is installed
ansible.builtin.shell:
cmd: "lspci -q | grep -e 'RAID bus controller' -e 'Serial Attached SCSI controller'"
executable: /bin/bash
check_mode: no
register: raidmodel
changed_when: "'FAILED' in raidmodel.stdout"
failed_when: "'FAILED' in raidmodel.stdout"
tags:
- packages
- name: "HP"
ansible.builtin.import_tasks: hardware.hp.yml
when:
- "'Hewlett-Packard Company Smart Array' in raidmodel.stdout or 'Adaptec Smart Storage PQI' in raidmodel.stdout"
- evolinux_packages_hardware_raid | bool
- name: "Dell"
ansible.builtin.import_tasks: hardware.dell.yml
when:
- "'MegaRAID' in raidmodel.stdout"
- evolinux_packages_hardware_raid | bool
- ansible.builtin.meta: flush_handlers