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.
* 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
- filter build and error checking in Prepare stage (multiErr created in the original function will be returned to Prepare and appended, so all errors show).
- source_image overrides source_image_filter.
- Doc edit
Rename "floating_network" to the "floating_ip_network".
Return old "floating_ip_pool" parameter for backward compatibility with
old configuration files. It's value will be passed to the
"floating_ip_network" parameter.
Remove usage of the deprecated OpenStack Compute service floating IP
management and add methods to work with the OpenStack Networking
service floating IPs API.
Remove usage of the deprecated OpenStack Compute service floating IP
pools and add methods to work with the OpenStack Networking service
external networks API.
Move reusable logic of working with the OpenStack Networking service API
to a separate methods in the networking.go file.
Pass error messages from the API services to the ui messages in the
allocate IP step.
Add a step of detaching Compute instance volume if it's created using
the Block Storage service.
It is needed to create a final image.
This commit also moves common volume functions to a different file and
fixes some messages in the StepCreateVolume.
This commit allows user to use the Block Storage v3 volume as the
Compute instance root volume.
Also it adds new volume-related parameters to the builder.
For networks that have multiple subnets, we may want to target a single
subnet. OpenStack doesn't let you target a single subnet in a network
and so you need to make a port.
RFC952 restricts hostname not to use underline(_) and period(.), so
private cloud with legacy DNS system does not allow just to use
image_name for name of server.
Add instance_name config option for servers which packer creates to
make instance_name configurable. If instance_name is not specified,
by default it works like the past using image_name for instance_name.
The Nova extension API was deprecated from OpenStack N release.
this parts of code cannot work well with the newest OpenStack version.
This patch is to remove the relative parts:
1. Remove the step_load_extensions.go
2. Remove the step of extension from builder.go
3. Remove the parameter parsing from step_stop_server.go
Resolves: #5581
add reuse_ips option and use it to control whether openstack builder
will attempt to reuse existing unassigned floating ips rather than
allocating a new one.
fix#4551