Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save snesbittsea/32d9df48ea13b47282d6189bb36f8f77 to your computer and use it in GitHub Desktop.
Save snesbittsea/32d9df48ea13b47282d6189bb36f8f77 to your computer and use it in GitHub Desktop.
Packer Template causing 1.2.4 Crash
{
"_ANCHORS": [
{
"boot_command": [
"<esc><f6><esc>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs>",
"initrd=/install/initrd.gz ",
"auto=true ",
"url=http://{{.HTTPIP}}:{{.HTTPPort}}/{{user `preseed_file`}} ",
"language={{user `language`}} ",
"country={{user `country`}} ",
"locale={{user `locale`}} ",
"hostname={{user `vm_name`}} ",
"domain={{user `domain`}} ",
"interface=auto ",
"console-setup/ask_detect=false ",
"keyboard-configuration/layoutcode={{user `keyboard`}} ",
"vga=788 noprompt quiet --<enter>"
],
"boot_wait": "{{user `boot_wait`}}",
"communicator": "{{user `communicator`}}",
"disk_size": "{{user `disk_size`}}",
"headless": "{{user `headless`}}",
"http_directory": "{{user `http_directory`}}",
"http_port_max": "{{user `http_port_max`}}",
"http_port_min": "{{user `http_port_min`}}",
"iso_checksum": "{{user `iso_checksum`}}",
"iso_checksum_type": "{{user `iso_checksum_type`}}",
"iso_checksum_url": "{{user `iso_checksum_url`}}",
"iso_target_extension": "iso",
"iso_target_path": "{{user `packer_cache_dir`}}/{{user `iso_file`}}",
"iso_urls": [
"{{user `iso_path_internal`}}/{{user `iso_file`}}",
"{{user `iso_path_external`}}/{{user `iso_file`}}"
],
"output_directory": "{{user `output_directory`}}",
"shutdown_command": "echo '{{user `ssh_password`}}' | sudo -E -S poweroff",
"shutdown_timeout": "{{user `shutdown_timeout`}}",
"vm_name": "{{user `vm_name`}}"
},
{
"ssh_agent_auth": "{{user `ssh_agent_auth`}}",
"ssh_disable_agent_forwarding": "{{user `ssh_disable_agent_forwarding`}}",
"ssh_file_transfer_method": "{{user `ssh_file_transfer_method`}}",
"ssh_handshake_attempts": "{{user `ssh_handshake_attempts`}}",
"ssh_keep_alive_interval": "{{user `ssh_keep_alive_interval`}}",
"ssh_password": "{{user `ssh_password`}}",
"ssh_port": "{{user `ssh_port`}}",
"ssh_pty": "{{user `ssh_pty`}}",
"ssh_timeout": "{{user `ssh_timeout`}}",
"ssh_username": "{{user `ssh_username`}}"
},
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline_shebang": "/bin/sh -e",
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
}
],
"builders": [
{
"boot_command": [
"<esc><f6><esc>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs>",
"initrd=/install/initrd.gz ",
"auto=true ",
"url=http://{{.HTTPIP}}:{{.HTTPPort}}/{{user `preseed_file`}} ",
"language={{user `language`}} ",
"country={{user `country`}} ",
"locale={{user `locale`}} ",
"hostname={{user `vm_name`}} ",
"domain={{user `domain`}} ",
"interface=auto ",
"console-setup/ask_detect=false ",
"keyboard-configuration/layoutcode={{user `keyboard`}} ",
"vga=788 noprompt quiet --<enter>"
],
"boot_wait": "{{user `boot_wait`}}",
"communicator": "{{user `communicator`}}",
"disk_size": "{{user `disk_size`}}",
"format": "ova",
"guest_additions_mode": "disable",
"guest_os_type": "Ubuntu_64",
"hard_drive_discard": false,
"hard_drive_interface": "sata",
"hard_drive_nonrotational": false,
"headless": "{{user `headless`}}",
"http_directory": "{{user `http_directory`}}",
"http_port_max": "{{user `http_port_max`}}",
"http_port_min": "{{user `http_port_min`}}",
"iso_checksum": "{{user `iso_checksum`}}",
"iso_checksum_type": "{{user `iso_checksum_type`}}",
"iso_checksum_url": "{{user `iso_checksum_url`}}",
"iso_interface": "sata",
"iso_target_extension": "iso",
"iso_target_path": "{{user `packer_cache_dir`}}/{{user `iso_file`}}",
"iso_urls": [
"{{user `iso_path_internal`}}/{{user `iso_file`}}",
"{{user `iso_path_external`}}/{{user `iso_file`}}"
],
"keep_registered": "{{user `keep_registered`}}",
"name": "vbox",
"output_directory": "{{user `output_directory`}}",
"post_shutdown_delay": "0s",
"sata_port_count": "1",
"shutdown_command": "echo '{{user `ssh_password`}}' | sudo -E -S poweroff",
"shutdown_timeout": "{{user `shutdown_timeout`}}",
"skip_export": false,
"ssh_agent_auth": "{{user `ssh_agent_auth`}}",
"ssh_disable_agent_forwarding": "{{user `ssh_disable_agent_forwarding`}}",
"ssh_file_transfer_method": "{{user `ssh_file_transfer_method`}}",
"ssh_handshake_attempts": "{{user `ssh_handshake_attempts`}}",
"ssh_host_port_max": "{{user `ssh_host_port_max`}}",
"ssh_host_port_min": "{{user `ssh_host_port_min`}}",
"ssh_keep_alive_interval": "{{user `ssh_keep_alive_interval`}}",
"ssh_password": "{{user `ssh_password`}}",
"ssh_port": "{{user `ssh_port`}}",
"ssh_pty": "{{user `ssh_pty`}}",
"ssh_skip_nat_mapping": false,
"ssh_timeout": "{{user `ssh_timeout`}}",
"ssh_username": "{{user `ssh_username`}}",
"type": "virtualbox-iso",
"vboxmanage": [
[
"modifyvm",
"{{.Name}}",
"--memory",
"{{user `memory`}}"
],
[
"modifyvm",
"{{.Name}}",
"--cpus",
"{{user `cpus`}}"
]
],
"virtualbox_version_file": "/tmp/.vbox_version",
"vm_name": "{{user `vm_name`}}",
"vrdp_bind_address": "{{user `vnc_vrdp_bind_address`}}",
"vrdp_port_max": "{{user `vnc_vrdp_port_max`}}",
"vrdp_port_min": "{{user `vnc_vrdp_port_min`}}"
},
{
"accelerator": "kvm",
"boot_command": [
"<esc><f6><esc>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
"<bs><bs><bs>",
"initrd=/install/initrd.gz ",
"auto=true ",
"url=http://{{.HTTPIP}}:{{.HTTPPort}}/{{user `preseed_file`}} ",
"language={{user `language`}} ",
"country={{user `country`}} ",
"locale={{user `locale`}} ",
"hostname={{user `vm_name`}} ",
"domain={{user `domain`}} ",
"interface=auto ",
"console-setup/ask_detect=false ",
"keyboard-configuration/layoutcode={{user `keyboard`}} ",
"vga=788 noprompt quiet --<enter>"
],
"boot_wait": "{{user `boot_wait`}}",
"communicator": "{{user `communicator`}}",
"disk_cache": "writeback",
"disk_compression": false,
"disk_discard": "ignore",
"disk_image": false,
"disk_interface": "virtio-scsi",
"disk_size": "{{user `disk_size`}}",
"format": "raw",
"headless": "{{user `headless`}}",
"http_directory": "{{user `http_directory`}}",
"http_port_max": "{{user `http_port_max`}}",
"http_port_min": "{{user `http_port_min`}}",
"iso_checksum": "{{user `iso_checksum`}}",
"iso_checksum_type": "{{user `iso_checksum_type`}}",
"iso_checksum_url": "{{user `iso_checksum_url`}}",
"iso_skip_cache": false,
"iso_target_extension": "iso",
"iso_target_path": "{{user `packer_cache_dir`}}/{{user `iso_file`}}",
"iso_urls": [
"{{user `iso_path_internal`}}/{{user `iso_file`}}",
"{{user `iso_path_external`}}/{{user `iso_file`}}"
],
"machine_type": "pc",
"name": "qemu",
"net_device": "virtio-net",
"output_directory": "{{user `output_directory`}}",
"qemu_binary": "{{user `qemu_binary`}}",
"qemuargs": [
[
"-m",
"{{user `memory`}}M"
],
[
"-smp",
"{{user `cpus`}}"
]
],
"shutdown_command": "echo '{{user `ssh_password`}}' | sudo -E -S poweroff",
"shutdown_timeout": "{{user `shutdown_timeout`}}",
"skip_compaction": true,
"ssh_agent_auth": "{{user `ssh_agent_auth`}}",
"ssh_disable_agent_forwarding": "{{user `ssh_disable_agent_forwarding`}}",
"ssh_file_transfer_method": "{{user `ssh_file_transfer_method`}}",
"ssh_handshake_attempts": "{{user `ssh_handshake_attempts`}}",
"ssh_host_port_max": "{{user `ssh_host_port_max`}}",
"ssh_host_port_min": "{{user `ssh_host_port_min`}}",
"ssh_keep_alive_interval": "{{user `ssh_keep_alive_interval`}}",
"ssh_password": "{{user `ssh_password`}}",
"ssh_port": "{{user `ssh_port`}}",
"ssh_pty": "{{user `ssh_pty`}}",
"ssh_timeout": "{{user `ssh_timeout`}}",
"ssh_username": "{{user `ssh_username`}}",
"type": "qemu",
"use_default_display": false,
"vm_name": "{{user `vm_name`}}",
"vnc_bind_address": "{{user `vnc_vrdp_bind_address`}}",
"vnc_port_max": "{{user `vnc_vrdp_port_max`}}",
"vnc_port_min": "{{user `vnc_vrdp_port_min`}}"
}
],
"description": "{{user `description`}}",
"min_packer_version": "1.2.3",
"post-processors": [
{
"compression_level": 6,
"keep_input_artifact": true,
"only": [
"vbox",
"qemu"
],
"output": "{{user `output_directory`}}/{{user `vm_name`}}-{{user `version`}}-{{build_name}}.box",
"type": "vagrant",
"vagrantfile_template": "{{user `vagrantfile_template`}}"
},
{
"compression_level": 6,
"format": ".gz",
"keep_input_artifact": true,
"only": [
"qemu"
],
"output": "{{user `output_directory`}}/{{user `vm_name`}}.raw.gz",
"type": "compress"
},
{
"execute_command": "chmod +x \"{{.Script}}\"; {{.Vars}} \"{{.Script}}\"",
"inline": [
"echo '---' > {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo 'name: {{user `vm_name`}}' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo 'description: {{user `description`}}' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo 'versions:' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo '- version: {{user `version`}}' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo ' providers:' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo ' - name: XXXPROVIDER' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo ' url: http://server/vm/{{user `vm_name`}}/{{user `vm_name`}}-{{user `version`}}-'{{build_name}}'.box' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo ' checksum_type: sha256' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"echo ' checksum: XXXCHECKSUM' >> {{user `output_directory`}}/{{user `vm_name`}}.yaml",
"if [ 'vbox' = '{{build_name}}' ]; then sed -i 's/XXXPROVIDER/virtualbox/' '{{user `output_directory`}}/{{user `vm_name`}}.yaml'; fi",
"if [ 'qemu' = '{{build_name}}' ]; then sed -i 's/XXXPROVIDER/libvirt/' '{{user `output_directory`}}/{{user `vm_name`}}.yaml'; fi"
],
"inline_shebang": "/bin/sh -e",
"only": [
"vbox",
"qemu"
],
"type": "shell-local"
}
],
"provisioners": [
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline": [
"echo '{{user `ssh_username`}} ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/99{{user `ssh_username`}}",
"chmod 0440 /etc/sudoers.d/99{{user `ssh_username`}}"
],
"inline_shebang": "/bin/sh -e",
"only": [
"vbox",
"qemu"
],
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
},
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline": [
"apt-get update",
"apt-get --yes dist-upgrade"
],
"inline_shebang": "/bin/sh -e",
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
},
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline": [
"apt-get --assume-yes install python2.7-minimal",
"update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10"
],
"inline_shebang": "/bin/sh -e",
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
},
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline": [
"apt-get clean"
],
"inline_shebang": "/bin/sh -e",
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
},
{
"binary": false,
"execute_command": "echo '{{user `ssh_password`}}' | {{.Vars}} sudo -E -S '{{.Path}}'",
"expect_disconnect": true,
"inline": [
"dd if=/dev/zero of=/ZEROFILL bs=16M || true",
"rm /ZEROFILL",
"sync"
],
"inline_shebang": "/bin/sh -e",
"only": [
"vbox",
"qemu"
],
"skip_clean": false,
"start_retry_timeout": "{{user `start_retry_timeout`}}",
"type": "shell"
}
],
"variables": {
"aws_ami_name": "base-{{isotime \"2006-01-02-15-04-05\"}}",
"aws_region": "ca-central-1",
"aws_s3_bucket_name": "packer-bucket",
"aws_s3_key_name": "packer-import-{{timestamp}}",
"aws_skip_clean": "false",
"boot_wait": "3s",
"communicator": "ssh",
"country": "CA",
"cpus": "1",
"description": "Base box for 64-bit x86 Ubuntu Bionic Beaver 18.04.x LTS",
"disk_size": "7500",
"domain": "",
"headless": "false",
"http_directory": ".",
"http_port_max": "9000",
"http_port_min": "8000",
"iso_checksum": "a7f5c7b0cdd0e9560d78f1e47660e066353bb8a79eb78d1fc3f4ea62a07e6cbc",
"iso_checksum_type": "sha256",
"iso_file": "ubuntu-18.04-server-amd64.iso",
"iso_path_external": "http://cdimage.ubuntu.com/releases/bionic/release",
"iso_path_internal": "http://myserver:8080/ubuntu",
"keep_registered": "false",
"keyboard": "us",
"language": "en",
"locale": "en_CA.UTF-8",
"memory": "512",
"min_vagrant_version": "2.1.1",
"output_directory": "build/{{isotime \"2006-01-02-15-04-05\"}}",
"packer_cache_dir": "{{env `PACKER_CACHE_DIR`}}",
"preseed_file": "source/ubuntu/bionic/base.preseed",
"qemu_binary": "qemu-system-x86_64",
"shutdown_timeout": "5m",
"ssh_agent_auth": "false",
"ssh_disable_agent_forwarding": "false",
"ssh_file_transfer_method": "scp",
"ssh_fullname": "Ghost Writer",
"ssh_handshake_attempts": "10",
"ssh_host_port_max": "4444",
"ssh_host_port_min": "2222",
"ssh_keep_alive_interval": "5s",
"ssh_password": "1ma63b0rk3d",
"ssh_port": "22",
"ssh_pty": "false",
"ssh_timeout": "60m",
"ssh_username": "ghost",
"start_retry_timeout": "5m",
"system_clock_in_utc": "true",
"timezone": "UTC",
"vagrantfile_template": "source/ubuntu/bionic/base.vagrant",
"version": "0.0.0",
"vm_name": "base-bionic",
"vnc_vrdp_bind_address": "127.0.0.1",
"vnc_vrdp_port_max": "6000",
"vnc_vrdp_port_min": "5900"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment