provide flexibility in packer servers with more then one NIC,

when a packer server has more then one NIC, Packer can often
select the wrong http server using {{ .HTTPIP }}. We extend the
variables file to include an http_server_address which can be set
to the IP address of the correct NIC. This configuration propagates down
to the http_bind_address directive of the builder and the boot_command
entered on the guest VM. Adding 0.0.0.0 as a reasonable default as it
preserves comptability with packers default behavior.

This commit was required to get Packer to build the ubuntu guest
successfully in our environment

Additional Reading:
https://github.com/hashicorp/packer/issues/9973
https://www.packer.io/docs/builders/vmware/vsphere-iso#http-directory-configuration
This commit is contained in:
Tyler Bennett
2021-02-26 18:23:19 -06:00
parent a2786ab6a0
commit eb7d7a5a67
2 changed files with 5 additions and 2 deletions

View File

@@ -21,7 +21,7 @@
" netcfg/get_domain=vm<wait>",
" netcfg/get_hostname=vagrant<wait>",
" grub-installer/bootdev=/dev/sda<wait>",
" preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<wait>",
" preseed/url=http://{{user `http_server_address`}}:{{ .HTTPPort }}/preseed.cfg<wait>",
" -- <wait>",
"<enter><wait>"
],
@@ -30,6 +30,7 @@
"disk_size": "{{user `disk_size`}}",
"guest_os_type": "ubuntu-64",
"http_directory": "{{user `http_directory`}}",
"http_bind_address": "{{user `http_server_address`}}",
"iso_checksum": "{{user `iso_checksum`}}",
"iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
"keep_registered": true,
@@ -90,6 +91,7 @@
"variables": {
"box_basename": "ubuntu-18.04",
"http_directory": "{{template_dir}}/http",
"http_server_address": "",
"build_timestamp": "{{isotime \"20060102150405\"}}",
"cpus": "2",
"disk_size": "65536",

View File

@@ -3,5 +3,6 @@
"esxi_datastore": "",
"esxi_username": "",
"esxi_password": "",
"esxi_network_with_dhcp_and_internet": ""
"esxi_network_with_dhcp_and_internet": "",
"http_server_address": "0.0.0.0"
}