Commit Graph

736 Commits

Author SHA1 Message Date
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 4ab4dbacf9 Merge remote-tracking branch 'origin/master' 2013-09-30 04:46:15 +00:00
Jack Pearkes 26278a7c72 builder/digitalocean: error message key is "message" not "error_message" 2013-09-29 11:01:30 +02: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 36326ee8c2 Merge branch 'master' into 430 2013-09-26 01:04:42 -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
Jason A. Beranek 71358222f0 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-19 23:30:22 -05:00
Mitchell Hashimoto 865f197503 builder/virtualbox: support attaching guest additions [GH-405] 2013-09-18 18:15:46 -07:00
Mitchell Hashimoto cf10fff7fa builder/amazon/common: save access/secret key from env [GH-434] 2013-09-18 13:59:23 -07:00
Jesse Nelson c7e1681163 exclude everything in /tmp, but keep /tmp itself
There is IMO a bug with image builder that it removes /tmp, in the
current setup. This patch makes the image bundle ignore everyting in
/tmp, but keeps /tmp on the box.
2013-09-18 13:42:15 -07:00
Matthew Hooker 1befba24ed Allow user to override chroot command. 2013-09-17 05:58:16 -07:00
Mitchell Hashimoto 692278965f builder/virtualbox: fix scan codes 2013-09-15 23:41:08 -07:00
Mitchell Hashimoto 9f52b78602 fmt 2013-09-15 23:29:29 -07:00
Charlie Sharpsteen efa401e4d2 Fix scancode comment concerning key release
According to the scancode reference, the release key code is generated by
adding `0x80` to the key press code, not `0x81`.
2013-09-15 23:18:55 -07:00
Charlie Sharpsteen 4952737ddb Fix VirtualBox scancodes
Support for the backspace, delete and F1-F12 keys was added in commit 6028a3c.
However, that commit seems to have copied character codes from the vmware
builder into the VirtualBox builder. Character codes are appropriate for VMware
which communicates through a VNC. However, VirtualBox communicates through
simulating raw keyboard input and therefore needs scancodes which are key
press/key release sequences.

This patch converts backspace, delete and F1-F10 to scancodes. F11 and F12 are
not listed in the [scancode reference][scancodes] so they have been omitted.

[scancodes]: http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html
2013-09-15 21:45:11 -07:00
Mitchell Hashimoto eaba28a370 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-15 12:21:21 -07:00
Mitchell Hashimoto 61320b20a9 builder/amazon/common: error if WaitForState can't find resource
repeatably
2013-09-12 20:37:14 -07:00
Mitchell Hashimoto 1bf91e2845 builder/amazon/common: rename instance.go to state.go, makes more sense 2013-09-12 20:33:58 -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
Sean Mackrory 2a04f49bca Using the vm_name parameter to name OVA/OVF files and their attachments 2013-09-06 23:38:31 -07:00
Mitchell Hashimoto 48a53446bf builder/amazon/common: don't need squash here 2013-09-06 11:48:38 -07:00
Mitchell Hashimoto e9d6e83436 builder/amazon/common: support NoDevice [GH-396] 2013-09-06 11:44:57 -07:00
Mitchell Hashimoto 0e2511767e builder/amazon/common: if instance query returns none, ignore 2013-09-05 17:19:23 -07:00
Mitchell Hashimoto f2069c1cd6 Merge pull request #388 from jmassara/ami_region_copy
builder/amazon/all: AMI region copy fixes
2013-09-05 17:14:16 -07:00
Mitchell Hashimoto acd9f3c9a3 builder/vmware: always set msg.AutoAnswer 2013-09-05 13:44:57 -07:00
Mitchell Hashimoto 3fc00a2dfa builder/vmware: auto-answer dialogs [GH-393] 2013-09-05 13:43:01 -07:00
Mitchell Hashimoto ed7e0847fd builder/amazon/all: TemporaryKeyPairName
/cc @whostolebenfrog - I actually simplified things quite a bit. I added
a "uuid" global template function so it just uses that now. I renamed it
so that it is clear it is a temporary keypair.
2013-09-05 12:23:08 -07:00
Mitchell Hashimoto a93a17971b Merge pull request #389 from whostolebenfrog/master
builder/amazon/ebs: Allow customization of temporary ssh key name
2013-09-05 12:10:03 -07:00
Mitchell Hashimoto e732d86142 builder/virtualbox: process hdd interface as template, validate 2013-09-05 12:07:58 -07:00
Justin Bronn dbc24d9357 Enable customization of VirtualBox disk controller with `hard_drive_interface` option (SATA only). 2013-09-05 11:00:08 -07:00
Ben Griffiths f953874448 Allow customization of SSH Key pair pattern
Defined in a template using ssh_keypair_pattern. Defaults to "packer %s"
2013-09-05 13:28:31 +01:00
Mitchell Hashimoto 1df0735713 builder/digitalocean: retry longer and don't retry shutdown 2013-09-04 23:01:37 -07:00
Mitchell Hashimoto 362c32015d builder/digitalocean: retry pending events a lot more 2013-09-04 23:00:54 -07:00
Mitchell Hashimoto 78302f2071 builder/digitalocean: get compilation working again 2013-09-04 22:53:37 -07:00
Mitchell Hashimoto 94d369f558 builder/digitalocean: give up on graceful shutdown more quickly 2013-09-04 22:51:28 -07:00
Mitchell Hashimoto 8643c70e35 builder/digitalocean: proper timeouts so poweroff retries 2013-09-04 22:26:05 -07:00
Mitchell Hashimoto aedd1555d3 builder/digitalocean: properly cleanup goroutines for status checking 2013-09-04 22:21:59 -07:00
Mitchell Hashimoto 4af230a4dc builder/digitalocean: actually, we want to try hard on shutdown 2013-09-04 22:14:30 -07:00
Mitchell Hashimoto 39f7a5a617 builder/digitalocean: break loop if we reach off state
Otherwise we get stuck in a long loop. Whoops.
2013-09-04 22:07:19 -07:00
Mitchell Hashimoto 82b46816d3 builder/digitalocean: retry power off a number of times
See comment.
2013-09-04 21:59:58 -07:00
Mitchell Hashimoto 306ebcf042 builder/digitalocean: looser pending event string matching.
Most APIs return "has a pending event" but power off seems to return
"already a pending event". WTF. Also, just wtf at the DigitalOcean API.
I can't wait until they change their english and this breaks. Because
it is definitely going to happen, and it's going to be such a fun time.
2013-09-04 21:29:07 -07:00
Mitchell Hashimoto 302871113a builder/digitalocean: retry on any pending event errors
/cc @pearkes - I hate this thing.
2013-09-04 21:20:41 -07:00
James Massara 985ce790d0 Also deregister AMI if it was copied to other regions 2013-09-04 17:48:00 -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
Tom Hite ba1ca4d2fb changed error string referring to 'ova' and 'ovf' to refer to 'qcow2' and 'img' as the former were stray leftovers from the virtualbox code used as a basis for this plugin. 2013-09-03 20:13:45 -05:00
Tom Hite 29557f36f1 removed a few stray 'VirtualBox' term uses in comments and docs. 2013-09-03 18:13:05 -05:00
Tom Hite 63ad753317 Merge remote-tracking branch 'upstream/master' 2013-09-03 10:10:59 -05:00
Tom Hite d58a209b73 added network and disk driver options, also a source comment on the kickstart file in the docs (I can't find the original source). 2013-09-03 10:08:04 -05:00
Tom Hite 30d004022e Initial checkin to GitHub -- has extensive changes to conform to the latest API model to match the 0.3.6 (Sept. 2, 2013) release. 2013-09-02 22:23:52 -05: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
Greg Karékinian 2378b652ca Fix typo
s/Detatching/Detaching/
2013-09-02 12:46:47 +02: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
Mitchell Hashimoto 8abc6dd178 Merge pull request #375 from justinsb/avoid_nil_pointer_if_no_openstack_image
builder/openstack: If no image is generated, just return nil
2013-08-31 22:01:55 -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 d8b048662f builder/digitalocean: retry destroy a few times 2013-08-31 21:32:35 -07:00
Mitchell Hashimoto 0231d798e4 builder/amazon/instance: new multistep API 2013-08-31 13:03:13 -07:00
Mitchell Hashimoto b04cff5a9e builder/amazon/ebs: new multistep API 2013-08-31 13:00:43 -07:00
Mitchell Hashimoto 80ed7eddf4 builder/amazon/chroot: new multistep API 2013-08-31 12:58:55 -07:00
Mitchell Hashimoto f74ff91166 builder/vmware: new multistep API 2013-08-31 12:50:25 -07:00
Mitchell Hashimoto 1a3620d77a builder/virtualbox: new multistep API 2013-08-31 12:44:58 -07:00
Mitchell Hashimoto 77f7f24990 builder/openstack: new multistep API 2013-08-31 12:37:07 -07:00
Mitchell Hashimoto 94b76036fc builder/digitalocean: new multistep API 2013-08-31 12:25:08 -07:00
Mitchell Hashimoto 8019cd1839 builder/amazon: don't chmod on windows 2013-08-30 15:04:23 -07:00
Mitchell Hashimoto 4bb320d86f builder/amazon: chmod debug key so it is ssh-ready 2013-08-30 15:03:29 -07:00
Mitchell Hashimoto 9186a7f214 builder/amazon: output DNS name if debug mode 2013-08-30 14:55:56 -07:00
Mitchell Hashimoto 57f185451a builder/amazon: drop private key if debug mode [GH-373] 2013-08-30 14:48:50 -07:00
Mitchell Hashimoto d54b0bd629 builder/vmware: support key based SSH auth [GH-70] 2013-08-27 22:57:42 -07:00
Mitchell Hashimoto a6735b1d65 builder/virtualbox: support ssh keys as auth mechanism [GH-70] 2013-08-27 22:55:13 -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
Mitchell Hashimoto 1566b4d858 builder/vmware: support vmx_template_path [GH-270] 2013-08-27 17:23:28 -07:00
Mitchell Hashimoto c753946c84 builder/vmware: ability to not request a PTY for SSH [GH-270] 2013-08-27 16:51:05 -07:00
Mitchell Hashimoto 2011e09847 Merge pull request #339 from mitchellh/do-soft-shutdown
builder/digitalocean: send a "shutdown" before snapshotting
2013-08-27 16:35:30 -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
Mitchell Hashimoto d857c9ccbb builder/amazon/chroot: implement UploadDir for chroot communicator 2013-08-25 20:30:56 -07:00
Jack Pearkes 315d4ce5f5 builder/digitalocean: send a "shutdown" before snapshotting
Instead of pulling the plug on a droplet with the "poweroff" command,
we first send a soft shutdown to the API, then we poweroff to allow
the snapshot to properly complete.

Sending just a shutdown and then snapshotting wasn't as reliable as
sending the poweroff manually, for reasons unknown to me.

This fixes #332.
2013-08-24 13:04:51 +02:00
Mitchell Hashimoto f76a09fc08 builder/amazon/instance: remove check for AMI tools [GH-330] 2013-08-23 15:53:54 -07:00
Mitchell Hashimoto 251abc3496 builder/amazon: modify attributes before region copy
/cc @jmassara
2013-08-22 15:35:47 -07:00
Mitchell Hashimoto 42beac4516 builder/amazon/common: modify output for AMI copy 2013-08-22 15:32:24 -07:00
Mitchell Hashimoto e7a50133b6 builder/amazon: support tags in chroot and instance 2013-08-22 15:11:54 -07:00
Mitchell Hashimoto d03c852ac2 builder/amazon/common: move tags into ami_config 2013-08-22 15:09:21 -07:00
Mitchell Hashimoto ef142ce886 builder/amazon: region copy must go before modify attributes
/cc @jmassara - This has to go before the modify attributes so that
the attributes are properly modified on all resulting AMIs.
2013-08-22 15:03:30 -07:00
Mitchell Hashimoto a4f674f8ed builder/amazon/common: remove duplicates from ami_region
/cc @jmassara
2013-08-22 14:58:21 -07:00
Mitchell Hashimoto 71b9b5bfe0 Merge pull request #322 from jmassara/ami_region_copy
amazon/common: Added AMI CopyImage support
2013-08-22 14:44:03 -07:00
Justin Bronn c6d1c8e9d5 Make it possible to customize the VMware virtual disk type id. 2013-08-22 11:40:56 -07:00
James Massara c9de4c9644 Make sure ami_regions are valid 2013-08-21 18:44:14 -07:00
James Massara 228d0d593a amazon/common: Added AMI CopyImage support 2013-08-21 13:53:07 -07:00
Mitchell Hashimoto 7647b12eab builder/virtualbox: fmt 2013-08-19 16:24:29 -07:00
Mitchell Hashimoto 1fdaadb08c website: document formats feature 2013-08-19 16:10:49 -07:00
Johan Siebens a19bd564d3 builder/virtualbox: export to ovf or ova (default ovf) 2013-08-19 20:21:36 +02:00
Mitchell Hashimoto 45f3ca13cb builder/digitalocean: use HTTP proxy if in env 2013-08-18 20:29:54 -06:00
Mitchell Hashimoto c5823be2e0 builder/amazon: fix crash case if SIGINT while waiting for instance 2013-08-17 09:45:23 -06:00
Jack Pearkes 0dce7086dc builder/digitalocean: better handling of url params in api requests 2013-08-16 19:47:22 +02:00
Mitchell Hashimoto 3fc069c48b builder/vmware: interrupts work during VNC type on VMware 2013-08-16 09:07:27 -07:00
Mitchell Hashimoto b49fe4971a builder/amazon: modifying more than one AMI attribute type works 2013-08-15 20:28:35 -07:00
Mitchell Hashimoto 64d87bfaf3 *: switch to packer ConfigTemplate 2013-08-15 19:17:23 -07:00
Mitchell Hashimoto 334cf37fbb builder/vmware: support iso_urls for multiple URLs [GH-110] 2013-08-15 17:46:41 -07:00
Mitchell Hashimoto c0265d108a builder/virtualbox: iso_urls for multiple ISO urls [GH-110] 2013-08-15 17:46:41 -07:00
Mitchell Hashimoto b872448758 builder/vmware: switch to common download step 2013-08-15 17:46:41 -07:00
Mitchell Hashimoto 0d152f541f builder/virtualbox: remove unused function 2013-08-15 17:46:40 -07:00
Mitchell Hashimoto 562ea28a79 builder/virtualbox: switch download guest additions to use new common 2013-08-15 17:46:40 -07:00
Mitchell Hashimoto bb352e5011 common: Add new StepDownload to DRY up downloads 2013-08-15 17:46:40 -07:00
Mark Peek 91670cea07 builder/amazon: add block device mappings [GH-90] 2013-08-15 14:05:08 -07:00
Jeremy Carroll 0a0c0c89c6 Was missing sending IAM profile data to instance store builders. 2013-08-14 19:03:41 -07:00
Mitchell Hashimoto 71664cb34e common: return -1 download percent if download hasn't started [GH-288] 2013-08-14 11:15:47 -04:00
Mitchell Hashimoto 0ba17a1a50 builder/virtualbox: Don't validate guest additions URL so early because it requires template 2013-08-14 09:59:09 -04:00
Mitchell Hashimoto 171ecaefa6 builder/virtualbox: guest-additions_url can use Version var [GH-272] 2013-08-13 22:11:15 -04:00
Mitchell Hashimoto 2d2eefcf33 builder/virtualbox: instantiate driver in Run method 2013-08-13 08:55:33 -07:00
Mitchell Hashimoto b879b17b1c builder/vmware: create driver in Run method 2013-08-13 08:54:12 -07:00
Mitchell Hashimoto 1b2d9c4044 builder/vmware: find files if they exist [GH-279] 2013-08-12 16:13:06 -07:00
Mitchell Hashimoto c2506e9410 builder/vmware: fix windows builds 2013-08-12 14:01:50 -07:00
Mitchell Hashimoto 7cc9aa36ff builder/amazon/common: correct logic in deleting secutiry group 2013-08-12 13:43:52 -07:00
Mitchell Hashimoto 48b9da2feb builder/amazon/common: retry deleting security group [GH-278] 2013-08-12 13:34:55 -07:00
Mitchell Hashimoto 09fb6ca593 builder/amazon/all: support user data file 2013-08-12 11:53:50 -07:00
Mitchell Hashimoto 3ff3746969 builder/amazon/common: support user_data_file 2013-08-12 11:52:43 -07:00
Mitchell Hashimoto f69b365f39 Merge pull request #253 from phobos182/master
builder/amazon/common: added passing UserData to goamz.
2013-08-12 11:36:15 -07:00
Mitchell Hashimoto 060ae56b2d builder/vmware: nitpick some styles
/cc @rasa - I changed up quite a bit here. I tried to reduce function
count if possible, renamed some functions, etc. Overall the
functionality was all spot on, but I felt the functions were too
specialized. Thanks!
2013-08-09 17:31:43 -07:00
Ross Smith II 1e18249da9 fixed typo in vmware path on Windows XP, fixes #237/#238 2013-08-09 17:10:05 -07:00
Ross Smith II d4c45b412e Add support for VMWare Workstation on Windows XP, fixes #237 2013-08-09 17:09:55 -07:00
Mitchell Hashimoto 332bdf6edc builder/*, provisioner/*: set user vars 2013-08-09 15:57:08 -07:00
Jeremy Carroll 6599f5a255 Log error messages from goamz. 2013-08-09 11:55:34 -07:00
Mitchell Hashimoto b4d18f9d30 builder/amazon/chroot: can modify AMI attributes 2013-08-08 22:52:39 -07:00