krisko
e96bda6466
Remove config interface. Make CreateImage function to accept config as list of config fields
2019-05-05 17:17:08 +02:00
krisko
f1e9664012
Googlebuilder: Add image key encryption
2019-05-02 17:37:43 +02:00
krisko
9b39e3f928
GCP builder add image encryption support
2019-05-02 17:37:36 +02:00
Adrien Delorme
d72040f4fa
move retry code into the common/retry pkg and make retry context aware
2019-04-09 17:46:38 +02:00
Adrien Delorme
a81abd297b
Merge remote-tracking branch 'origin/master' into context_provisioner
2019-04-08 20:09:01 +02:00
Adrien Delorme
c4f3dccc14
rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts
2019-04-03 15:56:15 +02:00
Adrien Delorme
a4bf94dd3c
change Builder to be passed a context for cancellation
...
we have to to give it to our hook
2019-04-03 15:55:55 +02:00
Adrien Delorme
9836dad0c9
introduce the clean_resource_name to clean image names and deprecate the old ones
2019-04-03 11:25:51 +02:00
Adrien Delorme
9f82b75e57
Use the hashicorp/go-getter to download files
...
* 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
2019-03-13 12:11:58 +01:00
Murcurio
60c7d22ffb
Change metadata url to FQDN
...
If instance has a different DNS/search domain then "metadata" alone won't work. The FQDN of "metadata.google.internal" is included in hosts file, and will work regardless of DNS configuration. Alternatively the IP 169.254.169.254 can be used.
2019-02-01 15:36:40 +11:00
Arnaud Dezandee
91d2cb8c83
googlecompute-import: add service accounts
2019-01-25 11:36:18 +01:00
Mikhail Ushanov
536252683e
builders: reuse private key file reading function
...
Signed-off-by: Mikhail Ushanov <gm.mephisto@gmail.com>
2018-11-08 14:25:50 +03:00
Matthew Aynalem
28eff7303e
builder/googlecompute: validate startup_script_file exists
2018-10-15 16:09:33 -07:00
Adrien Delorme
b2e2d3b008
removed unused processPrivateKeyFile func & tests
2018-10-09 11:56:43 +02:00
Adrien Delorme
146db5667a
fix intermitent TestProcessPrivateKeyFile_encrypted failure
...
Because of deficiencies in the encrypted-PEM format, it's not always possible to detect an incorrect
password. In these cases no error will be returned but the decrypted DER bytes will be random noise.
this closes #3337
2018-10-01 10:29:30 +02: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
Megan Marsh
a0edaf6c46
Going to revert this change for now, becuase of potential issues that arise from calling Prepare() twice
...
Revert "use statebag instead of SetSharedState for winRM password"
This reverts commit b35acbd879
.
2018-09-10 16:48:42 -07:00
Megan Marsh
d00b815c06
Update public google cloud image projects
2018-08-31 13:13:19 -07:00
Adrien Delorme
157691c710
remove unecessary get/pug config in tests; those are being referenced
2018-08-30 12:07:37 +02:00
Adrien Delorme
94d5bb7a3b
revert test changes of builder/googlecompute/step_create_ssh_key_test.go
2018-08-30 12:04:21 +02:00
Adrien Delorme
050a98e8bb
googlecompute builder: use config from statebag
2018-08-29 18:15:09 +02:00
Adrien Delorme
4982627dd2
builder.gcp: use c.Comm for ssh
2018-08-29 14:40:33 +02:00
Adrien Delorme
d49ad12895
update gcp ssh tests
2018-08-29 14:40:32 +02:00
Adrien Delorme
663c8134ef
GCP: put ssh public/private key 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
b35acbd879
use statebag instead of SetSharedState for winRM password
2018-08-24 13:51:16 -07: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
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
Adrien Delorme
b038cd10f5
GCP: Allow to set MinCpuPlatform
2018-08-21 10:09:30 +02:00
Adrien Delorme
e37f126cf1
update gcp google.golang.org/api/compute/v1/
2018-08-21 10:09:01 +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
deepuashokan85
10f118b14c
Update driver_gce.go
...
Added "rhel-sap-cloud" Projects_ID.
2018-05-31 11:29:57 +05:30
M. Marsh
e90c87f885
Merge pull request #6210 from hashicorp/add_windows_sql_cloud_to_defaults
...
add windows-sql-cloud to the list of projects to check for an image name
2018-05-01 12:57:10 -07:00
DanHam
5642f8cb01
Remove tmp files created by builder/googlecompute tests
2018-04-30 20:38:03 +01:00
Megan Marsh
ed6d999b1f
add windows-sql-cloud to the list of projects to check for an image name
2018-04-27 11:24:08 -07:00
Richard Nienaber
db65c99bf4
update code based on master and update docs
2018-04-24 10:35:27 +01:00
Richard Nienaber
ec6f8264bf
fix winrm password access in google compute
2018-04-16 10:56:26 +01:00
Seth Vargo
b17b333e29
Add a common package for specifying useragent and adopt that everywhere
...
There were 5 different formats for the Packer useragent string. This
fixes that and unifies it into a helper package.
I did not touch oracle's user-agent, because it looked kinda special.
2018-04-05 14:28:50 -04:00
Megan Marsh
414dd80e61
Merge pull request #6013 from jsoref/spelling
...
Spelling
2018-03-14 09:50:27 -07:00
Josh Soref
b81672c906
spelling: valid
2018-03-14 03:28:00 +00:00
Josh Soref
c563ef0797
spelling: structure
2018-03-14 03:23:56 +00:00
Evan Brown
7eda44d28c
builder/googlecompute: disambiguate disable_default_service_account
...
This change requires 'disable_default_service_account=false' in order to
set 'service_account_email'.
This is a guard against an incorrect assumption
that disabling the default service account would mean that no service
account would be used.
2018-03-13 12:39:41 -07:00
Evan Brown
4a2c124ea2
builder/googlecompute: Optionally disable service account
...
The ability to use a service account other than the default was
introduced in #5928 . This change adds to that by introducing the
'disable_default_service_account' config option. If true - and
'service_account_email' is not set - Packer will create a GCE VM
with no service account.
2018-03-07 20:53:26 -08:00
Christophe Courtaut
16882c1252
builder/googlecompute: Go code formatting
2018-02-22 17:19:13 +01:00
Christophe Courtaut
4befdce47e
builder/googlecompute: Adds ability to specify service account
...
This commit allows user to specify the service account they want
to associate with the virtual machine provisionned by setting
the service_account_email field in the config.
It allows to manage permissions of the instantiated VM properly,
using a service account that can be tied up to IAM roles and
permissions.
2018-02-22 17:19:13 +01:00
Petr Hosek
eaef2961cb
Support specifying licenses for Google Compute images
...
This is needed to enable features such as the nested virtualization:
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances
2018-02-03 14:15:16 -06:00
Matthew Hooker
8cd403425e
test fixes WIP
2018-01-24 17:09:17 -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
Daniel Hess
f0299ba713
Adding GCE container optimized os image project
2017-11-12 00:45:22 -08:00
Evan Brown
13e0c232d4
builder/googlecompute: Test networking interpolation
...
This change pulls the logic that interpolates network and subnetwork
into its own func and adds tests.
2017-11-06 21:22:53 -08:00
Evan Brown
f2fed94a71
builder/googlecompute: Derive network and subnetwork IDs locally
...
This change constructs partial URLs for networks and subnetworks if they
are not already partial or full URLs (i.e., they do not contain a '/' in
their name). Network and subnetwork self-links are no longer retrieved
from the API.
Previously, if a user did not provide the network or subnetwork as a
fully-qualified URL (i.e., self-link), the builder would make
compute.(sub)networks.get API calls with the provided identifier to
discover the self-link. This requires the user or service account Packer
is using to have permission to describe those network resources, which
is becoming less common as IAM is used more. Specifically, a user may
have permission to launch a VM into a network/subnetwork, but will not
have permission to call APIs to describe network resources.
2017-11-06 16:41:42 -08:00
Evan Brown
bada7b73c1
builder/googlecompute: Selectively set default network
...
If a network is not specified, it should only be set to "default" if a
subnetwork is also not specified.
2017-11-06 16:41:42 -08:00
Evan Brown
1b3eb1c34d
builder/googlecompute: Set default network_project_id
...
If network_project_id is not specified in the GCE builder config, it
should default to the project_id.
2017-11-06 16:41:42 -08:00
Megan Marsh
4721b48c70
add a couple of extra tests and reword documentation
2017-10-20 14:06:02 -07:00
Atsushi Ishibashi
c3a00993d0
Don't truncate and replace with 'a', update docs
2017-10-19 10:45:48 +09:00
Atsushi Ishibashi
3e68f1c505
Change first and last character when it doesn't match
2017-10-18 11:10:19 +09:00
Atsushi Ishibashi
210dd08326
Change args of NewConfig
2017-10-17 13:48:15 +09:00
Atsushi Ishibashi
5310d5629b
Modify clean_image_name not defined error
2017-10-17 12:31:50 +09:00
Atsushi Ishibashi
3600924e59
Rename files
2017-10-17 04:55:50 +09:00
Atsushi Ishibashi
2da4e4c31d
Change func name
2017-10-16 11:45:18 +09:00
Atsushi Ishibashi
caa6c9bf22
Add clean_ami_name for gcp
2017-10-16 00:53:18 +09:00
Peter Mounce
7cbd57faa6
Filling it back
2017-09-19 11:40:01 +01:00
Peter Mounce
15a456750b
CI as compiler!
2017-09-19 11:34:08 +01:00
Peter Mounce
2239d55fdb
Add test coverage
2017-09-19 11:31:05 +01:00
Peter Mounce
5bcb0644c3
Using CI for compilation errors because am on Windows
2017-09-18 18:13:21 +01:00
Peter Mounce
ac8eedf171
Introduce a new configuration parameter instead
...
... so that one can have a different list compared to instances.
2017-09-18 17:53:40 +01:00
Peter Mounce
e579b947b1
Fix signature that I missed
2017-09-18 17:34:06 +01:00
Peter Mounce
8789ae72e8
Make the googlecompute builder label the resulting image.
...
... so that it's possible to find images matching particular characteristics more easily.
2017-09-18 15:44:01 +01:00
Patrick Decat
a7283f2281
Add support for setting labels on GCE instance
2017-09-06 10:58:08 +02:00
Megan Marsh
3974976518
Merge pull request #5137 from vilkaspilkas/f-googlecompute-accelerator
...
Add accelerator api support to googlecompute builder
2017-09-01 14:12:26 -07:00
Matthew Hooker
9b88ec975a
Merge pull request #5227 from hashicorp/fix-flaky-test
...
fix test that flaked in a travis build recently
2017-08-08 12:28:33 -07:00
Megan Marsh
3f7c090f3b
fix test that flaked in a travis build recently
2017-08-08 12:25:12 -07:00
Dan Isla
00797cc23b
Update to how zone is extracted from metadata
2017-07-29 08:20:58 -07:00
Saulius Grusnys
5ebc96744d
Accelerator api is now GA, switching back to v1 from v0.beta
2017-07-21 15:05:24 +01:00
Saulius Grusnys
b6783a1180
Adding sanity checks in Prepare when adding accelerators and tests for accelerator configuration
2017-07-19 11:28:49 +01:00
Saulius Grusnys
200113b8c1
Switch googlecompute builder to use compute/v0.beta and add support for accelerator api
2017-07-17 15:39:41 +01:00
Rickard von Essen
f230f00726
googlecompute: Allow using URL's for network and subnetwork
...
If full server URL's is used in subnetwork we can skip reading from the network
API. This is usefull when you can launch instances in a shared network but don't
have access to do GET on the network resources.
Closes : #5018
2017-06-27 21:58:21 +02:00
Matthew Hooker
94d7a4ce8d
post-processor/vagrant-cloud: try upload once
...
* fixes multiple uploads mentioned in #4973
* removed unused token code
2017-06-12 17:34:32 -07:00
Matthew Hooker
ee5d13611f
update ssh client usage for new crypto/ssh version
2017-05-18 12:01:44 -07:00
Matthew Hooker
81522dced0
move packer to hashicorp
2017-04-04 13:39:01 -07:00
Matthew Hooker
bce03492d9
remove references to ServiceAccountEmail
2017-04-03 11:22:00 -07:00
Rickard von Essen
77dc8b84c1
builder/googlecompute: Revert to using default service account
...
Fixes issue with cross Project builds.
Closes #4608
Regression introduced in PR #3639
2017-04-02 17:52:14 +02:00
Matthew Hooker
d1b20b3d9c
remove a bunch of dead code.
...
https://github.com/dominikh/go-tools/tree/master/cmd/unused
2017-03-28 20:36:20 -07:00
Rickard von Essen
eac5b6392d
googlecompute: Correct values for on_host_maintenance
...
If preemptible is true then on_host_maintenance must be TERMINATE.
Also corrected order in docs.
Closes #4620
2017-03-08 19:44:07 +01:00
Matthew Hooker
2381bfa8ad
Merge pull request #4518 from AlexLov/bugfix_image_family
...
[googlecompute] fix bug of creating image from custom image_family
2017-02-21 10:58:23 -08:00
Dimitri Rudnev
2009fcd9df
OnHostMaintenance, googlecompute updating documenation , additional option for validation and setting defaults
2017-02-10 11:57:15 -08:00
Dimitri Rudnev
bab590c177
Adding OnHostMaintenance option for googlecompue builder
2017-02-10 10:58:57 -08:00
Alex Lov
cfa8f8c215
fix bug of creating image from custom image_family
2017-02-08 22:50:19 +03:00
Troy Toman
12f279fa79
add ability to set a different project-id for a network in the googlecloud builder
2016-12-02 15:22:36 -06:00
Rickard von Essen
6947a74151
Merge pull request #4162 from classmarkets/google-source-image-family
...
builder/googlecompute: support source image family
2016-11-26 17:26:47 +01:00
Rickard von Essen
d18da5e679
Added printout of select source_image
2016-11-26 15:06:43 +01:00
Rickard von Essen
96e9a8e6e9
Removed default value for ssh_username
2016-11-17 22:30:34 +01:00
Peter Schultz
bcb319640e
builder/googlecompute: support source image family
...
Closes #4100
2016-11-13 16:54:04 +01:00
Matthew Hooker
5d0892bd37
Merge pull request #4101 from lwander/f-googlecompute-ssh-private-key-file
...
builder/googlecompute: Use ssh_private_key_file if provided
2016-11-03 11:04:02 -07:00
Lars Wander
583e341ae7
builder/googlecompute: Store empty public_key
2016-11-03 12:49:09 -04:00
Lars Wander
7f474d8f78
builder/googlecompute: Tests added
2016-11-03 12:45:52 -04:00