Commit Graph

243 Commits

Author SHA1 Message Date
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
Hazel Smith a7da0ffde1 openstack: store updated accessIPv4 from RackConnect 2015-07-27 23:07:25 +01:00
Hazel Smith b47eb4cea9 openstack builder: support using existing keypair 2015-07-27 23:05:51 +01:00
Hazel Smith ce54dba2d3 openstack builder: log which IP address SSH will use 2015-07-27 23:00:06 +01:00
Travis Truman 988cf2fecf Fixes #2434 by adding OpenStack Glance metadata support 2015-07-15 21:31:13 -04:00
Gleb M Borisov 8495a8c919 Fix handling IPv6 when ssh_interface set (openstack builder) 2015-07-15 02:11:46 +03:00
Mitchell Hashimoto 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Mitchell Hashimoto a95408aa21 Merge pull request #2224 from mitchellh/f-os-userdata
builder/openstack: support user data [GH-1867]
2015-06-15 09:35:49 -07:00
Mitchell Hashimoto 3edff00696 Merge pull request #2223 from mitchellh/b-stop-openstack
builder/openstack: load extensions, stop server if supported
2015-06-15 09:35:36 -07:00
Mitchell Hashimoto d8cc24f86e builder/openstack: no more port 2015-06-15 09:34:35 -07:00
Mitchell Hashimoto 5167c65f87 Merge branch 'b-openstack-privage' 2015-06-15 09:33:58 -07:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto f55e2d2c4b builder/openstack: convert to helper/comm 2015-06-13 18:34:37 -04:00
Mitchell Hashimoto b3a9712402 builder/openstack: support user data [GH-1867] 2015-06-12 22:55:39 -04:00
Mitchell Hashimoto b6d6a71c6e builder/openstack: wait for more states 2015-06-12 22:50:59 -04:00
Mitchell Hashimoto 48b674d331 builder/openstack: load extensions, stop server if supported 2015-06-12 18:04:46 -04:00
Mitchell Hashimoto a3863c3495 builder/openstack: update floating IP messaging 2015-06-12 15:23:05 -04:00
Mitchell Hashimoto 2c683c5057 builder/openstack: prioritize ssh interfaces 2015-06-12 14:28:27 -04:00
Mitchell Hashimoto 31abc93f50 builder/openstack: support ssh_interface [GH-2087] 2015-06-12 14:22:32 -04:00
Mitchell Hashimoto 693f04afcc builder/openstack: AZ support 2015-06-12 11:10:10 -04:00
Mitchell Hashimoto 92b6b5c387 builder/openstack: can ref flavor by name 2015-06-12 10:32:31 -04:00
Mitchell Hashimoto ad374e82af builder/openstack: shuffle some fields to note unused fields 2015-06-12 10:05:03 -04:00
Mitchell Hashimoto 5d32a1f6e0 builder/openstack: use IP not FixedIP 2015-06-12 10:02:04 -04:00
Mitchell Hashimoto 590177ea4b builder/openstack: fix unit tests 2015-06-12 00:35:54 -04:00
Mitchell Hashimoto e724b5fe80 builder/openstack: support legacy env vars 2015-06-12 00:33:52 -04:00
Mitchell Hashimoto 50e2eb30e6 builder/openstack: modifications to work with rackspace 2015-06-12 00:28:38 -04:00
Mitchell Hashimoto a0d41fcd14 builder/openstack 2015-06-12 00:16:43 -04:00
Mitchell Hashimoto 23a48d6619 go fmt 2015-06-08 21:34:20 -07:00
Mitchell Hashimoto a8cd2a2223 Merge pull request #2038 from trumant/openstack_access_config_tests_env_clarity
Tests were failing incorrectly when OpenStack environment variables were...
2015-06-08 21:19:47 -07:00
jszwedko b1497b951c code.google.com/p/go.crypto/ssh -> golang.org/x/crypto/ssh
code.google.com/p/go.crypto/ssh is now at golang.org/x/crypto/ssh as of
https://code.google.com/p/go/source/detail?spec=svn.crypto.69e2a90ed92d03812364aeb947b7068dc42e561e&repo=crypto&r=8fec09c61d5d66f460d227fd1df3473d7e015bc6

Using the code.google.com import redirects properly, but runs into
issues if you try to use a subpackage of `ssh`, e.g. `agent` which
refers to golang.org/x/crypto/ssh causing conflicts if your types expect
code.google.com/p/go.crypto/ssh.

This is a precursor to a PR for #1066.
2015-05-28 08:17:49 -07:00
Mitchell Hashimoto 3b29fa5e40 builder/openstack: convert interpolation 2015-05-27 13:02:57 -07:00
Travis Truman 7bd37b1f7a Tests were failing incorrectly when OpenStack environment variables were set in the environment running the tests 2015-04-14 11:14:58 -04:00
Emil Hessman f5782084e5 builder/openstack: address vet reports
Fixes the following vet reports:

builder/openstack/artifact.go:44: arg a.ImageId for printf verb %d of wrong type: string
builder/openstack/step_wait_for_rackconnect.go:24: arg server for printf verb %s of wrong type: *github.com/mitchellh/gophercloud-fork-40444fb.Server
2015-02-25 05:42:19 +01:00
Tom Dooner 6e92e60eef Add Rackconnect support
This adds two config options that we need in order to successfully build
our Rackspace images.

First, a boolean `rackconnect_wait` option which waits for the
RackConnect metadata to appear.

Second, an `ssh_interface` option, for rackconnect users who have more
prohibitive firewalls on the 'public' interface and want to ensure all
traffic to the server goes over the 'private' one.

Finishes #952.
2015-02-17 05:23:21 +00:00
Jen Spinney 40fdb15d03 Support user variables for all OpenStack string config options 2015-01-30 18:02:59 -08:00
Mitchell Hashimoto 0db6cd3533 Merge pull request #1330 from qur/qemu-vagrant
Qemu vagrant
2014-10-28 08:42:17 -07:00
Mitchell Hashimoto b06cceec25 builder/openstack: lock to fork for now to compile [GH-1625] 2014-10-27 16:40:49 -07:00
Julian Phillips 90a57c411f Expand Artifact API to expose build state
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
2014-09-22 11:15:47 +01:00
Mitchell Hashimoto 668bd51fa2 Merge pull request #1410 from msabramo/openstack_builder_blank_keypair_is_error
builder/openstack: error out when gets blank keypair
2014-09-01 21:44:41 -07:00
Marc Abramowitz 9bd33d1e0b Make region required for rackspace but not other providers
Update test to make it pass.
2014-08-15 11:19:04 -07:00
Marc Abramowitz 69500b6943 OpenStack builder: Make region not required
Perhaps "region" is required when using a public provider like
Rackspace? It's not required for my private cloud from Metacloud. I
suspect a lot of private clouds have only a single region and thus don't
need "region" to be specified.
2014-08-15 00:32:53 -07:00
Marc Abramowitz 031c25154f openstack builder error out when gets blank keypair 2014-08-12 08:29:00 -07:00
Ian Delahorne 0da4aa6f24 Replace ListServers hack with update ServerById
[gophercloud#168](https://github.com/rackspace/gophercloud/issues/168) has been
patched to not panic on non-existing server id's. If an error is returned,
check if the error is a 404 first before bailing.
2014-06-30 19:51:48 -05:00
Ian Delahorne 3af14d3dc7 Fix typo 2014-06-29 23:50:01 -05:00
Ian Delahorne 946843982f Workaround for gophercloud.ServerById crashing, fixes #1257
gophercloud.ServerById is broken in v0.1.0 - it will crash if you feed it a
non-existing server ID (see [rackspace/gophercloud #168](https://github.com/rackspace/gophercloud/issues/168))

Instead, list all servers and iterate over them. If the server id isn't found,
return "DELETED" as a state. Not perfect but it works until next version of
gophercloud is released.
2014-06-29 23:45:50 -05:00
Ross Smith II a0caa635fa Merge pull request #1261 from lflux/openstack-networks-support
Add ability to configure networks for openstack
2014-06-16 17:53:44 -07:00
Ian Delahorne c00696992a Add ability to configure networks for openstack
Add configuration option `networks`, a list of network UUIDs, to attach to the
source instance.

In some openstack installs, no default network will be attached or the network
with the ability to attach a public floating IP will need to be specified.
2014-06-15 13:56:19 -05:00
Ian Delahorne 8bf935beb8 Force IPv4 addresses from address pools in Openstack. Fixes #1258
Rackspace defaults to a public IPv4 and IPv6 address. These are returned in
random order, with the sprintf further on generating an incorrect connection
string if on IPv6. Force IPv4 until support for correct connection strings and
a configuration flag for logging in over IPv6 is added.
2014-06-15 02:12:52 -05:00
Mohammed Naser 110c168a68 Update run_config.go 2014-06-07 16:04:29 -04:00
Pierre Riteau 2ee90b29c3 Allow OpenStack builder to skip certificate verification 2014-05-06 12:26:05 +01:00
Mitchell Hashimoto b4729ca7aa Merge pull request #848 from nebula/securityGroups
Support for Security Groups in Openstack
2014-05-01 20:24:42 -07:00
Pierre Riteau 04d1bc67ff Support more user variables in the OpenStack builder 2014-05-01 10:23:43 +01:00
Kgespada f48fc1e2cd Adds security group support
Allows security groups to be specified in the template.
2014-05-01 00:32:55 -07:00
Mitchell Hashimoto 660be5b783 builder/openstack: support a tenant ID 2014-04-30 17:21:32 -07:00
Ben Broderick Phillips fc4b2e1569 Add flexible IP pool/address handling. 2014-04-28 15:20:44 -07:00
Mitchell Hashimoto e84e5e4f2c Merge branch 'update-ssh-package' of github.com:higebu/packer into higebu-update-ssh-package
Conflicts:
	builder/amazon/common/ssh.go
	builder/digitalocean/ssh.go
	builder/googlecompute/ssh.go
	builder/openstack/ssh.go
	communicator/ssh/communicator_test.go
	communicator/ssh/keychain.go
	communicator/ssh/keychain_test.go
2014-04-26 11:12:06 -07:00
Mitchell Hashimoto 23446d56fd builder/openstack: use proper function call for config 2014-04-21 21:34:03 -07:00
Mitchell Hashimoto 159587daf4 Merge pull request #768 from devcamcar/openstack-env-support
builder/openstack: Add support for standard OpenStack environment variables
2014-04-21 21:11:37 -07:00
Mitchell Hashimoto a9f07bc3ff Merge pull request #912 from nebula/populate_api
builder/openstack: added support for gophercloud's PopulateApi
2014-04-21 21:02:06 -07:00
Pierre Riteau 77dedd9eab Properly return error when invalid instance state is found 2014-04-17 12:56:25 -05:00
higebu f087ce16dc Fix the build problem by updating ssh package 2014-04-15 10:17:26 +09:00
Ross Smith II 27491f93f8 use old ssh code until higebu's branch is ready, see #1019 2014-04-11 08:23:12 -07:00
Torrent Glenn ee95fbbd99 added support for gophercloud's PopulateApi 2014-02-25 13:15:56 -08:00
Devin Carlen e7d7f9bbfd Add OpenStack API key support 2014-02-17 15:56:31 -08:00
Devin Carlen 828d7ebdca Append /tokens suffix if not present for specific OpenStack authentication URLs 2014-02-17 15:51:56 -08:00
Devin Carlen bef63846af Add support for standard OpenStack environment variables 2014-02-17 15:30:01 -08:00
Mitchell Hashimoto 366d169388 fmt 2013-12-26 17:20:13 -07:00
Devin Carlen 4e594ec22f Added keypair logging for debugging to OpenStack builder 2013-12-22 20:30:13 -08:00
John Bellone 817b1bdb32 Add ProxyUrl parameter for OpenStack builder.
In my particular case I need to use a separate HTTP proxy to access my
OpenStack API than what is set in the environment. This commit adds an
optional parameter to the builder configuration and overrides the
net/http client that is used by the gophercloud library.
2013-11-19 13:55:55 -05:00
Mitchell Hashimoto a6150e6596 builder/all: update to warnings 2013-11-02 23:03:59 -05:00
Mitchell Hashimoto 7f639d89b6 builder/amazon/*,builder/openstack: properly scrub sensitive [GH-554] 2013-11-02 11:34:54 +01:00
Mitchell Hashimoto 24ad445e2b builder/amazon,builder/openstack: remove more cgl libs 2013-10-16 16:29:53 -10:00
Mitchell Hashimoto 79f7936d66 Remove dependency on identifier package, use time ordered UUID [GH-541] 2013-10-16 16:21:14 -10:00
Matthew Hooker 4f24fe5000 common/config: strip keys appropriate for OpenStack. 2013-10-13 11:03:45 -07:00
Matthew Hooker 5315b19822 common/config: config filter function [GH-521]
Fixes #521
2013-10-13 11:01:12 -07:00
Justin Santa Barbara 7a628b294d Only pass the project if it is specified 2013-09-02 10:34:44 -07:00
Justin Santa Barbara 43cb57cd9c Allow the Openstack project to be specified
It isn't actually optional, according to the spec
2013-09-02 10:34:44 -07:00
Mark Peek a043e61d6c Merge pull request #379 from justinsb/justinsb-openstack_ipv6_support
builder/openstack: Support IPv6 access address for Openstack
2013-09-02 09:56:25 -07:00
Mitchell Hashimoto 54ab8cc520 Merge pull request #378 from justinsb/increase_ssh_timeout
builder/openstack: Increase default SSH timeout from 1m -> 5m
2013-09-01 23:49:13 -07:00
Justin Santa Barbara 4b8a546932 Increase default SSH timeout for OpenStack from 1m -> 5m
Many cloud providers have a minimum charge of 1 hour, and if there are DNS problems we can hit the 1 minute timeout easily.

Waiting five minutes gives more of a margin of error.
2013-09-01 14:36:59 -07:00
Mark Peek 2ca48b4b6d builder/openstack: don't hardcode "DFW" and make region required 2013-09-01 13:22:22 -07:00
Justin Santa Barbara 27dd2aa30f Support IPv6 access address for Openstack
We still prefer the IPv4 address, but if there is an IPv6 address and no IPv4 address, use IPv6.
2013-08-31 22:39:30 -07:00
Justin Santa Barbara 6ebfb9e142 If no image is generated, just return nil for the Openstack provider
This mirrors what is done in other providers e.g. Amazon providers
2013-08-31 21:55:52 -07:00
Mitchell Hashimoto 77f7f24990 builder/openstack: new multistep API 2013-08-31 12:37:07 -07:00
Mark Peek 30ab6572f7 builder/openstack: return artifacts 2013-08-27 22:37:06 -07:00
Mark Peek 276c023d84 builder/openstack: simplify by passing csp instead of accessor and api 2013-08-27 22:37:06 -07:00
Mark Peek 4b7da04052 Add base support for openstack [GH-155]
This change adds base support for an openstack builder.
Thank you to Rackspace for providing cloud assets to complete this work
and @sam-falvo for working with us on the perigee/gophercloud changes.
2013-08-26 21:57:23 -07:00