Skip to content
Snippets Groups Projects
nodeimage.pkr.hcl 1.3 KiB
Newer Older
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"
  }
}