Commit Graph

236 Commits

Author SHA1 Message Date
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
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Christopher Boumenot bbf286dcbe Fix go fmt issues. (#3463) 2016-04-22 10:44:54 -07:00
Rickard von Essen 88a84f5fb2 Merge pull request #3209 from rickard-von-essen/openstack-get-password
Get admin password of booted instance when using WinRM
2016-02-20 10:29:38 +01:00
Nathan Mische 335a2010bf Moving SSH IP version validation to prepare function. 2016-02-17 10:52:29 +01:00
Nathan Mische 8396a2db1e Adding ability to select IP version for SSH connections to OpenStack instances. Addresses #3047 2016-02-17 10:28:18 +01:00
Rickard von Essen 5368697413 Get admin password of booted instance when using WinRM
Fixes #2663
2016-02-16 11:06:22 +01:00
Rickard von Essen c3bc87cb71 OpenStack: Change some log messages about SSH to connect. 2016-02-16 10:55:21 +01:00
Rickard von Essen 6855c480ad OpenStack: convert SSH keys from BER to DER with OpenSSL, work around for GH-2526.
Try to parse the temporary keypair received from OpenStack, if it fails
try to use OpenSSL to convert it from BER encoding to DER.
2016-02-09 12:50:00 +01:00
Chris Bednarski 2dd8ad9449 Merge pull request #2577 from cybercom-finland/os_source_image_name
Support source_image_name in OpenStack builder
2016-01-28 15:40:13 -08:00
Chris Bednarski b7ba9a507d Merge pull request #3041 from msabramo/GH-3038_openstack_builder_auto_set_image_type_to_image
openstack builder: Set image_type to "image"
2016-01-21 18:39:08 -08:00
Marc Abramowitz 3e0914b6a2 openstack builder: Set image_type to "image"
so that built images are treated as images and not as snapshots.

Fixes: GH-3038
2016-01-06 15:00:31 -08:00
Marc Abramowitz 4b9c4cc3e6 openstack: WaitForImage: treat 404 as retryable
Addresses comment at
https://github.com/mitchellh/packer/issues/1415#issuecomment-165739549
2015-12-18 10:37:31 -08:00
Marc Abramowitz b08b88b019 openstack: Add maxNumErrors for WaitForImage
This partly addresses comment at
https://github.com/mitchellh/packer/issues/1415#issuecomment-165739549
2015-12-18 10:27:18 -08:00
Marc Abramowitz 39d6eda370 Make the OpenStack builder more informative
about the servers, images, and keypairs that it's dealing with.
2015-12-17 11:12:52 -08:00
Ian Duffy b57140da47 Add support for using cloud-init via a ConfigDrive
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2015-12-08 12:45:26 +00:00
Toni Ylenius cbb2b538bd Support source_image_name in OpenStack builder
As gophercloud supports source_image_name let's allow that in builder
configuration also. This an alternative way of providing source_image.
2015-08-10 16:37:22 +03:00
Chris Bednarski abb67fdd79 Fix govet issues 2015-08-05 19:41:29 -07:00
Chris Bednarski 28d1295460 Merge branch 'openstack_metadata' of https://github.com/trumant/packer into trumant-openstack_metadata 2015-07-30 14:38:03 -07:00
Chris Bednarski 5cd6e19467 Merge pull request #2451 from monsterzz/b-openstack-ipv6-ssh-support
Fix handling IPv6 when ssh_interface set (openstack builder)
2015-07-30 14:36:17 -07:00
Chris Bednarski c73314cd38 Merge pull request #2514 from hazelesque/rackconnect-v2-update-accessipv4
openstack: store updated accessIPv4 from RackConnect
2015-07-27 16:43:17 -07:00
Chris Bednarski 715662f60b Reformat 2015-07-27 16:42:06 -07:00
Chris Bednarski ff6a091531 Merge pull request #2512 from hazelesque/openstack-support-using-existing-keypair
openstack builder: support using existing keypair
2015-07-27 16:41:17 -07:00