* fix random nil pointer dereference I found while debugging hcl2_upgrade issues
* fix hcl2_upgrade command by creating passthroughs for all text template fields
The oci api returns 429, among others in case a per-user rate limit is
hit. Currently our only mechanism to deal with this is to wait 5s
between the requests that poll for image availability (and export).
With a custom retry strategy we can handle more error situations while
putting less load on the api.
* fix ubuntu json template example
* add hcl template example
* add hcl alpine example
* add hcl versions of alpine and macos; update macos json
* add hcl version of windows template, call fix on windows json
This adds the new `required_plugins` block to be nested under the packer block.
Example:
```hcl
packer {
required_plugins {
aws = {
version = ">= 2.7.0"
source = "azr/aws"
}
azure = ">= 2.7.0"
}
}
```
For example on darwin_amd64 Packer will install those under :
* "${PACKER_HOME_DIR}/plugin/github.com/azr/amazon/packer-plugin-amazon_2.7.0_x5.0_darwin_amd64"
* "${PACKER_HOME_DIR}/plugin/github.com/hashicorp/azure/packer-plugin-azure_2.7.0_x5.0_darwin_amd64_x5"
+ docs
+ tests
It is being printed after it is created so we need to mock it to prevent
a nil pointer dereference when the tests are run with the launch
template create request is mocked.
* Set the QEMU builder vnc_port_min to have a minimum value of 5900,
with updated documentation to explain why.
* Changed output messages so that the correct port is listed in packer's
messaging to the user.
LONGER DESCRIPTION
If vnc_min_port is set to anything above 5900, then packer will fail to
connect via VNC to the QEMU instance. This is due to how QEMU parses
the port for listening to VNC:
host:d
TCP connections will only be allowed from host on
display d. By convention the TCP port is 5900+d.
Previously the calculation for the port was vncPort - VNCPortMin,
however this will result in an incorrect port being displayed in
packer's messages and potentially packer being unable to connect via VNC
to the host.
For example if vnc_port_min=5990 nad vnc_port_max=5999:
```
Looking for available port between 5990 and 5999 on 0.0.0.0
Found available port: 5996 on IP: 0.0.0.0
Found available VNC port: 5996 on IP: 0.0.0.0
[....]
==> Starting VM, booting disk image
view the screen of the VM, connect via VNC without a password to
vnc://0.0.0.0:6
```
This will cause QEMU to set the listening port to 5906 while packer's
VNC client is attempting to connect to 5996.
I am a touch concerned as this commit undoes pull request #9905
(specfically commit 7335695c), but I am also confused as to how he was
able to get QEMU to get a VNC listening port below 5900, as examining
QEMU's git history has shown that this behavior has been in since at
least 2017, probably older.
Hopefully the more explicit error messaging and documentation can make
it clear why this is being undone.
Some instances of VMWare will not generate the networkmapping configuration (netmap.conf)
at the time of installation. To deal with this issue, we check for the networkmapping file
first, and then fallback to the networking file which also might exist and contain the
interface information that we require.
This fixes issue #10009.
* Update docs on ebs encrypt_boot to clarify that packer will not override global account settings
* Update struct-markdown generator and regenerate partials with new website location. This overwrites some linting that got automatically applied when the files got moved
$ make test
find: -executable: unknown primary or operator
find: -executable: unknown primary or operator
==> Checking that only certain files are executable...
Check passed.
ok github.com/hashicorp/packer 0.098s
ok github.com/hashicorp/packer/builder/alicloud/ecs 70.102s
? github.com/hashicorp/packer/builder/alicloud/version [no test files]
ok github.com/hashicorp/packer/builder/amazon/chroot 0.076s
ok github.com/hashicorp/packer/builder/amazon/common 0.052s
? github.com/hashicorp/packer/builder/amazon/common/awserrors [no test files]
? github.com/hashicorp/packer/builder/amazon/common/ssm [no test files]
ok github.com/hashicorp/packer/builder/amazon/ebs 0.053s
? github.com/hashicorp/packer/builder/amazon/ebs/acceptance [no test files]
ok github.com/hashicorp/packer/builder/amazon/ebssurrogate 0.057s
ok github.com/hashicorp/packer/builder/amazon/ebsvolume 0.052s
ok github.com/hashicorp/packer/builder/amazon/instance 0.092s
? github.com/hashicorp/packer/builder/amazon/version [no test files]
ok github.com/hashicorp/packer/builder/azure/arm 8.929s
ok github.com/hashicorp/packer/builder/azure/chroot 0.071s
ok github.com/hashicorp/packer/builder/azure/common 0.032s
ok github.com/hashicorp/packer/builder/azure/common/client 2.768s
? github.com/hashicorp/packer/builder/azure/common/constants [no test files]
? github.com/hashicorp/packer/builder/azure/common/lin [no test files]
? github.com/hashicorp/packer/builder/azure/common/logutil [no test files]
ok github.com/hashicorp/packer/builder/azure/common/template 0.038s
ok github.com/hashicorp/packer/builder/azure/dtl 1.508s
ok github.com/hashicorp/packer/builder/azure/pkcs12 0.250s
ok github.com/hashicorp/packer/builder/azure/pkcs12/rc2 0.018s
? github.com/hashicorp/packer/builder/azure/version [no test files]
ok github.com/hashicorp/packer/builder/cloudstack 0.074s
? github.com/hashicorp/packer/builder/cloudstack/version [no test files]
ok github.com/hashicorp/packer/builder/digitalocean 0.078s
? github.com/hashicorp/packer/builder/digitalocean/version [no test files]
ok github.com/hashicorp/packer/builder/docker 0.054s
? github.com/hashicorp/packer/builder/docker/version [no test files]
ok github.com/hashicorp/packer/builder/file 0.037s
? github.com/hashicorp/packer/builder/file/version [no test files]
ok github.com/hashicorp/packer/builder/googlecompute 7.982s
? github.com/hashicorp/packer/builder/googlecompute/version [no test files]
ok github.com/hashicorp/packer/builder/hcloud 0.037s
? github.com/hashicorp/packer/builder/hcloud/version [no test files]
ok github.com/hashicorp/packer/builder/hyperone 0.031s
? github.com/hashicorp/packer/builder/hyperone/version [no test files]
ok github.com/hashicorp/packer/builder/hyperv/common 0.042s
ok github.com/hashicorp/packer/builder/hyperv/common/powershell 0.017s
ok github.com/hashicorp/packer/builder/hyperv/common/powershell/hyperv 0.027s
ok github.com/hashicorp/packer/builder/hyperv/iso 0.193s
? github.com/hashicorp/packer/builder/hyperv/version [no test files]
ok github.com/hashicorp/packer/builder/hyperv/vmcx 0.160s
ok github.com/hashicorp/packer/builder/jdcloud 0.038s
? github.com/hashicorp/packer/builder/jdcloud/version [no test files]
ok github.com/hashicorp/packer/builder/linode 0.074s
? github.com/hashicorp/packer/builder/linode/version [no test files]
ok github.com/hashicorp/packer/builder/lxc 0.038s
? github.com/hashicorp/packer/builder/lxc/version [no test files]
ok github.com/hashicorp/packer/builder/lxd 0.033s
? github.com/hashicorp/packer/builder/lxd/version [no test files]
ok github.com/hashicorp/packer/builder/ncloud 0.038s
? github.com/hashicorp/packer/builder/ncloud/version [no test files]
ok github.com/hashicorp/packer/builder/null 0.036s
? github.com/hashicorp/packer/builder/null/version [no test files]
ok github.com/hashicorp/packer/builder/oneandone 0.038s
? github.com/hashicorp/packer/builder/oneandone/version [no test files]
ok github.com/hashicorp/packer/builder/openstack 0.048s
? github.com/hashicorp/packer/builder/openstack/version [no test files]
ok github.com/hashicorp/packer/builder/oracle/classic 0.055s
? github.com/hashicorp/packer/builder/oracle/common [no test files]
ok github.com/hashicorp/packer/builder/oracle/oci 6.349s
? github.com/hashicorp/packer/builder/oracle/version [no test files]
ok github.com/hashicorp/packer/builder/osc/bsu 0.045s
ok github.com/hashicorp/packer/builder/osc/bsusurrogate 0.043s
ok github.com/hashicorp/packer/builder/osc/bsuvolume 0.048s
ok github.com/hashicorp/packer/builder/osc/chroot 0.035s
ok github.com/hashicorp/packer/builder/osc/common 0.030s
ok github.com/hashicorp/packer/builder/osc/common/retry 0.018s
? github.com/hashicorp/packer/builder/osc/version [no test files]
ok github.com/hashicorp/packer/builder/parallels/common 1.546s
ok github.com/hashicorp/packer/builder/parallels/iso 0.047s
ok github.com/hashicorp/packer/builder/parallels/pvm 0.044s
? github.com/hashicorp/packer/builder/parallels/version [no test files]
ok github.com/hashicorp/packer/builder/profitbricks 0.046s
? github.com/hashicorp/packer/builder/profitbricks/version [no test files]
? github.com/hashicorp/packer/builder/proxmox [no test files]
? github.com/hashicorp/packer/builder/proxmox/clone [no test files]
ok github.com/hashicorp/packer/builder/proxmox/common 0.070s
ok github.com/hashicorp/packer/builder/proxmox/iso 0.072s
? github.com/hashicorp/packer/builder/proxmox/version [no test files]
ok github.com/hashicorp/packer/builder/qemu 0.088s
? github.com/hashicorp/packer/builder/qemu/version [no test files]
ok github.com/hashicorp/packer/builder/scaleway 0.062s
? github.com/hashicorp/packer/builder/scaleway/version [no test files]
ok github.com/hashicorp/packer/builder/tencentcloud/cvm 0.037s
? github.com/hashicorp/packer/builder/tencentcloud/version [no test files]
ok github.com/hashicorp/packer/builder/triton 0.057s
? github.com/hashicorp/packer/builder/triton/version [no test files]
ok github.com/hashicorp/packer/builder/ucloud/common 0.039s
ok github.com/hashicorp/packer/builder/ucloud/uhost 0.045s
? github.com/hashicorp/packer/builder/ucloud/version [no test files]
ok github.com/hashicorp/packer/builder/vagrant 0.046s
? github.com/hashicorp/packer/builder/vagrant/version [no test files]
ok github.com/hashicorp/packer/builder/virtualbox/common 2.546s
ok github.com/hashicorp/packer/builder/virtualbox/iso 0.053s
? github.com/hashicorp/packer/builder/virtualbox/iso/acceptance [no test files]
ok github.com/hashicorp/packer/builder/virtualbox/ovf 0.043s
? github.com/hashicorp/packer/builder/virtualbox/version [no test files]
? github.com/hashicorp/packer/builder/virtualbox/vm [no test files]
ok github.com/hashicorp/packer/builder/vmware/common 5.228s
ok github.com/hashicorp/packer/builder/vmware/iso 0.104s
? github.com/hashicorp/packer/builder/vmware/version [no test files]
ok github.com/hashicorp/packer/builder/vmware/vmx 0.055s
ok github.com/hashicorp/packer/builder/vsphere/clone 0.072s
ok github.com/hashicorp/packer/builder/vsphere/common 0.037s
? github.com/hashicorp/packer/builder/vsphere/common/testing [no test files]
ok github.com/hashicorp/packer/builder/vsphere/driver 0.443s
? github.com/hashicorp/packer/builder/vsphere/examples/driver [no test files]
ok github.com/hashicorp/packer/builder/vsphere/iso 0.063s
? github.com/hashicorp/packer/builder/vsphere/version [no test files]
ok github.com/hashicorp/packer/builder/yandex 0.098s
? github.com/hashicorp/packer/builder/yandex/version [no test files]
? github.com/hashicorp/packer/cmd/generate-fixer-deprecations [no test files]
? github.com/hashicorp/packer/cmd/mapstructure-to-hcl2 [no test files]
? github.com/hashicorp/packer/cmd/snippet-extractor [no test files]
? github.com/hashicorp/packer/cmd/ssh-keygen [no test files]
? github.com/hashicorp/packer/cmd/struct-markdown [no test files]
ok github.com/hashicorp/packer/command 3.717s
? github.com/hashicorp/packer/command/enumflag [no test files]
ok github.com/hashicorp/packer/command/flag-kv 0.019s
ok github.com/hashicorp/packer/command/flag-slice 0.018s
ok github.com/hashicorp/packer/fix 0.026s
ok github.com/hashicorp/packer/hcl2template 0.281s
? github.com/hashicorp/packer/hcl2template/addrs [no test files]
ok github.com/hashicorp/packer/hcl2template/function 0.028s
? github.com/hashicorp/packer/hcl2template/internal [no test files]
? github.com/hashicorp/packer/hcl2template/repl [no test files]
ok github.com/hashicorp/packer/hcl2template/shim 0.019s
ok github.com/hashicorp/packer/helper/builder/testing 0.027s
ok github.com/hashicorp/packer/helper/communicator 0.034s
ok github.com/hashicorp/packer/helper/communicator/ssh 4.204s
ok github.com/hashicorp/packer/helper/communicator/sshkey 2.744s
? github.com/hashicorp/packer/helper/tests [no test files]
? github.com/hashicorp/packer/helper/tests/acc [no test files]
? github.com/hashicorp/packer/helper/wrappedreadline [no test files]
? github.com/hashicorp/packer/helper/wrappedstreams [no test files]
ok github.com/hashicorp/packer/packer 0.221s
ok github.com/hashicorp/packer/packer/plugin 0.417s
ok github.com/hashicorp/packer/packer/rpc 0.059s
ok github.com/hashicorp/packer/packer-plugin-sdk/adapter 0.063s
ok github.com/hashicorp/packer/packer-plugin-sdk/bootcommand 2.778s
ok github.com/hashicorp/packer/packer-plugin-sdk/chroot 0.038s
? github.com/hashicorp/packer/packer-plugin-sdk/common [no test files]
? github.com/hashicorp/packer/packer-plugin-sdk/filelock [no test files]
ok github.com/hashicorp/packer/packer-plugin-sdk/guestexec 0.029s
ok github.com/hashicorp/packer/packer-plugin-sdk/iochan 0.019s
ok github.com/hashicorp/packer/packer-plugin-sdk/json 0.017s [no tests to run]
ok github.com/hashicorp/packer/packer-plugin-sdk/multistep 0.126s
ok github.com/hashicorp/packer/packer-plugin-sdk/multistep/commonsteps 0.136s
ok github.com/hashicorp/packer/packer-plugin-sdk/net 1.041s
ok github.com/hashicorp/packer/packer-plugin-sdk/packerbuilderdata 0.018s
? github.com/hashicorp/packer/packer-plugin-sdk/random [no test files]
ok github.com/hashicorp/packer/packer-plugin-sdk/retry 0.021s
ok github.com/hashicorp/packer/packer-plugin-sdk/sdk-internals/communicator/none 0.026s
ok github.com/hashicorp/packer/packer-plugin-sdk/sdk-internals/communicator/ssh 0.095s
ok github.com/hashicorp/packer/packer-plugin-sdk/sdk-internals/communicator/winrm 0.062s
ok github.com/hashicorp/packer/packer-plugin-sdk/shell 0.023s
ok github.com/hashicorp/packer/packer-plugin-sdk/shell-local 0.045s
ok github.com/hashicorp/packer/packer-plugin-sdk/shell-local/localexec 0.031s
ok github.com/hashicorp/packer/packer-plugin-sdk/shutdowncommand 0.032s
ok github.com/hashicorp/packer/packer-plugin-sdk/template 0.041s
ok github.com/hashicorp/packer/packer-plugin-sdk/template/config 0.033s
ok github.com/hashicorp/packer/packer-plugin-sdk/template/interpolate 0.032s
ok github.com/hashicorp/packer/packer-plugin-sdk/template/interpolate/aws/secretsmanager 0.030s
? github.com/hashicorp/packer/packer-plugin-sdk/tmp [no test files]
ok github.com/hashicorp/packer/packer-plugin-sdk/useragent 0.018s
ok github.com/hashicorp/packer/packer-plugin-sdk/uuid 0.019s
? github.com/hashicorp/packer/packer-plugin-sdk/version [no test files]
ok github.com/hashicorp/packer/plugin/example 0.040s [no tests to run]
? github.com/hashicorp/packer/post-processor/alicloud-import [no test files]
? github.com/hashicorp/packer/post-processor/alicloud-import/version [no test files]
? github.com/hashicorp/packer/post-processor/amazon-import [no test files]
? github.com/hashicorp/packer/post-processor/amazon-import/version [no test files]
? github.com/hashicorp/packer/post-processor/artifice [no test files]
? github.com/hashicorp/packer/post-processor/artifice/version [no test files]
ok github.com/hashicorp/packer/post-processor/checksum 0.032s
? github.com/hashicorp/packer/post-processor/checksum/version [no test files]
ok github.com/hashicorp/packer/post-processor/compress 0.046s
? github.com/hashicorp/packer/post-processor/compress/version [no test files]
ok github.com/hashicorp/packer/post-processor/digitalocean-import 0.038s
? github.com/hashicorp/packer/post-processor/digitalocean-import/version [no test files]
ok github.com/hashicorp/packer/post-processor/docker-import 0.036s
? github.com/hashicorp/packer/post-processor/docker-import/version [no test files]
ok github.com/hashicorp/packer/post-processor/docker-push 0.037s
? github.com/hashicorp/packer/post-processor/docker-push/version [no test files]
ok github.com/hashicorp/packer/post-processor/docker-save 0.038s
? github.com/hashicorp/packer/post-processor/docker-save/version [no test files]
ok github.com/hashicorp/packer/post-processor/docker-tag 0.042s
? github.com/hashicorp/packer/post-processor/docker-tag/version [no test files]
? github.com/hashicorp/packer/post-processor/exoscale-import [no test files]
? github.com/hashicorp/packer/post-processor/exoscale-import/version [no test files]
ok github.com/hashicorp/packer/post-processor/googlecompute-export 0.044s [no tests to run]
? github.com/hashicorp/packer/post-processor/googlecompute-export/version [no test files]
ok github.com/hashicorp/packer/post-processor/googlecompute-import 0.035s
? github.com/hashicorp/packer/post-processor/googlecompute-import/version [no test files]
? github.com/hashicorp/packer/post-processor/manifest [no test files]
? github.com/hashicorp/packer/post-processor/manifest/version [no test files]
ok github.com/hashicorp/packer/post-processor/shell-local 0.047s
? github.com/hashicorp/packer/post-processor/shell-local/version [no test files]
? github.com/hashicorp/packer/post-processor/ucloud-import [no test files]
? github.com/hashicorp/packer/post-processor/ucloud-import/version [no test files]
ok github.com/hashicorp/packer/post-processor/vagrant 0.045s
? github.com/hashicorp/packer/post-processor/vagrant/version [no test files]
ok github.com/hashicorp/packer/post-processor/vagrant-cloud 0.089s
? github.com/hashicorp/packer/post-processor/vagrant-cloud/version [no test files]
ok github.com/hashicorp/packer/post-processor/vsphere 0.038s
? github.com/hashicorp/packer/post-processor/vsphere/version [no test files]
ok github.com/hashicorp/packer/post-processor/vsphere-template 0.047s
? github.com/hashicorp/packer/post-processor/vsphere-template/version [no test files]
ok github.com/hashicorp/packer/post-processor/yandex-export 0.055s
? github.com/hashicorp/packer/post-processor/yandex-export/version [no test files]
ok github.com/hashicorp/packer/post-processor/yandex-import 0.052s
? github.com/hashicorp/packer/post-processor/yandex-import/version [no test files]
ok github.com/hashicorp/packer/provisioner/ansible 0.469s
? github.com/hashicorp/packer/provisioner/ansible/version [no test files]
ok github.com/hashicorp/packer/provisioner/ansible-local 0.055s
? github.com/hashicorp/packer/provisioner/ansible-local/version [no test files]
? github.com/hashicorp/packer/provisioner/azure-dtlartifact [no test files]
? github.com/hashicorp/packer/provisioner/azure-dtlartifact/version [no test files]
? github.com/hashicorp/packer/provisioner/breakpoint [no test files]
? github.com/hashicorp/packer/provisioner/breakpoint/version [no test files]
ok github.com/hashicorp/packer/provisioner/chef-client 0.056s
? github.com/hashicorp/packer/provisioner/chef-client/version [no test files]
ok github.com/hashicorp/packer/provisioner/chef-solo 0.045s
? github.com/hashicorp/packer/provisioner/chef-solo/version [no test files]
ok github.com/hashicorp/packer/provisioner/converge 0.033s
? github.com/hashicorp/packer/provisioner/converge/version [no test files]
ok github.com/hashicorp/packer/provisioner/file 0.051s
? github.com/hashicorp/packer/provisioner/file/version [no test files]
ok github.com/hashicorp/packer/provisioner/inspec 0.050s
? github.com/hashicorp/packer/provisioner/inspec/version [no test files]
ok github.com/hashicorp/packer/provisioner/powershell 2.095s
? github.com/hashicorp/packer/provisioner/powershell/version [no test files]
ok github.com/hashicorp/packer/provisioner/puppet-masterless 0.049s
? github.com/hashicorp/packer/provisioner/puppet-masterless/version [no test files]
ok github.com/hashicorp/packer/provisioner/puppet-server 0.043s
? github.com/hashicorp/packer/provisioner/puppet-server/version [no test files]
ok github.com/hashicorp/packer/provisioner/salt-masterless 0.054s
? github.com/hashicorp/packer/provisioner/salt-masterless/version [no test files]
ok github.com/hashicorp/packer/provisioner/shell 0.085s
? github.com/hashicorp/packer/provisioner/shell/version [no test files]
ok github.com/hashicorp/packer/provisioner/shell-local 0.071s
? github.com/hashicorp/packer/provisioner/shell-local/version [no test files]
ok github.com/hashicorp/packer/provisioner/sleep 0.027s
? github.com/hashicorp/packer/provisioner/sleep/version [no test files]
ok github.com/hashicorp/packer/provisioner/windows-restart 0.051s
? github.com/hashicorp/packer/provisioner/windows-restart/version [no test files]
ok github.com/hashicorp/packer/provisioner/windows-shell 0.039s
? github.com/hashicorp/packer/provisioner/windows-shell/version [no test files]
? github.com/hashicorp/packer/scripts [no test files]
? github.com/hashicorp/packer/version [no test files]
This changes fixes two crashes in `step_run` that expects certain
information to be in state from prior steps. This change requires
testing to ensure the bugs have been fixed.
I believe there may be more state values that need to be checked as they
may not be put into state if a build configuration has attributes that
would skip or otherwise not put data into the statebag.
This avoids the error:
* guest_additions_mode has to be 'disable' when communicator = 'none'.
...when the following are set:
"communicator": "none",
"guest_additions_mode": "attach",
This particular combination of parameters is valid; for example, in my
case, a kickstart post-install script mounts the CD image from /dev/sr1
and runs the installer, without needing any intervention from packer
itself.
From my reading of the documentation, it appears that the "upload" mode
would indeed require a communicator, so I change the logic to check for
that specifically.