From 67db0fd753e18532aab373851e85e791008b5384 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 27 Dec 2021 20:46:21 +0100 Subject: implement vm/guest/network role for OpenBSD --- roles/vm/guest/base/tasks/Debian.yml | 61 +++++++++++++++++++++++++++++++ roles/vm/guest/base/tasks/OpenBSD.yml | 2 ++ roles/vm/guest/base/tasks/main.yml | 67 +++++------------------------------ 3 files changed, 72 insertions(+), 58 deletions(-) create mode 100644 roles/vm/guest/base/tasks/Debian.yml create mode 100644 roles/vm/guest/base/tasks/OpenBSD.yml (limited to 'roles/vm/guest/base') 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 }}" -- cgit v1.2.3