summaryrefslogtreecommitdiff
path: root/roles/vm/guest/base
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-12-27 20:46:21 +0100
committerChristian Pointner <equinox@spreadspace.org>2021-12-27 20:46:21 +0100
commit67db0fd753e18532aab373851e85e791008b5384 (patch)
treea4d011f54ba9f36cd4b4190c894896188b2c01ca /roles/vm/guest/base
parentalso fix sample config for grafana datasources (diff)
implement vm/guest/network role for OpenBSD
Diffstat (limited to 'roles/vm/guest/base')
-rw-r--r--roles/vm/guest/base/tasks/Debian.yml61
-rw-r--r--roles/vm/guest/base/tasks/OpenBSD.yml2
-rw-r--r--roles/vm/guest/base/tasks/main.yml67
3 files changed, 72 insertions, 58 deletions
diff --git a/roles/vm/guest/base/tasks/Debian.yml b/roles/vm/guest/base/tasks/Debian.yml
new file mode 100644
index 00000000..7a383fe1
--- /dev/null
+++ b/roles/vm/guest/base/tasks/Debian.yml
@@ -0,0 +1,61 @@
+---
+- name: install rngd
+ apt:
+ name: rng-tools5
+ state: present
+ force_apt_get: yes
+
+- name: get size of entropy pool
+ check_mode: no
+ command: cat /proc/sys/kernel/random/poolsize
+ changed_when: false
+ register: entropy_pool_size
+
+- name: create systemd override directory for rngd
+ file:
+ path: /etc/systemd/system/rngd.service.d
+ state: directory
+
+- name: configure rngd
+ copy:
+ content: |
+ [Service]
+ ExecStart=
+ ExecStart=/usr/sbin/rngd -f -r /dev/hwrng -s 256 -W {{ ((entropy_pool_size.stdout_lines | first | int) * 0.8) | int }}
+ dest: /etc/systemd/system/rngd.service.d/hwrng-device.conf
+ notify: restart rngd
+
+
+- name: provide a root shell on the VM serial console
+ when: vm_guest_autologin_on_serial
+ block:
+ - name: create systemd override directory for gettyS0
+ file:
+ path: /etc/systemd/system/serial-getty@ttyS0.service.d/
+ state: directory
+
+ - name: create autologin config for gettyS0
+ copy:
+ dest: /etc/systemd/system/serial-getty@ttyS0.service.d/autologon.conf
+ content: |
+ [Service]
+ ExecStart=
+ ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --noclear --autologin root --login-pause --host {{ vm_host_cooked.name }} %I $TERM
+
+
+- name: enable serial console in grub and for kernel
+ vars:
+ grub_options:
+ GRUB_TIMEOUT: 2
+ GRUB_CMDLINE_LINUX: '"console=ttyS0,115200n8"'
+ GRUB_TERMINAL: serial
+ GRUB_SERIAL_COMMAND: >-
+ "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
+ loop: "{{ grub_options | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ lineinfile:
+ dest: /etc/default/grub
+ regexp: "^{{ item.key }}="
+ line: "{{ item.key }}={{ item.value }}"
+ notify: update grub
diff --git a/roles/vm/guest/base/tasks/OpenBSD.yml b/roles/vm/guest/base/tasks/OpenBSD.yml
new file mode 100644
index 00000000..94832c38
--- /dev/null
+++ b/roles/vm/guest/base/tasks/OpenBSD.yml
@@ -0,0 +1,2 @@
+---
+## nothing to do here
diff --git a/roles/vm/guest/base/tasks/main.yml b/roles/vm/guest/base/tasks/main.yml
index 7a383fe1..410a07cb 100644
--- a/roles/vm/guest/base/tasks/main.yml
+++ b/roles/vm/guest/base/tasks/main.yml
@@ -1,61 +1,12 @@
---
-- name: install rngd
- apt:
- name: rng-tools5
- state: present
- force_apt_get: yes
-
-- name: get size of entropy pool
- check_mode: no
- command: cat /proc/sys/kernel/random/poolsize
- changed_when: false
- register: entropy_pool_size
-
-- name: create systemd override directory for rngd
- file:
- path: /etc/systemd/system/rngd.service.d
- state: directory
-
-- name: configure rngd
- copy:
- content: |
- [Service]
- ExecStart=
- ExecStart=/usr/sbin/rngd -f -r /dev/hwrng -s 256 -W {{ ((entropy_pool_size.stdout_lines | first | int) * 0.8) | int }}
- dest: /etc/systemd/system/rngd.service.d/hwrng-device.conf
- notify: restart rngd
-
-
-- name: provide a root shell on the VM serial console
- when: vm_guest_autologin_on_serial
- block:
- - name: create systemd override directory for gettyS0
- file:
- path: /etc/systemd/system/serial-getty@ttyS0.service.d/
- state: directory
-
- - name: create autologin config for gettyS0
- copy:
- dest: /etc/systemd/system/serial-getty@ttyS0.service.d/autologon.conf
- content: |
- [Service]
- ExecStart=
- ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --noclear --autologin root --login-pause --host {{ vm_host_cooked.name }} %I $TERM
-
-
-- name: enable serial console in grub and for kernel
+- name: load os/distrubtion/version specific tasks
vars:
- grub_options:
- GRUB_TIMEOUT: 2
- GRUB_CMDLINE_LINUX: '"console=ttyS0,115200n8"'
- GRUB_TERMINAL: serial
- GRUB_SERIAL_COMMAND: >-
- "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
- loop: "{{ grub_options | dict2items }}"
+ params:
+ files:
+ - "{{ ansible_distribution_release }}.yml"
+ - "{{ ansible_distribution }}.yml"
+ - "{{ ansible_os_family }}.yml"
+ loop: "{{ q('first_found', params) }}"
loop_control:
- label: "{{ item.key }}"
- lineinfile:
- dest: /etc/default/grub
- regexp: "^{{ item.key }}="
- line: "{{ item.key }}={{ item.value }}"
- notify: update grub
+ loop_var: tasks_file
+ include_tasks: "{{ tasks_file }}"