Commit Graph

206 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto d8b048662f builder/digitalocean: retry destroy a few times 2013-08-31 21:32:35 -07:00
Mitchell Hashimoto 94b76036fc builder/digitalocean: new multistep API 2013-08-31 12:25:08 -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 45f3ca13cb builder/digitalocean: use HTTP proxy if in env 2013-08-18 20:29:54 -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 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 0a31fac749 builder/digitalocean: use new template processing 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 56c3cbfb2a builder/common: common config struct for Packer configs 2013-07-23 22:48:31 -05:00
Mitchell Hashimoto 16d102d055 builder/*: switch to MultiErrorAppend 2013-07-19 19:08:25 -04:00
Mitchell Hashimoto 42059f9b07 builder/*: extract to common the config decoding 2013-07-19 15:00:32 -04:00
Mitchell Hashimoto 8e1e40c096 builder/*: convert to common StepProvision 2013-07-16 15:44:41 +09:00
Mitchell Hashimoto 3bf49d1c66 builder/digitalocean: use common connect ssh 2013-07-15 14:14:23 +09:00
Mitchell Hashimoto 05acb7b461 builder/digitalocean: unexport calcaulted settings 2013-07-14 21:20:29 +09:00
Mitchell Hashimoto a0f1667df1 communicator/ssh: tweakable timeout on retry connection 2013-07-14 21:05:22 +09:00
Mitchell Hashimoto 9718a4656c communicator/ssh: have a Connection func so we can re-establish
[GH-152]
2013-07-14 20:22:57 +09:00
Mitchell Hashimoto 3b4ef72e47 Unused keys are invalid in templates [GH-104] 2013-07-14 09:28:56 +09:00
Jack Pearkes 490279c6b9 builder/digitalocean: add tests for credentials via env vars 2013-07-12 09:47:45 +02:00
Jack Pearkes d701adb3e0 builder/digitalocean: use detected env variables for credentials 2013-07-11 11:31:09 +02:00
Jack Pearkes e11fbcdad2 builder/digitalocean: display friendler API error messages
Fixes #85
2013-07-01 09:29:45 +02:00
Mitchell Hashimoto 8a609b67c1 builder/*: Fail if provisioning fails [GH-33] 2013-06-26 17:54:57 -07:00
Mitchell Hashimoto fd44adf2aa builder/digitalocean: Make tests pass again 2013-06-24 09:25:00 -07:00
Jack Pearkes 76c2fcee87 website: update digitalocean state_timeout default 2013-06-24 09:07:33 +02:00
Jack Pearkes 513c8bc4bb builder/digitalocean: raised state_timeout default to 6 minutes [GH-26] 2013-06-24 09:03:25 +02:00
Jack Pearkes ba8fbc8621 builder/digitalocean: add configurable state_timeout
The state_timeout config allows you to determine the timeout
for "waiting for droplet to become [active, off, etc.]".

This still defaults to 3 minutes.
2013-06-23 12:51:51 +02:00
Mitchell Hashimoto 1da55ab4b6 builder/digitalocean: Reattempt SSH handshake a few times
I ran into a few cases where the droplet was active and a TCP connection
could be made, but SSH wasn't running yet and the handshake failed. A
race condition with the machine boot. This will retry the SSH handshake
a few times.

/cc @pearkes
2013-06-21 23:02:13 -07:00
Mitchell Hashimoto da4dfbcd12 builder/digitalocean: Properly return errors 2013-06-19 21:00:51 -07:00
Mitchell Hashimoto 867e9d1c8f builder/digitalocean: timeout TCP connections to SSH 2013-06-19 13:26:08 -07:00
Mitchell Hashimoto b78fd17a0a builder/digitalocean: compile with scrub changes 2013-06-19 13:26:03 -07:00
Mitchell Hashimoto a775c97907 builder/digitalocean: Scrub sensitive information out of logs
/cc @pearkes
2013-06-19 13:18:53 -07:00
Mitchell Hashimoto 70fa3fbaac builder/digitalocean: fmt 2013-06-18 22:02:09 -07:00
Mitchell Hashimoto 264e59d75d builder/digitalocean: Implement Artifact destroy
/cc @pearkes
2013-06-18 21:54:15 -07:00
Mitchell Hashimoto b9fb065d27 packer: Add Destroy method to artifact
[GH-18]
2013-06-18 16:01:14 -07:00
Jack Pearkes 4236ffc8eb builder/digitalocean: only execute the snapshotname template if parsed 2013-06-18 00:06:59 +02:00
Jack Pearkes e62bcefcb8 builder/digitalocean: check for err parsing template for snapshot name 2013-06-17 23:54:28 +02:00
Jack Pearkes 6eb0568f07 builder/digitalocean: print bad status code as string 2013-06-17 14:54:24 +02:00
Jack Pearkes 341cfb2c2d builder/digitalocean: improve error messages from DO api 2013-06-17 14:54:18 +02:00
Jack Pearkes 477ac8cd31 builder/digitalocean: use text/template for the snapshot name 2013-06-17 14:21:15 +02:00
Jack Pearkes 1e17e90acd builder/digitalocean: add configurable "event_delay" for sleeps 2013-06-17 13:28:21 +02:00
Jack Pearkes c12e9ff9a8 builder/digitalocean: implement artifacts with the snapshot name 2013-06-17 13:01:42 +02:00
Jack Pearkes 25d5874042 builder/digitalocean: generate temp rsa keypairs for ssh communication 2013-06-15 22:43:18 +02:00
Mitchell Hashimoto d8cdc88cbe builder/digitalocean: Make tests pass
/cc @pearkes
2013-06-15 11:11:03 -07:00
Mitchell Hashimoto f289ddce60 builder/digitalocean: Add support for -debug mode
/cc @pearkes
2013-06-15 11:09:26 -07:00
Mitchell Hashimoto 03d7a7f6b5 builder/digitalocean: Adhere to new interface, make default in Packer
@pearkes: I added "digital-ocean" to the default config since it will
be shipping with Packer. :)
2013-06-15 11:06:39 -07:00
Jack Pearkes 8ba8932552 builder/digitalocean: No need for destroy steps, builder works! 2013-06-14 15:26:03 +02:00
Jack Pearkes a774e2b444 builder/digitalocean: completed initial pass at all steps. 2013-06-13 19:56:34 +02:00
Jack Pearkes dd6e4e4933 builder/digitalocean: connect_ssh, create_droplet, droplet_info 2013-06-13 18:48:19 +02:00
Jack Pearkes 4e6993909c builder/digitalocean: builder config tests and create_ssh_key step 2013-06-13 17:58:06 +02:00
Jack Pearkes 787a3178b3 builder/digitalocean: WIP commit of api interface and initial config 2013-06-13 16:03:10 +02:00