forked from AlmaLinux/cloud-images
-
Notifications
You must be signed in to change notification settings - Fork 0
/
almalinux-9-oci.pkr.hcl
122 lines (114 loc) · 4 KB
/
almalinux-9-oci.pkr.hcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*
* AlmaLinux OS 9 Packer template for building Oracle Cloud Infrastructure images.
*/
source "qemu" "almalinux-9-oci-bios-x86_64" {
iso_url = var.iso_url_9_x86_64
iso_checksum = var.iso_checksum_9_x86_64
shutdown_command = var.root_shutdown_command
accelerator = "kvm"
http_directory = var.http_directory
ssh_username = var.gencloud_ssh_username
ssh_password = var.gencloud_ssh_password
ssh_timeout = var.ssh_timeout
cpus = var.cpus
disk_interface = "virtio-scsi"
disk_size = var.gencloud_disk_size
disk_cache = "unsafe"
disk_discard = "unmap"
disk_detect_zeroes = "unmap"
disk_compression = true
format = "qcow2"
headless = var.headless
machine_type = "q35"
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-9-OCI-BIOS-9.0-${formatdate("YYYYMMDD", timestamp())}.x86_64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_9_x86_64_bios
qemuargs = [
["-cpu", "host"]
]
}
source "qemu" "almalinux-9-oci-x86_64" {
iso_url = var.iso_url_9_x86_64
iso_checksum = var.iso_checksum_9_x86_64
shutdown_command = var.root_shutdown_command
accelerator = "kvm"
http_directory = var.http_directory
ssh_username = var.gencloud_ssh_username
ssh_password = var.gencloud_ssh_password
ssh_timeout = var.ssh_timeout
cpus = var.cpus
firmware = var.firmware_x86_64
use_pflash = true
disk_interface = "virtio-scsi"
disk_size = var.gencloud_disk_size
disk_cache = "unsafe"
disk_discard = "unmap"
disk_detect_zeroes = "unmap"
disk_compression = true
format = "qcow2"
headless = var.headless
machine_type = "q35"
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-9-OCI-9.0-${formatdate("YYYYMMDD", timestamp())}.x86_64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_9_x86_64
qemuargs = [
["-cpu", "host"]
]
}
source "qemu" "almalinux-9-oci-aarch64" {
iso_url = var.iso_url_9_aarch64
iso_checksum = var.iso_checksum_9_aarch64
shutdown_command = var.root_shutdown_command
accelerator = "kvm"
http_directory = var.http_directory
ssh_username = var.gencloud_ssh_username
ssh_password = var.gencloud_ssh_password
ssh_timeout = var.ssh_timeout
cpus = var.cpus
firmware = var.firmware_aarch64
use_pflash = false
disk_interface = "virtio-scsi"
disk_size = var.gencloud_disk_size
disk_cache = "unsafe"
disk_discard = "unmap"
disk_detect_zeroes = "unmap"
disk_compression = true
format = "qcow2"
headless = var.headless
machine_type = "virt,gic-version=max"
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-9-OCI-9.0-${formatdate("YYYYMMDD", timestamp())}.aarch64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_9_aarch64
qemuargs = [
["-cpu", "max"],
["-boot", "strict=on"],
["-monitor", "none"]
]
}
build {
sources = [
"qemu.almalinux-9-oci-bios-x86_64",
"qemu.almalinux-9-oci-x86_64",
"qemu.almalinux-9-oci-aarch64"
]
provisioner "ansible" {
playbook_file = "./ansible/oci.yml"
galaxy_file = "./ansible/requirements.yml"
roles_path = "./ansible/roles"
collections_path = "./ansible/collections"
ansible_env_vars = [
"ANSIBLE_PIPELINING=True",
"ANSIBLE_REMOTE_TEMP=/tmp",
"ANSIBLE_SSH_ARGS='-o ControlMaster=no -o ControlPersist=180s -o ServerAliveInterval=120s -o TCPKeepAlive=yes'"
]
}
}