packer { required_plugins { openstack = { version = "~> 1" source = "github.com/hashicorp/openstack" } ansible = { version = "~> 1" source = "github.com/hashicorp/ansible" } } } source "openstack" "example" { skip_create_image = var.skip_create_image image_name = local.local_image_name source_image = var.source_image image_members = var.image_membership image_auto_accept_members = var.auto_accept_members image_tags = var.image_tags image_disk_format = var.image_format volume_size = var.volume_size flavor = var.flavor instance_name = var.build_instance_name use_blockstorage_volume = true floating_ip_network = var.floating_ip_network networks = var.networks security_groups = var.security_groups ssh_username = var.ssh_username } build { sources = ["source.openstack.example"] provisioner "shell" { inline = [ "echo Hello", "echo from `hostname`" ] } # For more provision, check at https://developer.hashicorp.com/packer/docs/provisioners # Example of ansible provisioner: provisioner "ansible" { playbook_file = "./ansible/playbook.yml" } }