From bc58c7f37ee2bd1bc341cb95f849af746811754f Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 12 Dec 2019 22:30:05 +0100 Subject: trial support openbsd in sshd and zsh roles --- inventory/hosts.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'inventory') diff --git a/inventory/hosts.ini b/inventory/hosts.ini index e6c3cc97..4d136bd3 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -23,6 +23,7 @@ ch-gnocchi host_name=gnocchi ch-router host_name=router ch-gw-lan host_name=gw-lan ch-jump host_name=jump ansible_port=2342 ansible_host=ch-jump +ch-router-obsd ansible_port=4222 [chaos-at-home:children] mz-chaos-at-home -- cgit v1.2.3 From 27c9986590371d4b706ddb7d5628bef0f4b8b2bc Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 14 Dec 2019 01:57:03 +0100 Subject: some more tests for openbsd install --- chaos-at-home/ch-router-obsd.yml | 7 ++++++ common/vm-install.yml | 18 +++++++-------- inventory/group_vars/chaos-at-home/network.yml | 1 + inventory/host_vars/ch-router-obsd.yml | 21 +++++++++++++++++ inventory/hosts.ini | 4 +++- roles/vm/define/tasks/main.yml | 1 - roles/vm/define/templates/libvirt-domain.xml.j2 | 9 ++++++-- roles/vm/install/meta/main.yml | 12 +++++----- roles/vm/install/tasks/main.yml | 30 ++++++++++++------------- 9 files changed, 69 insertions(+), 34 deletions(-) create mode 100644 chaos-at-home/ch-router-obsd.yml create mode 100644 inventory/host_vars/ch-router-obsd.yml (limited to 'inventory') diff --git a/chaos-at-home/ch-router-obsd.yml b/chaos-at-home/ch-router-obsd.yml new file mode 100644 index 00000000..fe3ef36f --- /dev/null +++ b/chaos-at-home/ch-router-obsd.yml @@ -0,0 +1,7 @@ +--- +- name: Basic Setup + hosts: ch-router-obsd + roles: + #- role: base + - role: sshd + - role: zsh diff --git a/common/vm-install.yml b/common/vm-install.yml index 36f2c4cc..02c95fd8 100644 --- a/common/vm-install.yml +++ b/common/vm-install.yml @@ -45,15 +45,15 @@ set_fact: ansible_ssh_extra_args: "" -- name: apply basic VM configuration roles - hosts: "{{ hostname }}" - pre_tasks: - - name: make sure to update cached facts - setup: - roles: - - role: vm/grub - - role: vm/network - - role: vm/guest +# - name: apply basic VM configuration roles +# hosts: "{{ hostname }}" +# pre_tasks: +# - name: make sure to update cached facts +# setup: +# roles: +# - role: vm/grub +# - role: vm/network +# - role: vm/guest - import_playbook: "../{{ hostenv }}/{{ hostname }}.yml" diff --git a/inventory/group_vars/chaos-at-home/network.yml b/inventory/group_vars/chaos-at-home/network.yml index 73aa2975..28a29081 100644 --- a/inventory/group_vars/chaos-at-home/network.yml +++ b/inventory/group_vars/chaos-at-home/network.yml @@ -43,6 +43,7 @@ network_zones: ch-stats: 10 ch-web: 80 ch-mail: 143 + ch-router-obsd: 253 ch-router: 254 mgmt: diff --git a/inventory/host_vars/ch-router-obsd.yml b/inventory/host_vars/ch-router-obsd.yml new file mode 100644 index 00000000..48788004 --- /dev/null +++ b/inventory/host_vars/ch-router-obsd.yml @@ -0,0 +1,21 @@ +--- +vm_host: ch-gnocchi + +install: + host: "{{ vm_host }}" + mem: 512 + numcpu: 1 + disks: + primary: /dev/sda + virtio: + vda: + type: lvm + vg: "{{ hostvars[vm_host].host_name }}" + lv: "{{ inventory_hostname }}" + size: 10g + interfaces: + - bridge: br-svc + name: vi0 + autostart: True + +network: {} diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 4d136bd3..b45fb494 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -21,9 +21,9 @@ ch-testvm host_name=testvm ch-mimas2 host_name=mimas ch-gnocchi host_name=gnocchi ch-router host_name=router +ch-router-obsd host_name=router ansible_port=22 ch-gw-lan host_name=gw-lan ch-jump host_name=jump ansible_port=2342 ansible_host=ch-jump -ch-router-obsd ansible_port=4222 [chaos-at-home:children] mz-chaos-at-home @@ -194,6 +194,8 @@ ch-keyserver ch-testvm ch-gw-lan ch-jump +ch-router +ch-router-obsd r3-vex2 r3-cccamp19-flora r3-cccamp19-verr diff --git a/roles/vm/define/tasks/main.yml b/roles/vm/define/tasks/main.yml index 202644dd..4c2b99e1 100644 --- a/roles/vm/define/tasks/main.yml +++ b/roles/vm/define/tasks/main.yml @@ -23,7 +23,6 @@ name: "{{ hostname }}" command: undefine - - name: define vm virt: command: define diff --git a/roles/vm/define/templates/libvirt-domain.xml.j2 b/roles/vm/define/templates/libvirt-domain.xml.j2 index c7e3a2f2..a6aea91c 100644 --- a/roles/vm/define/templates/libvirt-domain.xml.j2 +++ b/roles/vm/define/templates/libvirt-domain.xml.j2 @@ -42,11 +42,16 @@ {% if vm_define_installer and install_distro == 'openbsd' %} - - + + + + + + + {% endif %} {% if 'virtio' in hostvars[hostname].install_cooked.disks %} diff --git a/roles/vm/install/meta/main.yml b/roles/vm/install/meta/main.yml index 710f90ad..347e30c4 100644 --- a/roles/vm/install/meta/main.yml +++ b/roles/vm/install/meta/main.yml @@ -1,7 +1,7 @@ --- -dependencies: - - role: installer/debian - distros: - - distro: "{{ install_distro }}" - codename: "{{ install_codename }}" - arch: [ "{{ hostvars[hostname].install_cooked.arch | default('amd64') }}" ] +# dependencies: +# - role: installer/debian +# distros: +# - distro: "{{ install_distro }}" +# codename: "{{ install_codename }}" +# arch: [ "{{ hostvars[hostname].install_cooked.arch | default('amd64') }}" ] diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index 162ece24..10b10e18 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -28,22 +28,22 @@ state: directory register: tmpdir - - import_role: - name: preseed - vars: - ssh_keys_root: "{{ hostvars[hostname].ssh_keys_root }}" - preseed_tmpdir: "{{ tmpdir.path }}" - preseed_force_net_ifnames_policy: path - preseed_no_netplan: yes - install_interface: enp1s1 + # - import_role: + # name: preseed + # vars: + # ssh_keys_root: "{{ hostvars[hostname].ssh_keys_root }}" + # preseed_tmpdir: "{{ tmpdir.path }}" + # preseed_force_net_ifnames_policy: path + # preseed_no_netplan: yes + # install_interface: enp1s1 - - name: Make preseed workdir readable by qemu - acl: - path: "{{ tmpdir.path }}" - state: present - entity: libvirt-qemu - etype: user - permissions: rx + # - name: Make preseed workdir readable by qemu + # acl: + # path: "{{ tmpdir.path }}" + # state: present + # entity: libvirt-qemu + # etype: user + # permissions: rx - import_role: name: vm/define -- cgit v1.2.3 From 2a89948bf13307cc936756c3a43bed51b3b49dc2 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 25 Dec 2019 18:20:54 +0100 Subject: openbsd vm install almost works now --- inventory/group_vars/kvmhosts/main.yml | 1 - inventory/host_vars/ch-router-obsd.yml | 11 ++++-- roles/installer/debian/preseed/defaults/main.yml | 3 +- .../openbsd/autoinstall/defaults/main.yml | 8 +++++ roles/installer/openbsd/autoinstall/tasks/main.yml | 41 ++++++++++++++++++++++ .../autoinstall/templates/auto_install.conf.j2 | 30 ++++++++++++++++ .../openbsd/autoinstall/templates/boot.conf.j2 | 5 +++ roles/installer/openbsd/base/tasks/main.yml | 28 +++------------ roles/vm/define/templates/libvirt-domain.xml.j2 | 6 +--- roles/vm/host/tasks/main.yml | 7 ++-- roles/vm/install/tasks/main.yml | 22 ++++++++---- 11 files changed, 118 insertions(+), 44 deletions(-) create mode 100644 roles/installer/openbsd/autoinstall/defaults/main.yml create mode 100644 roles/installer/openbsd/autoinstall/tasks/main.yml create mode 100644 roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 create mode 100644 roles/installer/openbsd/autoinstall/templates/boot.conf.j2 (limited to 'inventory') diff --git a/inventory/group_vars/kvmhosts/main.yml b/inventory/group_vars/kvmhosts/main.yml index eef2a639..917b41eb 100644 --- a/inventory/group_vars/kvmhosts/main.yml +++ b/inventory/group_vars/kvmhosts/main.yml @@ -1,3 +1,2 @@ --- -preseed_path: /srv/preseed installer_path: /srv/installer diff --git a/inventory/host_vars/ch-router-obsd.yml b/inventory/host_vars/ch-router-obsd.yml index 48788004..a88110f3 100644 --- a/inventory/host_vars/ch-router-obsd.yml +++ b/inventory/host_vars/ch-router-obsd.yml @@ -15,7 +15,14 @@ install: size: 10g interfaces: - bridge: br-svc - name: vi0 + name: vio0 autostart: True -network: {} +network: + nameservers: "{{ network_zones.svc.dns }}" + domain: "{{ host_domain }}" + primary: + interface: vio0 + ip: "{{ network_zones.svc.prefix | ipaddr(network_zones.svc.offsets[inventory_hostname]) | ipaddr('address') }}" + mask: "{{ network_zones.svc.prefix | ipaddr('netmask') }}" + gateway: "{{ network_zones.svc.gateway }}" diff --git a/roles/installer/debian/preseed/defaults/main.yml b/roles/installer/debian/preseed/defaults/main.yml index c5400493..18cfd952 100644 --- a/roles/installer/debian/preseed/defaults/main.yml +++ b/roles/installer/debian/preseed/defaults/main.yml @@ -1,4 +1,5 @@ --- -#preseed_force_net_ifnames_policy: path +#preseed_tmpdir: +#preseed_force_net_ifnames_policy: path preseed_no_netplan: no diff --git a/roles/installer/openbsd/autoinstall/defaults/main.yml b/roles/installer/openbsd/autoinstall/defaults/main.yml new file mode 100644 index 00000000..e3579ad0 --- /dev/null +++ b/roles/installer/openbsd/autoinstall/defaults/main.yml @@ -0,0 +1,8 @@ +--- +# obsd_autoinstall_tmpdir: + +# obsd_autoinstall_serial_device: com0 +# obsd_autoinstall_serial_baudrate: 115200 + +obsd_autoinstall_http_server: ftp2.eu.openbsd.org +obsd_autoinstall_file_sets: -comp* -game* -x* diff --git a/roles/installer/openbsd/autoinstall/tasks/main.yml b/roles/installer/openbsd/autoinstall/tasks/main.yml new file mode 100644 index 00000000..333b437f --- /dev/null +++ b/roles/installer/openbsd/autoinstall/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- name: create basic cd-image directory structure + file: + path: "{{ obsd_autoinstall_tmpdir }}/files/etc" + state: directory + +- name: extract installer files from iso + vars: + arch: "{{ hostvars[hostname].install_cooked.arch | default('amd64') }}" + version: "{{ install_codename }}" + iso_extract: + image: "{{ installer_path }}/openbsd-{{ version }}/{{ arch }}/cd.iso" + dest: "{{ obsd_autoinstall_tmpdir }}/files" + files: + - "{{ version }}/{{ arch }}/cdbr" + - "{{ version }}/{{ arch }}/cdboot" + - "{{ version }}/{{ arch }}/bsd.rd" + +- name: generate bootloader and installer configuration + loop: + - auto_install.conf + - boot.conf + template: + src: "{{ item }}.j2" + dest: "{{ obsd_autoinstall_tmpdir }}/files/etc/{{ item }}" + +- name: generate random seed + shell: "head -c512 < /dev/random > {{ obsd_autoinstall_tmpdir }}/files/etc/random.seed" + +- name: generate host specific installer image + command: 'genisoimage -RTLldDN -o "cd.iso" -no-emul-boot -b "cdbr" -c "boot.catalog" files/' + args: + chdir: "{{ obsd_autoinstall_tmpdir }}/" + +# - print instructions +# * attach to console +# * select (S)hell +# * # mount_cd9660 /dev/cd0c /mnt +# * # cp /mnt/etc/auto_install.conf / +# * # autoinstall +# diff --git a/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 b/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 new file mode 100644 index 00000000..6719aae3 --- /dev/null +++ b/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 @@ -0,0 +1,30 @@ +System hostname = {{ hostvars[hostname].host_name }} + +Which network interface do you wish to configure = {{ install_interface | default(hostvars[hostname].network_cooked.primary.interface) }} +{% if 'install_dhcp' in hostvars[hostname] and hostvars[hostname].install_dhcp %} +IPv4 address = dhcp +{% else %} +IPv4 address = {{ hostvars[hostname].network_cooked.primary.ip }} +Netmask = {{ hostvars[hostname].network_cooked.primary.mask }} +Default IPv4 route = {{ hostvars[hostname].network_cooked.primary.gateway }} +{% endif %} +DNS domain name = {{ hostvars[hostname].network_cooked.domain }} +DNS nameservers = {{ hostvars[hostname].network_cooked.nameservers | join(' ') }} + +{% if obsd_autoinstall_serial_device is defined %} +Change the default console to {{ obsd_autoinstall_serial_device }} = yes +Which speed should {{ obsd_autoinstall_serial_device }} use = {{ obsd_autoinstall_tty_serial | default(115200) }} +{% endif %} + +{# TODO: what if there are more than one ssh keys? #} +Public ssh key for root account = {{ ssh_keys_root[0] }} +Password for root = ! +Setup a user = no +Start sshd(8) by default = yes +Allow root ssh login = prohibit-password + +What timezone are you in = Europe/Vienna + +Location of sets = http +HTTP Server = {{ obsd_autoinstall_http_server }} +Set name(s) = {{ obsd_autoinstall_file_sets }} diff --git a/roles/installer/openbsd/autoinstall/templates/boot.conf.j2 b/roles/installer/openbsd/autoinstall/templates/boot.conf.j2 new file mode 100644 index 00000000..d6cdcfeb --- /dev/null +++ b/roles/installer/openbsd/autoinstall/templates/boot.conf.j2 @@ -0,0 +1,5 @@ +{% if obsd_autoinstall_serial_device is defined %} +stty {{ obsd_autoinstall_serial_device }} {{ obsd_autoinstall_tty_serial | default(115200) }} +set tty {{ obsd_autoinstall_serial_device }} +{% endif %} +set image /bsd.rd diff --git a/roles/installer/openbsd/base/tasks/main.yml b/roles/installer/openbsd/base/tasks/main.yml index fcc79589..04a4f4ce 100644 --- a/roles/installer/openbsd/base/tasks/main.yml +++ b/roles/installer/openbsd/base/tasks/main.yml @@ -12,31 +12,13 @@ label: "openbsd-{{ item.0.version }} {{ item.1 }}" get_url: url: "{{ openbsd_installer_url }}/{{ item.0.version }}/{{ item.1 }}/cd{{ item.0.version | replace('.', '') }}.iso" - dest: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/cd-orig.iso" + dest: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/cd.iso" mode: 0644 force: "{{ openbsd_installer_force_download }}" -- name: install geniosimage +# TODO: verify the image using openbsd-signify + +- name: install genisoimage apt: - name: geniosimage + name: genisoimage state: present - -## TODO -# - iso_extract from cd-orig.iso -> <>/<>/{boot.catalog,cdbr,cdboot,bsd.rd}, etc/boot.conf -# - add lines to etc/boot.conf -> stty com0 115200, set tty com0 -# - generate etc/auto_install.conf -# - name: generate host specific installer image -# loop: "{{ openbsd_versions | subelements('arch') }}" -# loop_control: -# label: "openbsd-{{ item.0.version }} {{ item.1 }}" -# command: 'genisoimage -RTLldDN -o "cd-{{ ansible_nodename }}.iso" -no-emul-boot -b "{{ item.0.version }}/{{ item.1 }}/cdbr" -c "{{ item.0.version }}/{{ item.1 }}/boot.catalog" data-{{ ansible_nodename }}/' -# args: -# chdir: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}" -# -# - print instructions -# * attach to console -# * select (S)hell -# * # mount_cd9660 /dev/cd0c /mnt -# * # cp /mnt/etc/auto_install.conf / -# * # autoinstall -# diff --git a/roles/vm/define/templates/libvirt-domain.xml.j2 b/roles/vm/define/templates/libvirt-domain.xml.j2 index 809a4a1e..1abd43ed 100644 --- a/roles/vm/define/templates/libvirt-domain.xml.j2 +++ b/roles/vm/define/templates/libvirt-domain.xml.j2 @@ -44,15 +44,11 @@ {% if vm_define_installer and install_distro == 'openbsd' %} - + - - - - {% endif %} {% if 'virtio' in hostvars[hostname].install_cooked.disks %} {% for device, src in hostvars[hostname].install_cooked.disks.virtio.items() %} diff --git a/roles/vm/host/tasks/main.yml b/roles/vm/host/tasks/main.yml index ef349d4c..0e11da3d 100644 --- a/roles/vm/host/tasks/main.yml +++ b/roles/vm/host/tasks/main.yml @@ -43,10 +43,7 @@ fstype: "{{ installer_lvm.fs }}" state: mounted -- name: make sure installer directories exists - loop: - - "{{ installer_path }}" - - "{{ preseed_path }}" +- name: make sure installer directory exists file: - name: "{{ item }}" + name: "{{ installer_path }}" state: directory diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index 9d5ea6a2..ab94d4e5 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -37,13 +37,21 @@ # preseed_no_netplan: yes # install_interface: enp1s1 - # - name: Make preseed workdir readable by qemu - # acl: - # path: "{{ tmpdir.path }}" - # state: present - # entity: libvirt-qemu - # etype: user - # permissions: rx + - import_role: + name: installer/openbsd/autoinstall + vars: + ssh_keys_root: "{{ hostvars[hostname].ssh_keys_root }}" + obsd_autoinstall_tmpdir: "{{ tmpdir.path }}" + obsd_autoinstall_serial_device: com0 + install_interface: vio0 + + - name: Make installer workdir readable by qemu + acl: + path: "{{ tmpdir.path }}" + state: present + entity: libvirt-qemu + etype: user + permissions: rx - import_role: name: vm/define -- cgit v1.2.3 From 7b2223d9eeefa92ea968836d6c65c4d96461cdf7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 26 Dec 2019 03:35:16 +0100 Subject: openbsd: add site.tgz to further customize the installation --- inventory/hosts.ini | 2 +- roles/installer/openbsd/autoinstall/tasks/main.yml | 20 ++++++++++++++++---- .../autoinstall/templates/auto_install.conf.j2 | 4 ++-- .../openbsd/autoinstall/templates/install.site.j2 | 21 +++++++++++++++++++++ 4 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 roles/installer/openbsd/autoinstall/templates/install.site.j2 (limited to 'inventory') diff --git a/inventory/hosts.ini b/inventory/hosts.ini index b45fb494..4847c64a 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -21,7 +21,7 @@ ch-testvm host_name=testvm ch-mimas2 host_name=mimas ch-gnocchi host_name=gnocchi ch-router host_name=router -ch-router-obsd host_name=router ansible_port=22 +ch-router-obsd host_name=router ch-gw-lan host_name=gw-lan ch-jump host_name=jump ansible_port=2342 ansible_host=ch-jump diff --git a/roles/installer/openbsd/autoinstall/tasks/main.yml b/roles/installer/openbsd/autoinstall/tasks/main.yml index 79aa8eda..a4e63f3f 100644 --- a/roles/installer/openbsd/autoinstall/tasks/main.yml +++ b/roles/installer/openbsd/autoinstall/tasks/main.yml @@ -1,10 +1,11 @@ --- -- name: create basic cd-image directory structure +- name: create temporary directories loop: - - etc - - sets + - files/etc + - files/sets + - site/ file: - path: "{{ obsd_autoinstall_tmpdir }}/files/{{ item }}" + path: "{{ obsd_autoinstall_tmpdir }}/{{ item }}" state: directory - name: extract installer files from iso @@ -39,6 +40,17 @@ dest: "{{ obsd_autoinstall_tmpdir }}/files/sets" files: "{{ [obsd_autoinstall_version+'/'+obsd_autoinstall_arch+'/'] | product(set_names | flatten) | map('join') | list }}" +- name: generate install.site script + template: + src: install.site.j2 + dest: "{{ obsd_autoinstall_tmpdir }}/site/install.site" + mode: 0755 + +- name: generate site tarball + archive: + path: "{{ obsd_autoinstall_tmpdir }}/site/" + dest: "{{ obsd_autoinstall_tmpdir }}/files/sets/site{{ obsd_autoinstall_version_short }}.tgz" + - name: generate host specific installer image command: 'genisoimage -RTLldDN -o "install.iso" -no-emul-boot -b "cdbr" -c "boot.catalog" files/' args: diff --git a/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 b/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 index 46a87cc8..18e85a80 100644 --- a/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 +++ b/roles/installer/openbsd/autoinstall/templates/auto_install.conf.j2 @@ -16,9 +16,9 @@ Change the default console to {{ obsd_autoinstall_serial_device }} = yes Which speed should {{ obsd_autoinstall_serial_device }} use = {{ obsd_autoinstall_tty_serial | default(115200) }} {% endif %} -{# TODO: what if there are more than one ssh keys? #} +{# we will install only one key for now, install.site will install the rest #} Public ssh key for root account = {{ ssh_keys_root[0] }} -Password for root = ! +Password for root = this-very-very-secure-password-will-be-overwritten-by-install.site Setup a user = no Start sshd(8) by default = yes Allow root ssh login = prohibit-password diff --git a/roles/installer/openbsd/autoinstall/templates/install.site.j2 b/roles/installer/openbsd/autoinstall/templates/install.site.j2 new file mode 100644 index 00000000..f4f9524d --- /dev/null +++ b/roles/installer/openbsd/autoinstall/templates/install.site.j2 @@ -0,0 +1,21 @@ +#!/bin/sh + +## TODO: enable this once we know how this works +## echo "Generating random root pasword" +## openssl rand -base64 24 | passwd root + +echo "Installing SSH keys for root" +cat < /root/.ssh/authorized_keys +{{ ssh_keys_root | join('\n') }} +EOF + +{% if hostvars[hostname].ansible_port is defined %} +echo "Setting SSH port to {{ hostvars[hostname].ansible_port }}" +sed -e 's/^\(\s*#*\s*Port.*\)/Port {{ hostvars[hostname].ansible_port }}/' -i /etc/ssh/sshd_config +{% endif %} + +echo "Installing python" +pkg_add -Im python%3.7 + + +rm /install.site -- cgit v1.2.3 From 0b25de101de1cc1a43ae47edfd89d43ae28a642d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 26 Dec 2019 14:41:44 +0100 Subject: openbsd installer runs thtrough now --- inventory/group_vars/openbsd/main.yml | 2 ++ inventory/hosts.ini | 4 ++++ roles/installer/openbsd/autoinstall/tasks/main.yml | 10 +++++----- roles/vm/install/tasks/main.yml | 9 +++++++++ 4 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 inventory/group_vars/openbsd/main.yml (limited to 'inventory') diff --git a/inventory/group_vars/openbsd/main.yml b/inventory/group_vars/openbsd/main.yml new file mode 100644 index 00000000..913008d0 --- /dev/null +++ b/inventory/group_vars/openbsd/main.yml @@ -0,0 +1,2 @@ +--- +ansible_python_interpreter: /usr/local/bin/python3.7 diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 4847c64a..3892abbe 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -180,6 +180,10 @@ r3-cccamp19-sw0 chaos-at-home-switches +[openbsd] +ch-router-obsd + + [kvmhosts] ch-atlas ch-gnocchi diff --git a/roles/installer/openbsd/autoinstall/tasks/main.yml b/roles/installer/openbsd/autoinstall/tasks/main.yml index a4e63f3f..cb9975de 100644 --- a/roles/installer/openbsd/autoinstall/tasks/main.yml +++ b/roles/installer/openbsd/autoinstall/tasks/main.yml @@ -56,8 +56,8 @@ args: chdir: "{{ obsd_autoinstall_tmpdir }}/" -# - print instructions -# * attach to console -# * select (S)hell -# * # mount_cd9660 /dev/cd0c /mnt && cp /mnt/etc/auto_install.conf / && autoinstall -# +- name: set additional installer info + set_fact: + installer_manual_steps_msg: | + * at the installer prompt select: (S)hell + * # mount_cd9660 /dev/cd0c /mnt && cp /mnt/etc/auto_install.conf / && autoinstall diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index ab94d4e5..bc31967a 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -62,6 +62,15 @@ - debug: msg: "you can check on the status of the installer running this command 'virsh console {{ hostname }}' on host {{ inventory_hostname }}." + - when: installer_manual_steps_msg is defined + pause: + prompt: | + Mind that this installer needs manual steps to be performed: + + {{ installer_manual_steps_msg | indent(2) }} + + When done press enter to continue or Ctrl-C + 'A' to abort. + - name: wait for installer to finish or crash wait_for_virt: name: "{{ hostname }}" -- cgit v1.2.3