packer { required_plugins { xenserver= { version = "= v0.7.3" source = "github.com/ddelnano/xenserver" } } } variable "remote_host" { type = string description = "The ip or fqdn of your XCP-ng. It must be the master" sensitive = true default = "" } variable "remote_username" { type = string description = "The username used to interact with your XCP-ng" sensitive = true default = "" } variable "remote_password" { type = string description = "The password used to interact with your XCP-ng" sensitive = true default = "" } variable "sr_iso_name" { type = string description = "The ISO-SR to packer will use" default = "" } variable "sr_name" { type = string description = "The name of the SR to packer will use" default = "" } source "xenserver-iso" "rocky9" { iso_checksum = "e20445907daefbfcdb05ba034e9fc4cf91e0e8dc164ebd7266ffb8fdd8ea99e7" iso_url = "https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.4-x86_64-dvd.iso" sr_iso_name = var.sr_iso_name sr_name = var.sr_name tools_iso_name = "" remote_host = var.remote_host remote_password = var.remote_password remote_username = var.remote_username http_directory = "http" ip_getter = "tools" // Shutdown configuration shutdown_command = "systemctl poweroff" // Boot configuration boot_command = [" inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/inst.ks"] boot_wait = "10s" # Change this to match the ISO of ubuntu you are using in the iso_url variable clone_template = "Rocky Linux 9" vm_name = "Rocky Linux 9.4 template" vm_description = "Rocky Linux 9.4 Packer template" vcpus_max = 2 vcpus_atstartup = 2 vm_memory = 2048 #MB network_names = ["prod_eth2"] disk_size = 20480 #MB disk_name = "rocky 9.4 disk" vm_tags = ["Generated by Packer"] ssh_username = "root" ssh_password = "Packer" ssh_wait_timeout = "60000s" ssh_handshake_attempts = 10000 output_directory = "packer-rocky-9" keep_vm = "on_success" format = "xva_compressed" } build { sources = ["xenserver-iso.rocky9"] provisioner "shell" { scripts = [ "scripts/rocky9_provisioning.sh" ] } }