Skip to content
Snippets Groups Projects
nodeimage.pkr.hcl 1.38 KiB
Newer Older
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  local_image_name = "${var.image_name}${var.image_date_suffix ? formatdate("YYYYMMDDHHmm", timestamp()) : ""}"
}

source "openstack" "image" {
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  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
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  image_tags                = var.image_tags
  image_disk_format         = var.image_format
  volume_size               = var.volume_size
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  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.image"]

  provisioner "ansible" {
Bo-Chun Chen's avatar
Bo-Chun Chen committed
    user          = var.ssh_username
    groups        = ["compute"]
    playbook_file = "./ansible/compute.yml"
Bo-Chun Chen's avatar
Bo-Chun Chen committed
    roles_path    = "./ansible/roles"
    extra_arguments = [
      "--extra-vars", "root_ssh_key='${var.root_ssh_key}'"
    ]
  }
  provisioner "ansible" {
Bo-Chun Chen's avatar
Bo-Chun Chen committed
    user             = var.ssh_username
    groups           = ["compute"]
    ansible_env_vars = ["ANSIBLE_HOST_KEY_CHECKING=False"]
Bo-Chun Chen's avatar
Bo-Chun Chen committed
    playbook_file    = "./CRI_XCBC/compute-packer.yaml"