Commit Graph

222 Commits

Author SHA1 Message Date
Mitchell Hashimoto 4da0b42fc1 Merge pull request #2054 from garnaat/amazon-chroot-check-before-umount
builder/amazon-chroot: Only unmount if path is actually mounted
2015-06-18 10:12:06 +02:00
Clint Shryock bec59b535d builder/amazon: Add force_deregister option, to automatically deregister artifacts with name conflicts 2015-06-12 13:23:47 -05:00
Henry Huang 052b5e6699 "Name" parameter required for copying ami across regions [GH-2172] 2015-06-05 11:15:48 +00:00
Seth Vargo 33ca8b7fb5 Migrate to new AWS repo 2015-06-03 17:13:52 -04:00
Mitchell Hashimoto 44b980e659 Merge branch 'aws-sdk-go' of https://github.com/jen20/packer into jen20-aws-sdk-go 2015-05-28 08:24:41 -07:00
Mitchell Hashimoto b9bfae8da3 amazon/chroot: style 2015-05-28 08:19:53 -07:00
Mitchell Hashimoto 20fa7aeeb6 Merge pull request #2046 from danschaffer/amazonchroot-volumes-retry-fix
builder/amazon/chroot: fix no attachments on volume error.
2015-05-28 08:18:50 -07:00
Mitchell Hashimoto 034e4e676c amazon/*: use new interpolation functions 2015-05-27 11:47:45 -07:00
Mitch Garnaat fd5f4c61ae Added a call to grep for path in /proc/mounts before attempting to umount. If path is not there, it is already unmounted. 2015-04-17 12:35:26 -07:00
Dan Schaffer 03436a3745 builder/amazon/chroot: fix no attachments on volume error.
This adds retry logic to the amazon/chroot builder.  The builder
intermittently fails when ec2conn shows the volume in the attached
state but calling Volumes[0].Attachments return an empty array. The
fix adds a retry logic for when Volumes[0].Attachments has len 0 sleep
for 2 seconds and retry up to 30 times.

When the Volumes[0].Attachments is empty I find within 5 seconds the
Volumes[0].Attachments contains the correct value.

The issue is reported in:
https://github.com/mitchellh/packer/issues/1854
2015-04-16 13:06:48 -04:00
James Nugent 33b4f5cc0a Check for EBS being nil before assigning it 2015-04-15 11:49:29 -07:00
James Nugent e99cd56b6c Migrate from mitchellh/goamz to awslabs/aws-sdk-go
This commit moves the Amazon builders of Packer away from the Hashicorp
fork of the goamz library to the official AWS SDK for Go, in order that
third party plugins may depend on the more complete official library
more easily.
2015-04-12 21:33:09 -04:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto c9cc82d89e builder/amazon-chroot: add description with time created snapshot
[GH-1388]
2014-09-05 16:10:33 -07:00
Mitchell Hashimoto 752162c234 fmt 2014-09-02 09:55:06 -07:00
Mitchell Hashimoto e8889e56ed Merge pull request #1381 from pas256/chroot-hvm
builder/amazonchroot: can build both PV and HVM images
2014-09-02 09:47:53 -07:00
Peter Sankauskas ab9f0bc3c8 Removing my debugging output 2014-07-29 22:18:43 -07:00
Peter Sankauskas a2c0b104f0 Adding the conditional necessary to construct the right options for both PV and HVM images. Also adding a test to make sure it is doing the right thing 2014-07-29 21:56:37 -07:00
Peter Sankauskas 460e2da248 The mount command for a PV image that is attached to /dev/sdf is:
mount /dev/xvdf /mnt/point
while for an HVM image that is attached to /dev/sdf, its mount command is
mount /dev/xvdf1 /mnt/point
so this code enabled that
2014-07-29 21:55:20 -07:00
Peter Sankauskas 6b751cac39 Formatting 2014-07-29 16:15:53 -07:00
Peter Sankauskas a59ee93bca To be able to build both PV and HVM images, it is not possible to use both /dev/sd[f-p] and [1-16] as the HVM images get attached at /dev/sdf but must be mounted a /dev/sdf1.
This reduces the number of simultaneous packer runs possible significantly, but unless you are Netflix, who have Aminator anyway, this is probably never going to be an issue
2014-07-29 16:07:49 -07:00
James Massara ca84e2ac55 Fix bug with getting ec2 connection instead of source image 2014-07-21 15:28:47 -07:00
James Massara be27ecc64b Add option to enable enhanced networking (SriovNetSupport) for images. 2014-06-04 14:58:11 -07:00
Brandon Turner b2258dc4e9
Fix chroot builder to work with chef-solo
According to be5adb92b5, the UploadDir
method supports two ways of copying depending on whether a trailing
slash is used:
    src = "dir"  -> dest/dir
    src = "dir/" -> dest

On BSD-based systems (such as OSX, FreeBSD, etc.) the `cp -R` command
handles these two cases automatically.  However, Linux treats "src/" and
"src" the same.

To support the trailing slash syntax portably, we can use:
    src = "dir"   -> dest/dir
    src = "dir/." -> dest

This works on BSD and Linux.  It is better than using wildcards as it
grabs hidden files as well.

This fixes #1196 that prevents the chef-solo provisioner from working
with the chroot builder.
2014-05-27 19:02:29 -05:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Jaime Soriano Pastor 32bb745734 Force LANG=C before appending rest of environment, as only first occurence is used 2014-05-08 17:11:19 +02:00
Nathan Hartwell be5adb92b5 Appending wildcard to src causes problems
It appears that the desired effect was to support
    src = "dir" -> dest/dir
    src = "dir/" -> dest

but cp -R already handles this, provided the trailing slash does not
get consumed by the shell.

The wildcard causes problems when multiple files match the
shell glob, e.g.

UploadDir("/tmp", "./salt*", [])

where my working dir contains
 - salt
 - salt-foo

will error.
2014-05-02 11:18:56 -05:00
Mitchell Hashimoto 0558d56bcf builder/amazon/chroot: get tests psasing on Windows 2014-04-26 12:31:55 -07:00
Mitchell Hashimoto 4a2793445f builder/amazon/chroot: mount in device-specific places 2013-12-21 09:16:09 -08:00
Mitchell Hashimoto 1234e61cda builder/amazon/all: get rid of unnecessary field 2013-12-12 21:38:48 -08:00
Mitchell Hashimoto 2110edb690 builder/amazon/chroot: remove unused import 2013-12-06 18:32:21 -08:00
Mitchell Hashimoto 2dad0cdca7 builder/amazon/chroot: block when obtaining lock [GH-689] 2013-12-06 18:28:48 -08:00
Mitchell Hashimoto 5d420ce1c1 Revert "Merge pull request #663 from ktruong7/public-AMI"
This reverts commit b2fc77870b, reversing
changes made to 4789d3acc8.

This is already possible by setting groups.
2013-12-06 18:09:05 -08:00
ktruong7 3589b0ba27 Added option to make ami public automatically 2013-11-26 09:59:16 -05:00
Mitchell Hashimoto cc13e6690c builder/amazon/chroot: don't choose partition mount point if taken
[GH-635]
2013-11-19 12:50:33 -08:00
Mitchell Hashimoto 3adbd09639 builder/amazon/chroot: fix compile error 2013-11-08 11:19:10 -08:00
Mitchell Hashimoto 3780b57a1f builder/amazon/chroot: allow no such file errors on upload [GH-588] 2013-11-08 10:53:54 -08:00
Mitchell Hashimoto 17f1ee3e98 builder/amazon/chroot: quote commands and pass through a shell [GH-581] 2013-11-08 10:22:56 -08:00
Mitchell Hashimoto 3cd7379d1f builder/amazon/*: warnings 2013-11-02 22:56:54 -05:00
Mitchell Hashimoto 7f639d89b6 builder/amazon/*,builder/openstack: properly scrub sensitive [GH-554] 2013-11-02 11:34:54 +01:00
Matthew Hooker 79ac16c3d7 builder/amazon/chroot:
Delete files at destination before copy. This should help with the dangling
symbolic link issue we've been seeing with ubuntu.

fixes GH-500
2013-10-17 22:50:02 +00:00
Matthew Hooker 5315b19822 common/config: config filter function [GH-521]
Fixes #521
2013-10-13 11:01:12 -07:00
Matthew Hooker 5c41eccfd5 Fix the way we run commands in chroot.
* Single quotes around chroot command cause it to fail.
* The chroot command also gets passed through the CommandWrapper template, so having sudo would clash with however the user wants to run it.
* Fix spelling mistake.
2013-10-01 09:35:55 +00:00
Mitchell Hashimoto 38d3411f80 builder/amazon/chroot: remove unused comment 2013-09-30 09:35:58 -07:00
Mitchell Hashimoto b554a0dd86 builder/amazon/chroot: CommandWrapper
/cc @mwhooker - I changed the interface up a bit to return an error,
since things should return errors in Go (the ui.Error bit was kind of
ghetto because it had no way to bubble that error up except through the
UI).

Using this, I made it so that the communicator uses both a
CommandWrapper and ShellCommand with chroot so that the chroot commannd
is also wrapped (it wasn't before).

I think the functionality of all this is the same but I'd love if you
could look it over and make sure.
2013-09-30 09:33:57 -07:00
Mitchell Hashimoto 535888d9d8 builder/amazon/chroot: alphebatize the configs
/cc @mwhooker
2013-09-30 09:32:20 -07:00
Matthew Hooker 5f19648268 comment, formatting. 2013-09-29 08:04:57 +00:00
Matthew Hooker a15f629f4f WIP copying files. 2013-09-28 01:10:33 +00:00
Matthew Hooker 831d5caa50 move wrapper definitions around. 2013-09-27 22:08:15 +00:00
Matthew Hooker 39c3051a95 building but there's an exec error. 2013-09-27 20:47:44 +00:00
Matthew Hooker d2f9ba0d11 fixing up types. 2013-09-27 11:55:19 +00:00
Matthew Hooker ac496a63dc replace command config with wrapper command. 2013-09-27 10:54:53 +00:00
Matthew Hooker cebbcc51a6 fix chroot Upload command. 2013-09-27 02:11:28 +00:00
Matthew Hooker de83755c00 wip 2013-09-26 18:34:01 -07:00
Matthew Hooker c15bb28491 bugfixes, wip 2013-09-27 01:28:06 +00:00
Matthew Hooker 1104ad3e17 get chroot command from proper place. 2013-09-26 16:39:37 -07:00
Matthew Hooker 6b1a7938d8 Merge remote-tracking branch 'origin/master' into 430 2013-09-26 16:24:28 -07:00
Matthew Hooker ee60ed319b We're not using this log package. 2013-09-26 02:31:10 -07:00
Matthew Hooker e1dadfc57a Unit tests. 2013-09-26 02:25:57 -07:00
Matthew Hooker 23a331fc00 bugfix. 2013-09-26 01:35:29 -07:00
Matthew Hooker 7740c8fed5 using blocking cp method. 2013-09-26 01:32:53 -07:00
Matthew Hooker 5e9ff92ff3 Revert "notes/reorg."
This reverts commit 73c5aec24d.

Conflicts:
	builder/amazon/chroot/step_copy_files.go
2013-09-26 01:16:51 -07:00
Matthew Hooker ce3725efec wip 2013-09-26 01:08:06 -07:00
Matthew Hooker 7fa238503b wip 2013-09-26 00:58:25 -07:00
Matthew Hooker dd356d33d8 notes/reorg. 2013-09-26 00:31:07 -07:00
Matthew Hooker 5086ff1a4e pass chroot command to /bin/sh
this allows us to specify an arbitrary chroot command, i.e. for sudo
2013-09-25 03:20:22 -07:00
Bob Potter af477a59df Update builder-amazon-chroot to work with WaitForState changes in 7c56148f 2013-09-24 23:44:03 -05:00
Matthew Hooker 1befba24ed Allow user to override chroot command. 2013-09-17 05:58:16 -07:00
Mitchell Hashimoto 27608a7b0f builder/amazon/*: use WaitForState for AMIs 2013-09-12 20:33:32 -07:00
Mark Peek f941718c3e builder/amazon: add clean_ami_name template function
Add a clean_ami_name template function which will translate illegal
characters in an AMI name to '-'. Example usage would be:
    "ami_name": "Ubuntu 12.04 {{isotime | clean_ami_name}}"
2013-09-07 18:42:50 -07:00
James Massara 5bca569fa4 builder/amazon: Re-ordered steps for AMI region copying so tags and
launch permissions are also applied to copied AMIs
2013-09-04 16:06:06 -07:00
Mitchell Hashimoto 80ed7eddf4 builder/amazon/chroot: new multistep API 2013-08-31 12:58:55 -07:00
Mitchell Hashimoto d857c9ccbb builder/amazon/chroot: implement UploadDir for chroot communicator 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 251abc3496 builder/amazon: modify attributes before region copy
/cc @jmassara
2013-08-22 15:35:47 -07:00
Mitchell Hashimoto e7a50133b6 builder/amazon: support tags in chroot and instance 2013-08-22 15:11:54 -07:00
Mitchell Hashimoto 64d87bfaf3 *: switch to packer ConfigTemplate 2013-08-15 19:17:23 -07:00
Mitchell Hashimoto 332bdf6edc builder/*, provisioner/*: set user vars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto b4d18f9d30 builder/amazon/chroot: can modify AMI attributes 2013-08-08 22:52:39 -07:00
Mitchell Hashimoto 5f34ec0ebc builder/amazon/chroot: switch to new template stuff 2013-08-08 17:25:25 -07:00
Mitchell Hashimoto 5b7d8fbc74 rename builder/common to common since it is generally useful 2013-08-01 12:11:54 -07:00
Mitchell Hashimoto 818a10e797 builder/amazon/chroot: use set AMI name 2013-07-30 22:33:41 -07:00
Mitchell Hashimoto 743682d352 builder/amazon/chroot: default volumes dir is relative 2013-07-30 22:31:07 -07:00
Mitchell Hashimoto 07ed22b4fa builder/amazon/chroot: validate that chroot_mounts are 3 elements 2013-07-30 22:29:27 -07:00
Mitchell Hashimoto c0f64f3a1d builder/amazon/chroot: let go of flock earlier for parallelism 2013-07-30 22:25:33 -07:00
Mitchell Hashimoto 3865c33be1 builder/amazon/chroot: fix compilaton on Windows 2013-07-30 21:50:59 -07:00
Mitchell Hashimoto cf99f85f6d builder/amazon/chroot: flock so that device searching is safe 2013-07-30 21:48:37 -07:00
Mitchell Hashimoto b75bd29bfd builder/amazon/chroot: find available device 2013-07-30 21:19:57 -07:00
Mitchell Hashimoto 7857406f3e builder/amazon/chroot: get rid of AttachedDevicePath 2013-07-30 20:48:07 -07:00
Mitchell Hashimoto d23ad907c0 builder/amazon/chroot: register AMI 2013-07-30 18:28:21 -07:00
Mitchell Hashimoto 3667340768 builder/amazon/chroot: switch func type to interface
Was getting weird behavior... see
https://groups.google.com/d/msg/golang-nuts/a1kymwSVt2M/FwcCuBl1_48
2013-07-30 17:56:42 -07:00
Mitchell Hashimoto be5fa9ecdb builder/amazon/chroot: log the exit code for the chroot communicator 2013-07-30 17:23:37 -07:00
Mitchell Hashimoto 8bffbb6f44 builder/amazon/chroot: step to snapshot the root image 2013-07-30 16:58:58 -07:00
Mitchell Hashimoto e418727a09 builder/amazon/chroot: initial len should be 0 so we don't have empty 2013-07-30 16:45:49 -07:00
Mitchell Hashimoto 056292b1dc builder/amazon/chroot: perform early cleanup 2013-07-30 16:41:29 -07:00
Mitchell Hashimoto 2f4bf61f09 builder/amazon/chroot: make sure to remove files before copy 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto aaaad835f6 builder/amazon/chroot: copyfiles support 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto 7ae0f3bafe builder/amazon/chroot: upload should os.Create, not os.Open 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto 5feb11cbb7 builder/amazon/chroot: enable the chroot provisioner 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto 8d3cf7aa59 builder/amazon/chroot: provision within the chroot 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto e0adf3b64e builder/amazon/chroot: unmount in reverse 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto 8cc3743daf builder/amazon/chroot: special case bind fstype 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto af2d314819 builder/amazon/chroot: /bin/sh 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto d7f932244f builder/amazon/chroot: mount extra paths 2013-07-30 16:07:50 -07:00
Mitchell Hashimoto 618e1b1678 builder/amazon/chroot: process MountPath template 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 8d5f404fa7 builder/amazon/chroot: use the attached device path 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 54d020b8c3 builder/amazon/chroot: use mountcommand configs 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 1c34e35574 builder/amazon/chroot: mount the root device 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto ec526d97aa builder/amazon/chroot: more settings, validation 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto cffb35ab33 builder/amazon/chroot: improved logging about what volume created 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 25eca62986 builder/amazon/chroot: fix types 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 76071eafc6 builder/amazon/chroot: only let it run on Linux 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto bbcb2ea46b builder/amazon/chroot: put device in state bag 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto b4435f6890 builder/amazon/chroot: more valid transition states while detaching 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 033218df0d builder/amazon/chroot: Attach volume 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 12e7042c5b builder/amazon/chroot: wait for volume to beecome ready 2013-07-30 16:07:49 -07:00
Mitchell Hashimoto 4773b48794 builder/amazon/chroot: delete the EBS volume after we're done 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto 3a416bb105 builder/amazon/chroot: step to gather instance info 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto fa92377ae5 builder/amazon/chroot: create the volume 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto e24cbc1870 builder/amazon/chroot: extract the source AMI info 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto 7f854902ec builder/amazon/chroot: verify we're on an EC2 instance 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto d166433d4a builder/amazon/chroot: rename to builder-amazon-chroot 2013-07-30 16:07:48 -07:00
Mitchell Hashimoto b645586d58 builder/amazon/chroot: boilerplate 2013-07-30 16:07:48 -07:00