forked from AlmaLinux/cloud-images
-
Notifications
You must be signed in to change notification settings - Fork 0
/
almalinux-8-gencloud.pkr.hcl
143 lines (134 loc) · 5.03 KB
/
almalinux-8-gencloud.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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
* AlmaLinux OS 8 Packer template for building Generic Cloud (OpenStack compatible) images.
*/
source "qemu" "almalinux-8-gencloud-x86_64" {
iso_url = var.iso_url_8_x86_64
iso_checksum = var.iso_checksum_8_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
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-8-GenericCloud-8.6-${formatdate("YYYYMMDD", timestamp())}.x86_64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_8_x86_64
}
source "qemu" "almalinux-8-gencloud-uefi-x86_64" {
iso_url = var.iso_url_8_x86_64
iso_checksum = var.iso_checksum_8_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
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-8-GenericCloud-UEFI-8.6-${formatdate("YYYYMMDD", timestamp())}.x86_64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_8_x86_64_uefi
}
source "qemu" "almalinux-8-gencloud-aarch64" {
iso_url = var.iso_url_8_aarch64
iso_checksum = var.iso_checksum_8_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-8-GenericCloud-8.6-${formatdate("YYYYMMDD", timestamp())}.aarch64.qcow2"
boot_wait = var.boot_wait
boot_command = var.gencloud_boot_command_8_aarch64
qemuargs = [
["-cpu", "max"],
["-boot", "strict=on"],
["-monitor", "none"]
]
}
source "qemu" "almalinux-8-gencloud-ppc64le" {
iso_url = var.iso_url_8_ppc64le
iso_checksum = var.iso_checksum_8_ppc64le
shutdown_command = var.root_shutdown_command
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
memory = var.memory
net_device = "virtio-net"
qemu_binary = var.qemu_binary
vm_name = "AlmaLinux-8-GenericCloud-8.6-${formatdate("YYYYMMDD", timestamp())}.ppc64le.qcow2"
boot_wait = var.gencloud_boot_wait_ppc64le
boot_command = var.gencloud_boot_command_8_ppc64le
qemuargs = [
["-machine", "pseries,accel=kvm,kvm-type=HV"]
]
}
build {
sources = [
"qemu.almalinux-8-gencloud-x86_64",
"qemu.almalinux-8-gencloud-uefi-x86_64",
"qemu.almalinux-8-gencloud-aarch64",
"qemu.almalinux-8-gencloud-ppc64le"
]
provisioner "ansible" {
playbook_file = "./ansible/gencloud.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'"
]
}
}