Consolidate CentOS 7

This commit is contained in:
Greg Hellings
2023-08-03 15:46:44 -05:00
parent bb63ff7534
commit 22c04bd092
8 changed files with 61 additions and 18 deletions
+1 -1
View File
@@ -39,7 +39,7 @@
opts: loop
- name: Install additions
ansible.builtin.command: /mnt/VBoxLinuxAdditions.run --nox11 2>&1 > /root/vbox_addon_install.log
ansible.builtin.shell: /mnt/VBoxLinuxAdditions.run install 2>&1 > /root/vbox_addon_install.log
changed_when: false
failed_when: _cmd.rc not in [0, 2]
register: _cmd
-11
View File
@@ -1,11 +0,0 @@
distro = "centos"
version = "7"
iso = {
url = "http://mirror.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-NetInstall-2009.iso"
checksum = "b79079ad71cc3c5ceb3561fff348a1b67ee37f71f4cddfec09480d4589c191d6"
}
boot_command = [
"<esc><wait>",
"linux inst.ks=cdrom:/http/centos/7-x86_64.ks console=ttyS0",
"<enter>"
]
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env xonsh
$RAISE_SUBPROC_ERROR = True
from pathlib import Path
import sys
self = Path(__file__).absolute()
base = self.parent.parent.parent.parent
source @(base / "test.xsh")
opts = get_parser(sys.argv[1:])
cd @(str(base))
for provider in get_providers():
packer build -var-file=@(self.parent / "x86_64.pkrvars.hcl") @(opts["upload"]) -only=@(provider) @(base / "sources")
@@ -1,6 +1,20 @@
distro = "centos"
version = "7"
iso = {
url = "http://mirror.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-NetInstall-2009.iso"
checksum = "b79079ad71cc3c5ceb3561fff348a1b67ee37f71f4cddfec09480d4589c191d6"
}
boot_command = [
"<esc><wait>",
"linux inst.ks=cdrom:/ks.cfg console=tty0",
"<enter>"
]
cd_files = {
"ks.cfg" = <<KICKSTART
install
text
reboot
network --bootproto=dhcp --activate
url --url=http://mirror.centos.org/centos/7/os/x86_64/
repo --name=updates --baseurl=http://mirror.centos.org/centos/7/updates/x86_64/
lang en_US.UTF-8
@@ -50,3 +64,5 @@ ONBOOT="yes"
TYPE="Ethernet"
EOF
%end
KICKSTART
}
+7 -2
View File
@@ -50,8 +50,8 @@ variable "build" {
}
variable "cd_files" {
type = list(string)
default = []
type = map(string)
default = {}
}
variable "cd_label" {
@@ -59,6 +59,11 @@ variable "cd_label" {
default = "cidata"
}
variable "http_files" {
type = map(string)
default = {}
}
locals {
name = "${var.distro}-${var.version}-${var.arch}"
description = templatefile("../README.box.md", {
+2 -2
View File
@@ -32,7 +32,7 @@ source "qemu" "x86_64" {
]
accelerator = var.qemu_accelerator
http_directory = "http"
cd_files = var.cd_files
http_content = var.http_files
cd_content = var.cd_files
cd_label = var.cd_label
}
+3 -2
View File
@@ -27,6 +27,7 @@ source "virtualbox-iso" "x86_64" {
["modifyvm", "{{ .Name }}", "--uartmode1", "file", "serial-output-virtualbox-${var.arch}-${var.distro}-${var.version}"]
]
http_directory = "http"
cd_files = [ "http/${var.cd_files_path}" ]
http_content = var.http_files
cd_content = var.cd_files
cd_label = var.cd_label
}
+18
View File
@@ -30,6 +30,24 @@ def get_builds():
builds = [str(p.stem).rsplit(".", 1)[0] for p in distros.glob("**/*.pkrvars.hcl")]
return builds
def get_parser(args):
parser = argparse.ArgumentParser("Builder")
parser.add_argument("--headless", action="store_true")
parser.add_argument("--upload", action="store_true")
parsed = parser.parse_args(args)
opts = {}
if parsed.headless:
opts["headless"] = "hadless=true"
else:
opts["headless"] = "headless=false"
if parsed.upload:
opts["upload"] = ""
else:
opts["upload"] = "-except=upload"
return opts
def main():
# Equivalent of `set -e` in Bash
$RAISE_SUBPROC_ERROR = True