Add virtualbox-iso target

Lots of other, small quality of life improvements to build process
Output of build serial console to artifacts upon failure
Reducing verbosity of Packer, now that serial output is captured
Fixed sizing problems with the boot partitions of Ubuntu versions
Use of Mac builders for Virtualbox targets
Updating Ubuntu builders to 22.04, as well
This commit is contained in:
Greg Hellings
2022-06-08 01:39:37 -05:00
committed by GitHub
parent 288b91a797
commit dea5487a3c
29 changed files with 175 additions and 68 deletions
+6 -2
View File
@@ -1,18 +1,22 @@
- name: install guest additions
hosts: default
pre_tasks:
- name: update all the things
- name: Update all the things
become: true
ansible.builtin.package: # noqa package-latest
name: "*"
state: latest
when: ansible_facts.pkg_mgr not in ['atomic_container']
- name: update atomic things
- name: Update atomic things
become: true
ansible.builtin.command: rpm-ostree upgrade
when: ansible_facts.pkg_mgr in ['atomic_container']
changed_when: false
- name: Restart the machine
become: true
ansible.builtin.reboot:
roles:
- role: virtualbox
when: packer_builder_type == 'virtualbox-iso'
@@ -0,0 +1,3 @@
- hosts: all
roles:
- virtualbox
@@ -0,0 +1,8 @@
driver:
name: containers
provider:
name: libvirt
platforms:
- name: test-ubuntu18-init
image: ubuntu:18.04
box: generic/ubuntu1804
@@ -0,0 +1,8 @@
driver:
name: containers
provider:
name: libvirt
platforms:
- name: test-ubuntu20-init
image: ubuntu:20.04
box: generic/ubuntu2004
+31 -13
View File
@@ -1,10 +1,23 @@
- name: install build deps for virtualbox addons
- name: Load version information
ansible.builtin.include_vars: "{{ item }}"
loop:
- "{{ role_path }}/vars/{{ ansible_facts['os_family'] }}.yml"
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}.yml"
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}_{{ ansible_facts['distribution_major_version'] }}.yml"
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}_{{ ansible_facts['distribution_version'] }}.yml"
when: item is file
- name: Install build deps for virtualbox addons
become: true
ansible.builtin.package:
name: "{{ virtualbox_packages }}"
state: present
update_cache: true
register: _pkg_install
retries: 3
until: _pkg_install is success
- name: start services
- name: Start services
become: true
ansible.builtin.service:
name: "{{ item }}"
@@ -12,16 +25,21 @@
enabled: true
loop: "{{ virtualbox_services }}"
- name: mount iso file
become: true
ansible.builtin.command: "{{ item }}"
changed_when: false
loop:
- mount -o loop,ro {{ ansible_user_dir }}/VBoxGuestAdditions.iso /mnt
- /mnt/VBoxLinuxAdditions.run
- umount /mnt
- when: virtualbox_from_iso
block:
- name: Mount iso file
become: true
ansible.builtin.command: "{{ item }}"
changed_when: false
failed_when: _cmd.rc not in [0, 2]
register: _cmd
loop:
- mount -o loop,ro {{ virtualbox_iso_location }} /mnt
- /mnt/VBoxLinuxAdditions.run --nox11
- umount /mnt
- name: remove iso
ansible.builtin.file:
name: "{{ ansible_user_dir }}/VBoxGuestAdditions.iso"
- name: Remove packages
become: true
ansible.builtin.package:
name: "{{ virtualbox_remove_packages | default([]) }}"
state: absent
+1
View File
@@ -6,3 +6,4 @@ virtualbox_packages:
- perl
virtualbox_services:
- dkms
virtualbox_from_iso: true
+11 -2
View File
@@ -1,7 +1,16 @@
virtualbox_packages:
- kernel
- kernel-devel
- kernel-headers
- gcc
- make
- perl
- elfutils-libelf-devel
- tar
- bzip2
- dkms
- kernel-devel
- make
virtualbox_services:
- dkms
virtualbox_iso_location: "{{ ansible_user_dir }}/VBoxGuestAdditions.iso"
virtualbox_from_iso: true
virtualbox_pre_commands: []
+3 -3
View File
@@ -1,5 +1,5 @@
virtualbox_packages:
- dkms
- make
virtualbox_services:
- dkms
- virtualbox-guest-dkms
virtualbox_services: []
virtualbox_from_iso: false
@@ -0,0 +1,9 @@
virtualbox_packages:
- virtualbox-guest-utils
- bzip2
- tar
- build-essential
virtualbox_services: []
virtualbox_from_iso: true
virtualbox_iso_location: /home/vagrant/VBoxGuestAdditions.iso
virtualbox_remove_packages: []