Also set os-set_image_metadata on the tempoary volume before uploading
(volume metadata does not automatically become image metadata)
so the uploaded image will be created with the desired metadata
Add config parameter instance_floating_ip_net to control
floating ip assignment for a multi-homed instances. This ensures
the floating ip can be correctly assigned to the instance port
that is connected to the preferred network for floating ip assignment.
This avoids the default first-returned selection method which may
choose a network to which floating ip's can't be assigned,
e.g. because that network is not reachable from the floating ip
network.
When most_recent=false, and one page contains just a single potential
result, but a following page may contain more (which needs to be
reported as an error).
Current code would throw an index out of range exception when trying to access `s.Networks[len(s.Networks)]` when `len(s.Ports)>0` and would ignore the first `len(s.Ports)` entries of `s.Networks`, fix by shifting access to `s.Networks` back by `len(s.Ports)` so that the final read is `networks[len(s.Networks)+len(s.Ports)-1].UUID=s.Networks[len(s.Networks)+len(s.Ports)-1-len(s.Ports)]` which is necessarily the last member of `s.Networks`
* removed packer.Cache and references since packer.Cache is never used except in the download step. The download step now uses the new func packer.CachePath(targetPath) for this, the behavior is the same.
* removed download code from packer that was reimplemented into the go-getter library: progress bar, http download restart, checksuming from file, skip already downloaded files, symlinking, make a download cancellable by context.
* on windows if packer is running without symlinking rights and we are getting a local file, the file will be copied instead to avoid errors.
* added unit tests for step_download that are now CI tested on windows, mac & linux.
* files are now downloaded under cache dir `sha1(filename + "?checksum=" + checksum) + file_extension`
* since the output dir is based on the source url and the checksum, when the checksum fails, the file is auto deleted.
* a download file is protected and locked by a file lock,
* updated docs
* updated go modules and vendors
if present. Otherwise fallback to to source image min disk value (if
set) or calculated from the source image bytes size.
Note that in some cases this needs to be specified, if
`use_blockstorage_volume` is true. See #6957 for the discussion.