Commit Graph

258 Commits

Author SHA1 Message Date
chbell43 ea78cb62fd Make the config.networkV2Client conditional
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.
2018-10-29 18:32:09 +00:00
Megan Marsh 9fe27c225b
Merge pull request #6703 from shield-9/wait_volume
OpenStack: wait for volume availability when cleaning up
2018-10-19 10:25:51 -07:00
Adrien Delorme 37c6f08abe Revert "Fix bugs"
This reverts commit 02139dcb69 that constitutes pr #6701
2018-09-27 16:27:34 +02:00
Adrien Delorme 016b0985a6 builder/openstack: use config as a pointer so values could be set
this commit will close #6712
2018-09-27 16:27:34 +02:00
Matthew Hooker 9181570bc3
remove stray struct dumps in logs 2018-09-27 00:14:05 -07:00
Rickard von Essen 838d5021f5 openstack: use source_image_name to find UUID 2018-09-21 10:35:15 +02:00
Daisuke Takahashi 3b8aba2d24 OpenStack: wait for volume availability when cleaning up 2018-09-21 10:13:45 +09:00
Daisuke Takahashi c848f59a55 Check condition for image_disk_format option 2018-09-20 11:02:30 +09:00
Daisuke Takahashi b7bd3d4b34 OpenStack: Change option name to `image_disk_format` 2018-09-20 10:44:28 +09:00
Daisuke Takahashi 904dd1df63 Add disk_format option for OpenStack builder 2018-09-20 10:44:28 +09:00
Adrien Delorme fc75449e06
Merge pull request #6713 from hashicorp/cleanup_keys
new option allowing user to clean up the ephemeral ssh key from the a…
2018-09-14 11:12:33 -07:00
Megan Marsh 38cc525ec7 new option allowing user to clean up the ephemeral ssh key from the authorized_keys file 2018-09-14 11:06:38 -07:00
Daisuke Takahashi 02139dcb69 Fix bugs 2018-09-13 14:39:38 +09:00
Adrien Delorme d159c0900b openstack: use config only where needed 2018-08-30 17:52:11 +02:00
Adrien Delorme b0c09087a2 move SSHInterface/SSHIPVersion fields to communitator.Config struct 2018-08-29 14:51:28 +02:00
Adrien Delorme 92570a2725 builder.openstack: use c.Comm for ssh 2018-08-29 14:40:33 +02:00
Adrien Delorme 9a9b82715b config.Comm.SSHKeyPair => SSHKeyPairName 2018-08-29 14:40:33 +02:00
Adrien Delorme 324c46279b up test 2018-08-29 14:40:33 +02:00
Adrien Delorme b83c72fd54 more private keys in config 2018-08-29 14:40:32 +02:00
Adrien Delorme 51d2aac9f6 SSHPrivateKey => SSHPrivateKeyFile 2018-08-29 14:40:32 +02:00
Megan Marsh 340363a649
Merge pull request #6613 from hashicorp/merge_ssh_config_funcs
Merge ssh config funcs from builders
2018-08-23 16:03:36 -07:00
Megan Marsh 1f79b430ee
Merge pull request #6610 from hashicorp/filter_logs
Filter logs
2018-08-23 13:30:21 -07:00
Tom Carrio e2fe5cd775 Updated test cases to cover bad filters and empty() 2018-08-22 18:23:12 -04:00
Adrien Delorme 41f6e0334d refactor all copy pasted sshConfig with into communicator.Config.SSHConfigFunc
* still need to append the auth methods into an array for gracefullness
2018-08-22 17:02:23 +02:00
Rickard von Essen 3b49caaf40 OpenStack: refactored how source_image_filter is handled to remove reflection 2018-08-22 13:37:43 +02:00
Rickard von Essen bd1961b927 Correctly fail if no Image matches filter 2018-08-21 12:46:42 +02:00
Megan Marsh ff6a039d5b replace scrubconfig with packer.LogSecretFilter.Set
filter winrm password from logs
Add new root-level packer template option, sensitive-variables, to tell us what user variables to mark sensitive.
2018-08-20 15:35:55 -07:00
Tom Carrio c5fe1e9e34 Updated to @rickard-von-essen's code review suggestions, including:
- 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
2018-08-19 18:47:07 -04:00
Tom Carrio 5ca5c037eb Updated filter parser to log all invalid values/fields provided by user 2018-08-19 18:45:22 -04:00
Tom Carrio fc19cd8d28 Updated limit logic, removed limiter, updated test cases and sort field used 2018-08-19 18:45:22 -04:00
Tom Carrio 4147062802 Internally handling most_recent logic. 2018-08-19 18:45:22 -04:00
Tom Carrio 2d5d1890d4 Switching sort method 2018-08-19 18:45:22 -04:00
Tom Carrio 8d98237a15 I should have a git-status alias to make fmt 2018-08-19 18:45:22 -04:00
Tom Carrio 036918b81b Updated to comments in PR#6490 - Thanks @haxorof 2018-08-19 18:45:22 -04:00
Tom Carrio db3d2682b5 Updated allowed filters to tags, visibility, owner, and name. Test cases updated and passed 2018-08-19 18:45:22 -04:00
tcarrio e9e58e6b2b Tags field parsed from "tags" and updated test case 2018-08-19 18:45:22 -04:00
Tom Carrio c8fd53d60b make fmt 2018-08-19 18:45:22 -04:00
Tom Carrio de9999ecb9 Updated tag to slice, docs, comments, only active images, source_image_name supercedes filter name 2018-08-19 18:45:22 -04:00
tcarrio e776ad51a9 Removing statement from old image erroring logic 2018-08-19 18:45:22 -04:00
tcarrio 3a6ab0fc0e Updated test logic and Error->Errof for formatted output. 2018-08-19 18:45:22 -04:00
tcarrio 6dc71590eb Updated OpenStack Builder docs and tests 2018-08-19 18:45:22 -04:00
tcarrio 94018c691c Fixed step interface, added step to builder, passing all tests for new image_query.go 2018-08-19 18:45:22 -04:00
Tom Carrio a87c8fec38 Fixing up reflection issues on ListOpts builder 2018-08-19 18:39:42 -04:00
Tom Carrio 810a602a1b Added testing on query helper functions 2018-08-19 18:39:42 -04:00
Tom Carrio 33caed3531 Completed filters and most_recent processing using OpenStack imageservice API 2018-08-19 18:39:42 -04:00
Andrei Ozerov 6bf442f039 OpenStack builder: fix floating IP docs
Update website documentation about "floating_ip_network" parameter.
Add new inline comment about alghoritm that is used for checking
floatingIP-related configuration parameters.
2018-08-17 07:55:31 +03:00
Andrei Ozerov 103403db48 OpenStack builder: do not always use floating IPs
Only associate floating IPs if user provided "floating_ip_network" or
"floating_ip".
Remove FindExternalNetwork helper method because it won't be used.
2018-08-17 00:49:06 +03:00
Andrei Ozerov 5d6ba4301d OpenStack builder: fix floating_ip_pool validation
Only use "floating_ip_pool" if "floating_ip_network" wasn't set.
Update unit test for the OpenStack builder parameters.
2018-08-17 00:15:18 +03:00
Andrei Ozerov 1af899248b OpenStack builder: allow floating IP network name
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.
2018-08-16 23:38:41 +03:00
Andrei Ozerov c9047cbfbe OpenStack builder: update floating IP params
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.
2018-08-16 22:18:48 +03:00
Andrei Ozerov 0eef9b4292 OpenStack builder: floating IP refactoring
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.
2018-08-16 22:15:26 +03:00
Andrei Ozerov 3316d40527 OpenStack builder: make volume type optional
Volume type parameter should be optional as described in API reference:
https://developer.openstack.org/api-ref/block-storage/v3/#create-a-volume

It should be enforced by the OpenStack cluster if not specified.
2018-08-16 12:40:11 +02:00
Andrei Ozerov 572cdeecd1 OpenStack builder: create image from blockstorage
Allow to create final image from the Block Storage service volume.
2018-08-16 12:40:11 +02:00
Andrei Ozerov c0ffe7eb89 OpenStack builder: add StepDetachVolume
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.
2018-08-16 12:40:11 +02:00
Andrei Ozerov 005f7e56a7 OpenStack builder: cleanup blockDeviceMappingV2
There is no need to indicate type of the list elements, remove it.
2018-08-16 12:40:11 +02:00
Andrei Ozerov d51e683bf7 OpenStack builder: add Block Storage volumes
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.
2018-08-16 12:40:11 +02:00
Rickard von Essen 074b170ed4 Fixed exec bit 2018-08-15 16:13:34 +02:00
Rickard von Essen c962e7b856 Simplified loop code 2018-08-15 13:12:47 +02:00
chbell43 aaa42543e6 fix formatting 2018-08-03 21:32:34 +00:00
chbell43 5f9d4b729f add support for ports to the OpenStack 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.
2018-08-03 20:46:36 +00:00
Matthew Hooker 3bdf1f1849 openstack: Add support for token authorization and cloud.yaml
via config options `cloud` and `token` and environment variables
OS_CLOUD and OS_TOKEN.
2018-06-08 21:38:26 +02:00
Yang Youseok 1f4212efa7 builder/openstack: Add instance_name config to OpenStack builder
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.
2018-03-22 11:20:14 +09:00
Josh Soref 5010bfda39 spelling: comes 2018-03-13 07:20:55 +00:00
Edward c29e5de381
Remove the deprecated extensions
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
2018-02-06 17:36:47 -08:00
Matthew Hooker 7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker a831d522be
change run signatures
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, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker 366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Matthew Hooker f6eb4e1b40
use cleanhttp to get a default transport. 2017-05-24 11:05:59 -07:00
r_takaishi 4fc0616bc9 fix go vet fail 2017-05-24 17:57:21 +09:00
r_takaishi db58854b0b make fmt 2017-05-24 16:28:13 +09:00
r_takaishi 37e6539bff use DefaultTransport 2017-05-24 16:19:30 +09:00
r_takaishi 67ce2da59e add cacert config to specify custom CA certificate file 2017-05-24 14:21:16 +09:00
r_takaishi 1de9eb2cfd support client certificate file
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.
2017-05-24 10:23:12 +09:00
Matthew Hooker e67d1fd676 Merge pull request #4900 from rogers0/PR/crypto-CVE-ABI-change
handle ABI change of golang-golang-x-crypto-dev
2017-05-18 12:06:08 -07:00
Matthew Hooker ee5d13611f
update ssh client usage for new crypto/ssh version 2017-05-18 12:01:44 -07:00
numa b15c3a5c92 Fix error message
I've matched the error message to the document
2017-05-18 18:40:16 +09:00
Matthew Hooker 80d6cd91fd
remove unneeded keypair var 2017-05-01 10:17:21 -07:00
Matthew Hooker 602fd64c5d
builder/amazon: set flag to delete temporary keypair 2017-04-30 14:24:22 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 230079f73a
spell fixes 2017-03-28 20:36:19 -07:00
Rickard von Essen 6cd3cb18da
builder/openstack: validate ssh key name/file
This is a port for OpenStack of PR #4665
2017-03-14 20:47:40 +01:00
Rickard von Essen 4c5461102a
amazon: Added (more) support for SSH Agent and temporary keypair names 2017-03-13 07:29:59 +01:00
Larry Bordowitz c5b8a1069a Add ssh agent to enable SSH-CA authentication. 2017-03-10 08:45:50 -08:00
Joshua Randall e9cfaa2730 add reuse_ips option for openstack builder
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
2017-02-16 12:44:03 +00:00
Matthew Hooker d4b043451f Merge pull request #4357 from dave2/gh-4215
Openstack builder should use existing floating IPs before allocating them
2017-01-17 11:14:59 -08:00
Tom-Byrne d7545c4ba0 support OpenStack instance metadata 2017-01-05 14:42:32 +00:00
Zanetti, David 08ef89f032 Openstack builder should use existing floating IPs before allocating them
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
2017-01-05 08:59:49 +13:00
Matthew Hooker f1dd0811d8
builders/openstack: fix for finding resource by ID.
Pass server serviceClient to create params so it can look up resources by ID.
Resolves #4299
2016-12-19 13:47:09 -08:00
Matthew Hooker 754ed931e9
be nice if user gets the image visibility case wrong 2016-12-14 16:08:36 -08:00
Matthew Hooker 1408c3fde8
bugfix 2016-12-14 01:01:57 -08:00
Matthew Hooker 00e4585ce5
first pass at adding new members 2016-12-13 16:32:30 -08:00
Matthew Hooker cbe7e9113a
return early if no set visibility 2016-12-13 16:32:15 -08:00
Matthew Hooker 99667df17e
update image visibility own step 2016-12-13 16:28:54 -08:00
Matthew Hooker 7bd211cf61
first attempt at modifying visibility 2016-12-13 15:21:20 -08:00
Matthew Hooker 6a6e735d16
use 404 error type 2016-12-13 14:20:39 -08:00
Zanetti, David 01e3e7f7a3
Second part of resync of gophercloud 2016-12-13 14:06:01 -08:00
Dave Buckley 91562636d4 Allow reauth to keystone after token expiry 2016-12-07 01:36:10 +00:00
Rickard von Essen 96e9a8e6e9 Removed default value for ssh_username 2016-11-17 22:30:34 +01:00
Rickard von Essen ba8cfbd222
builder/openstack: Support using SSH password.
This adds support for using ssh_password to connect to a OpenStack
instance. If ssh_password is defined creation of the temporary keypair
is skipped.
2016-10-08 23:18:19 +02:00