@@ -19,6 +19,7 @@ openstack_images:
1919 - " {{ openstack_image_cirros_0_6_0 }}"
2020 - " {{ openstack_image_rocky9 }}"
2121 - " {{ openstack_image_ubuntu_jammy }}"
22+ - " {{ openstack_image_rocky9_doca_ofed }}"
2223
2324# Common GRUB settings for VM images
2425openstack_grub_env_common :
@@ -129,3 +130,210 @@ openstack_image_ubuntu_jammy:
129130 env :
130131 DIB_RELEASE : " jammy"
131132 DIB_CLOUD_INIT_DATASOURCES : " ConfigDrive"
133+
134+ # Rocky Linux 9 with Doca Ofed enabled.
135+ openstack_image_rocky9_doca_ofed :
136+ name : " Rocky9-doca-ofed"
137+ type : raw
138+ elements :
139+ - " rocky-container"
140+ - " cloud-init"
141+ - " cloud-init-datasources"
142+ - " enable-serial-console"
143+ - " block-device-efi"
144+ - " vm"
145+ - " openssh-server"
146+ - " dracut-regenerate"
147+ visibility : " public"
148+ packages :
149+ - " git"
150+ - " tmux"
151+ - " vim-enhanced"
152+ - " lshw"
153+ - " pciutils"
154+ - " infiniband-diags"
155+ - " ethtool"
156+ - " less"
157+ - " logrotate"
158+ - " net-tools"
159+ - " nvme-cli"
160+ - " python3"
161+ - " smartmontools"
162+ - " NetworkManager-config-server"
163+ - " linux-firmware"
164+ - " cloud-utils-growpart"
165+ env :
166+ DIB_AVOID_PACKAGES_UPDATE : 1
167+ DIB_BLOCK_DEVICE_CONFIG : " {{ stackhpc_dib_block_device_config_uefi_lvm }}"
168+ DIB_DRACUT_ENABLED_MODULES_DEFAULT_CONFIG : " {{ stackhpc_dib_dracut_enabled_modules_default_config }}"
169+ DIB_BOOTLOADER_DEFAULT_CMDLINE : " nofb nomodeset gfxpayload=text net.ifnames=1 rd.auto"
170+ DIB_GRUB_TIMEOUT : " 5"
171+ DIB_GRUB_TIMEOUT_STYLE : " menu"
172+ DIB_CONTAINERFILE_DOCKERFILE : " {{ playbook_dir }}/../containerfiles/rocky-latest-doca-ofed"
173+ DIB_CONTAINERFILE_NETWORK_DRIVER : host
174+ DIB_CONTAINERFILE_RUNTIME : docker
175+ YUM : dnf
176+ DIB_CLOUD_INIT_DATASOURCES : " OpenStack, ConfigDrive"
177+ DIB_RELEASE : " 9.6"
178+ # Workaround for stack user home ownership bug
179+ DIB_IMAGE_CACHE : " /tmp/yum"
180+ DIB_SUDOERS_FILENAME : " no-fqdn"
181+ # Avoid DNS queries during sudo commands, since we might not always have working DNS.
182+ DIB_SUDOERS_CONFIG : |
183+ Defaults !fqdn
184+
185+ # StackHPC overcloud DIB image block device configuration.
186+ # This image layout conforms to the CIS partition benchmarks.
187+ # This configuration builds a UEFI-compatible image with 3 partitions.
188+ # * p0: EFI ESP bootloader
189+ # * p1: EFI BSP
190+ # * p2: LVM PV (rootpv)
191+ # The rootpv PV is in the rootvg VG, and has the following LVs:
192+ # * lv_root -> /
193+ # * lv_tmp -> /tmp
194+ # * lv_var -> /var
195+ # * lv_var_tmp -> /var/tmp
196+ # * lv_log -> /var/log
197+ # * lv_audit -> /var/log/audit
198+ # * lv_home -> /home
199+
200+ stackhpc_dib_block_device_config_uefi_lvm : |
201+ - local_loop:
202+ name: image0
203+ size: 20GiB
204+ - partitioning:
205+ base: image0
206+ label: gpt
207+ partitions:
208+ - name: ESP
209+ type: 'EF00'
210+ size: 500MiB
211+ mkfs:
212+ type: vfat
213+ mount:
214+ mount_point: /boot/efi
215+ fstab:
216+ options: "defaults"
217+ fsck-passno: 2
218+ - name: BSP
219+ type: 'EF02'
220+ size: 8MiB
221+ - name: root
222+ type: '8E00'
223+ flags: [ boot ]
224+ size: 100%
225+ - lvm:
226+ name: lvm
227+ base: [ root ]
228+ pvs:
229+ - name: rootpv
230+ base: root
231+ options: [ "--force" ]
232+ vgs:
233+ - name: rootvg
234+ base: [ "rootpv" ]
235+ options: [ "--force" ]
236+ lvs:
237+ - name: lv_root
238+ base: rootvg
239+ size: 5G
240+ - name: lv_tmp
241+ base: rootvg
242+ size: 1G
243+ - name: lv_var
244+ base: rootvg
245+ size: 1G
246+ - name: lv_var_tmp
247+ base: rootvg
248+ size: 1G
249+ - name: lv_log
250+ base: rootvg
251+ size: 1G
252+ - name: lv_audit
253+ base: rootvg
254+ size: 128M
255+ - name: lv_home
256+ base: rootvg
257+ size: 128M
258+ - mkfs:
259+ name: fs_root
260+ base: lv_root
261+ type: ext4
262+ label: "rootfs"
263+ mount:
264+ mount_point: /
265+ fstab:
266+ options: "defaults"
267+ fsck-passno: 1
268+ - mkfs:
269+ name: fs_tmp
270+ base: lv_tmp
271+ type: ext4
272+ label: "tmpfs"
273+ mount:
274+ mount_point: /tmp
275+ fstab:
276+ options: "rw,noexec,nosuid,nodev"
277+ fsck-passno: 2
278+ - mkfs:
279+ name: fs_var
280+ base: lv_var
281+ type: ext4
282+ label: "varfs"
283+ mount:
284+ mount_point: /var
285+ fstab:
286+ options: "defaults"
287+ fsck-passno: 2
288+ - mkfs:
289+ name: fs_var_tmp
290+ base: lv_var_tmp
291+ type: ext4
292+ label: "vartmpfs"
293+ mount:
294+ mount_point: /var/tmp
295+ fstab:
296+ options: "rw,noexec,nosuid,nodev"
297+ fsck-passno: 2
298+ - mkfs:
299+ name: fs_log
300+ base: lv_log
301+ type: ext4
302+ label: "logfs"
303+ mount:
304+ mount_point: /var/log
305+ fstab:
306+ options: "defaults"
307+ fsck-passno: 2
308+ - mkfs:
309+ name: fs_audit
310+ base: lv_audit
311+ type: ext4
312+ label: "auditfs"
313+ mount:
314+ mount_point: /var/log/audit
315+ fstab:
316+ options: "defaults"
317+ fsck-passno: 2
318+ - mkfs:
319+ name: fs_home
320+ base: lv_home
321+ type: ext4
322+ label: "homefs"
323+ mount:
324+ mount_point: /home
325+ fstab:
326+ options: "rw,nodev"
327+ fsck-passno: 2
328+
329+ # StackHPC overcloud DIB image Dracut module configuration.
330+ stackhpc_dib_dracut_enabled_modules_default_config : |
331+ - name: crypt
332+ packages:
333+ - cryptsetup
334+ - name: lvm
335+ packages:
336+ - lvm2
337+ - name: mdraid
338+ packages:
339+ - mdraid
0 commit comments