$ 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]
When building a CI/CD deployment, during the PR process it's nice to be
able to run the builder, but not create the image the build produces.
Closes#9965
This avoids the need to expose WinRM ports on the internet and allows
using instances with only an internal private IP address.
When using a WinRM tunnel there is a race condition between the tunnel
connection attempt timing out and packer assuming the connection was
successful. To allow for this, when using WinRM the default success
timeout is increased to 40 seconds.
By default the Google builder will wrap any provided startup script file
in order to track its execution via custom metadata. The wrapper script
can add a bit of complexity to the start script file so a new option is
being added `wrap_startup_script`. This option allows a user to disable
the script wrapping and just let GCE do its own thing when executing a
startup script.
Adds `enable_secure_boot`, `enable_vtpm` and `enable_integrity_monitoring`
config options to enable building of custom Shielded GCP Compute images.
Feedback on this is more than welcome as this is my first attempt in
contributing to anything Packer related.
Packer is great for us to build custom images on top of GCP but we would
like to enhance that to support Shielded VM images. This will allow us
to have more secure and trusted images which our team(s) will be using.
This follows #8232 which added the code to generate the code required to parse
HCL files for each packer component.
All old config files of packer will keep on working the same. Packer takes one
argument. When a directory is passed, all files in the folder with a name
ending with “.pkr.hcl” or “.pkr.json” will be parsed using the HCL2 format.
When a file ending with “.pkr.hcl” or “.pkr.json” is passed it will be parsed
using the HCL2 format. For every other case; the old packer style will be used.
## 1. the hcl2template pkg can create a packer.Build from a set of HCL (v2) files
I had to make the packer.coreBuild (which is our one and only packer.Build ) a public struct with public fields
## 2. Components interfaces get a new ConfigSpec Method to read a file from an HCL file.
This is a breaking change for packer plugins.
a packer component can be a: builder/provisioner/post-processor
each component interface now gets a `ConfigSpec() hcldec.ObjectSpec`
which allows packer to tell what is the layout of the hcl2 config meant
to configure that specific component.
This ObjectSpec is sent through the wire (RPC) and a cty.Value is now
sent through the already existing configuration entrypoints:
Provisioner.Prepare(raws ...interface{}) error
Builder.Prepare(raws ...interface{}) ([]string, error)
PostProcessor.Configure(raws ...interface{}) error
close#1768
Example hcl files:
```hcl
// file amazon-ebs-kms-key/run.pkr.hcl
build {
sources = [
"source.amazon-ebs.first",
]
provisioner "shell" {
inline = [
"sleep 5"
]
}
post-processor "shell-local" {
inline = [
"sleep 5"
]
}
}
// amazon-ebs-kms-key/source.pkr.hcl
source "amazon-ebs" "first" {
ami_name = "hcl2-test"
region = "us-east-1"
instance_type = "t2.micro"
kms_key_id = "c729958f-c6ba-44cd-ab39-35ab68ce0a6c"
encrypt_boot = true
source_ami_filter {
filters {
virtualization-type = "hvm"
name = "amzn-ami-hvm-????.??.?.????????-x86_64-gp2"
root-device-type = "ebs"
}
most_recent = true
owners = ["amazon"]
}
launch_block_device_mappings {
device_name = "/dev/xvda"
volume_size = 20
volume_type = "gp2"
delete_on_termination = "true"
}
launch_block_device_mappings {
device_name = "/dev/xvdf"
volume_size = 500
volume_type = "gp2"
delete_on_termination = true
encrypted = true
}
ami_regions = ["eu-central-1"]
run_tags {
Name = "packer-solr-something"
stack-name = "DevOps Tools"
}
communicator = "ssh"
ssh_pty = true
ssh_username = "ec2-user"
associate_public_ip_address = true
}
```
It is simply the best/simplest solution and trying to prevent users from passing and integer here would be like opening a can of worms. Because:
* we cannot make mapstructure validate our duration string ( with an UnmarshalJSON func etc.)
* we cannot make mapstructure spit a string instead of a duration and packer will decode-encode-decode config.
* the hcl2 generated code asks for a string, so this will be enforced by default.
Before this commit it was possible to set a duration using an integer or a float. Go's time.Duration is an int64 internally an mapstructure will take advantage of this and load the number as a int64 but `1` means one ns which is unexpected/confusing. To avoid confusion and enforce readability this forces users to pass a string with a unit for a duration; ex "56s".
* make CustomerEncryptionKey our own type so that it can be hcl2 generated
* make Account setting unexported so that it doesn't temper with HCL2 generation ( the field is set a bit later after processing )