In cases where the OpenStack environment does not contain a v2 network, the
builder will error out. We only need the networkV2Client when using floating
IPs. This will allow packer to work in environments where a v2 network is not
available.
- 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
Update website documentation about "floating_ip_network" parameter.
Add new inline comment about alghoritm that is used for checking
floatingIP-related configuration parameters.
Only associate floating IPs if user provided "floating_ip_network" or
"floating_ip".
Remove FindExternalNetwork helper method because it won't be used.
Add support for the external network reference by it's name apart from
ID.
Include external network id in a log message of
the openstack/step_allocate_ip.
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
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.
`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
When AUTH_URL and each endpoints need SSL client authentication, we
have to specify cert file and private key file.
So, add optional config, cert and key.
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
Rather than always creating a new floating IP, search the provided pool
for an unallocated address and use this instead. Only allocate a temporary
address if there is no spare address in the pool.
Closes#4215