Compare commits
2 Commits
5af819724f
...
45973d6a5a
Author | SHA1 | Date | |
---|---|---|---|
45973d6a5a | |||
68b2cbfc4d |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
*/.vagrant
|
*/.vagrant
|
||||||
vagrant-settings.yaml
|
vagrant-settings.yaml
|
||||||
|
vagrantdata/repotesting
|
32
centos/Vagrantfile
vendored
Normal file
32
centos/Vagrantfile
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "boxomatic/centos-stream-9"
|
||||||
|
config.vm.hostname = "centos-stream-9-repotesting.example.org"
|
||||||
|
|
||||||
|
config.vm.synced_folder "../vagrantdata", "/home/vagrant/data"
|
||||||
|
|
||||||
|
config.vm.provider "virtualbox" do |vb|
|
||||||
|
vb.memory = "4096"
|
||||||
|
vb.cpus = "2"
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf -y update
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf install -y diffstat jq python3-jsonpatch rpminspect rpminspect-data-fedora rpminspect-data-centos vim-enhanced
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
# This will either rebuild the kernel modules for the running kernel or build
|
||||||
|
# the kernel modules for an updated kernel if a newer one exists
|
||||||
|
kver=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}.%{ARCH}\n" kernel | sort -V | tail -n 1)
|
||||||
|
test -x /sbin/rcvboxadd && /sbin/rcvboxadd quicksetup "${kver}"
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision :reload
|
||||||
|
|
||||||
|
end
|
32
rhel/README.md
Normal file
32
rhel/README.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# README for rhel box
|
||||||
|
|
||||||
|
## Redhat Subscription required
|
||||||
|
|
||||||
|
A Redhat Subscription is required to install the additional packages
|
||||||
|
required to complete the testing this box was developed to perform and
|
||||||
|
registration/deregistration code is added to the box Vagrantfile to
|
||||||
|
support / accomodate this.
|
||||||
|
|
||||||
|
A Redhat Developer Subscription entitlement is sufficient to meet this
|
||||||
|
requirement.
|
||||||
|
|
||||||
|
## VirtualBox Guest Additions rebuild
|
||||||
|
|
||||||
|
Due to the challenge of building this box for RHEL 9.2 (the base box is
|
||||||
|
RHEL 9.1) and adding VirtualBox Guest Additions to support Shared Folders
|
||||||
|
you probably want to save the box after first build instead of destroying
|
||||||
|
and recreating it each time it is to be used.
|
||||||
|
|
||||||
|
## video issue on VirtualBox 7 with macOS Ventura
|
||||||
|
|
||||||
|
If you are running VirtualBox on Linux or VirtualBox 6 on a macOS version
|
||||||
|
prior to Ventura the following issues may not pertain to your setup.
|
||||||
|
|
||||||
|
The generic/rhel9 box has boot issue on VirtualBox 7 (verified up to version
|
||||||
|
7.0.8) where box will have very low video performance.
|
||||||
|
|
||||||
|
The issue can be worked around by disabling the `vga=792` kernel boot arg
|
||||||
|
on first boot.
|
||||||
|
|
||||||
|
Following that the box will be updated and appear to work normally.
|
||||||
|
|
88
rhel/Vagrantfile
vendored
Normal file
88
rhel/Vagrantfile
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
require 'yaml'
|
||||||
|
|
||||||
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
||||||
|
VAGRANTFILE_API_VERSION = "2"
|
||||||
|
|
||||||
|
# configs, custom updates defaults
|
||||||
|
defaults_cfg = YAML.load_file('vagrant-settings.yaml_defaults')
|
||||||
|
if File.exist?('vagrant-settings.yaml')
|
||||||
|
custom_cfg = YAML.load_file('vagrant-settings.yaml')
|
||||||
|
cfg = defaults_cfg.merge(custom_cfg)
|
||||||
|
else
|
||||||
|
cfg = defaults_cfg
|
||||||
|
end
|
||||||
|
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "generic/rhel9"
|
||||||
|
config.vm.hostname = "rhel9u2.example.org"
|
||||||
|
|
||||||
|
config.vm.synced_folder "../vagrantdata", "/home/vagrant/data"
|
||||||
|
|
||||||
|
config.vm.provider "virtualbox" do |vb|
|
||||||
|
# vb.gui = true is needed so we can modify the initial boot command line in
|
||||||
|
# VirtualBox 7.0.8 on macOS Ventura as there appears to be a regression in
|
||||||
|
# VboxSVGA driver. Possible that a test build of 7.0.9 (or newer) may
|
||||||
|
# resolve but I've not tested that.
|
||||||
|
# For whatever reason in VB7 on macOS removing the vga=792 (1024x768x24)
|
||||||
|
# kernel boot option will temporarily resolve the issue.
|
||||||
|
# Access to the boot menu in VB7 on macOS by pressing fn-F12 early in
|
||||||
|
# the boot sequence and modify kernel boot params to remove vga=792.
|
||||||
|
vb.gui = true
|
||||||
|
vb.memory = "2048"
|
||||||
|
vb.cpus = "2"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Unregister from rhsm if registered
|
||||||
|
config.trigger.before :destroy do |trigger|
|
||||||
|
trigger.warn = "Unregistering from rhsm"
|
||||||
|
trigger.run_remote = {inline: "subscription-manager status || exit 0;subscription-manager remove --all; subscription-manager unregister"}
|
||||||
|
end
|
||||||
|
|
||||||
|
# Must be registered to update and/or install packages
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
subscription-manager register --force \
|
||||||
|
--auto-attach \
|
||||||
|
--username=#{cfg["rhsm_username"]} \
|
||||||
|
--password=#{cfg["rhsm_password"]}
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf -y update
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf -y --enablerepo=epel install diffstat jq python3-jsonpatch rpminspect rpminspect-data-generic vim-enhanced
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
# NOTE: Current generic/rocky9 box is RHEL 9.1 and the above `dnf -y update` will upgrade
|
||||||
|
# it to RHEL 9.2. This will include a new kernel and will break support for VirtualBox
|
||||||
|
# Shared Folders. You will need to build a new kmod for the updated kernel.
|
||||||
|
# In the centos/rocky Vagrant machines this is straight-forward as the boxomatic
|
||||||
|
# boxes leave the build requirements installed. The generic/rhel9 box has these
|
||||||
|
# removed so more work is required to get working vboxsf kmod.
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf install -y gcc make perl kernel-devel kernel-headers bzip2 dkms
|
||||||
|
cd /dev/shm
|
||||||
|
# NOTE: If you are running an older version of VirtualBox probably better to download
|
||||||
|
# matching VBoxGuestAdditions_<ver>.iso and install from that.
|
||||||
|
curl -LOR https://download.virtualbox.org/virtualbox/7.0.8/VBoxGuestAdditions_7.0.8.iso
|
||||||
|
mkdir -p /mnt/virtualbox
|
||||||
|
mount -o loop /dev/shm/VBoxGuestAdditions_7.0.8.iso /mnt/virtualbox
|
||||||
|
/mnt/virtualbox VBoxLinuxAdditions.run --nox11
|
||||||
|
# This will either rebuild the kernel modules for the running kernel or build
|
||||||
|
# the kernel modules for an updated kernel if a newer one exists
|
||||||
|
kver=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}.%{ARCH}\n" kernel | sort -V | tail -n 1)
|
||||||
|
test -x /sbin/rcvboxadd && /sbin/rcvboxadd quicksetup "${kver}"
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision :reload
|
||||||
|
|
||||||
|
# NOTE: If, after reload, the box doesn't mount the VirtualBox shared folders
|
||||||
|
# try installing the Guest Additions again following the sequence above
|
||||||
|
# and then halt and up the box.
|
||||||
|
|
||||||
|
end
|
2
rhel/vagrant-settings.yaml_defaults
Normal file
2
rhel/vagrant-settings.yaml_defaults
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
rhsm_username: admin
|
||||||
|
rhsm_password: secret
|
33
rocky/Vagrantfile
vendored
Normal file
33
rocky/Vagrantfile
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "boxomatic/rocky-9"
|
||||||
|
config.vm.box_version = "20230520.0.1"
|
||||||
|
config.vm.hostname = "rocky9u2-repotesting.example.org"
|
||||||
|
|
||||||
|
config.vm.synced_folder "../vagrantdata", "/home/vagrant/data"
|
||||||
|
|
||||||
|
config.vm.provider "virtualbox" do |vb|
|
||||||
|
vb.memory = "4096"
|
||||||
|
vb.cpus = "2"
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf -y update
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
dnf install -y diffstat jq python3-jsonpatch rpminspect rpminspect-data-fedora vim-enhanced
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
# This will either rebuild the kernel modules for the running kernel or build
|
||||||
|
# the kernel modules for an updated kernel if a newer one exists
|
||||||
|
kver=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}.%{ARCH}\n" kernel | sort -V | tail -n 1)
|
||||||
|
test -x /sbin/rcvboxadd && /sbin/rcvboxadd quicksetup "${kver}"
|
||||||
|
SHELL
|
||||||
|
|
||||||
|
config.vm.provision :reload
|
||||||
|
|
||||||
|
end
|
11
vagrantdata/README.md
Normal file
11
vagrantdata/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Vagrantdata directory
|
||||||
|
|
||||||
|
Boxes will use VirtualBox Shared Folders to mount this directory to /vagrant/data.
|
||||||
|
|
||||||
|
Any information that should be persisted between provisioning cycles of the boxes or
|
||||||
|
perhaps shared between boxes for different OS at the same version of different versions of the same OS for analysis should be located here.
|
||||||
|
|
||||||
|
## repotesting repository
|
||||||
|
|
||||||
|
The `repotesting` repository which holds the scripts used to run `rpminspect` on Rocky Linux and, optionally, upstream packages can be cloned into this directory and will not be commited into this repository as well.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user