mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
97 lines
2.6 KiB
YAML
97 lines
2.6 KiB
YAML
# Preparations (Hardware Level)
|
|
|
|
- name: ...IS BEGINNING ==================================
|
|
command: echo
|
|
|
|
- name: Get the uuidgen program
|
|
package: name=uuid-runtime
|
|
state=present
|
|
when: is_debuntu
|
|
|
|
- name: Test for /etc/iiab/uuid file
|
|
stat: path=/etc/iiab/uuid
|
|
register: uuid_file
|
|
|
|
- name: Create folder to hold uuid
|
|
file: path=/etc/iiab state=directory
|
|
when: not uuid_file.stat.exists
|
|
|
|
- name: If no uuid exists, create one
|
|
shell: uuidgen
|
|
register: uuid_response
|
|
when: not uuid_file.stat.exists
|
|
|
|
- name: Put the uuid in place
|
|
shell: echo {{ uuid_response.stdout_lines[0] }} > /etc/iiab/uuid
|
|
when: not uuid_file.stat.exists
|
|
|
|
- name: Get the uuid
|
|
command: cat /etc/iiab/uuid
|
|
register: stored_uuid
|
|
|
|
- name: Get the value into a variable
|
|
set_fact:
|
|
uuid={{ stored_uuid.stdout_lines[0] }}
|
|
|
|
# for rpi, without rtc, we need time as soon as possible
|
|
- name: Install chrony package
|
|
package: name={{ item }}
|
|
state=present
|
|
with_items:
|
|
- chrony
|
|
tags:
|
|
- download
|
|
|
|
#TODO: Use regexp filter instead of hard-code ip
|
|
- name: Update chrony config file
|
|
template: backup=no
|
|
dest=/etc/chrony.conf
|
|
src=chrony.conf.j2
|
|
|
|
- name: Disable AppArmor -- on by default in Ubuntu
|
|
service: name=apparmor enabled=False state=stopped
|
|
when: first_run and is_ubuntu
|
|
ignore_errors: true
|
|
|
|
- name: Disable SELinux on next boot
|
|
selinux: state=disabled
|
|
register: selinux_disabled
|
|
when: first_run and not is_debuntu
|
|
|
|
- name: Disable SELinux for this session (if needed)
|
|
command: setenforce Permissive
|
|
when: not is_debuntu and selinux_disabled is defined and selinux_disabled.changed
|
|
|
|
## DISCOVER PLATFORMS ######
|
|
- name: Discover if this is an rpi -- assume it is running Raspbian if so
|
|
set_fact:
|
|
rpi_model: "rpi"
|
|
is_rpi: "True"
|
|
when: ansible_local.local_facts.os == "raspbian"
|
|
ignore_errors: true
|
|
|
|
- include: prep.yml
|
|
when: first_run
|
|
|
|
# Put conditional actions for hardware platforms here
|
|
- include: raspberry_pi_2.yml
|
|
when: first_run and rpi_model != "none"
|
|
|
|
- name: Check if the identifier for Intel's NUC6 builtin WiFi is present
|
|
shell: "lsusb | grep 8087:0a2b | wc |awk '{print $1}'"
|
|
register: usb_NUC6
|
|
ignore_errors: true
|
|
when: first_run
|
|
|
|
- name: Download the firmware for built-in WiFi on NUC6
|
|
get_url: dest=/lib/firmware
|
|
url={{ iiab_download_url }}/iwlwifi-8000C-13.ucode
|
|
when: first_run and usb_NUC6.stdout|int > 0
|
|
|
|
# this script can be sourced to get IIAB location
|
|
- name: Recording STAGE 1 HAS COMPLETED ==================
|
|
template: src=roles/1-prep/templates/iiab.env.j2
|
|
dest=/etc/iiab/iiab.env
|
|
owner=root
|
|
group=root
|
|
mode=0644
|