Commit Graph

428 Commits

Author SHA1 Message Date
Mitchell Hashimoto 1812efe3b5 communicator/ssh: use SetExited 2013-07-29 12:12:42 -07:00
Mitchell Hashimoto 1400645d69 packer/rpc: Use the SetExited for remote communicators 2013-07-29 12:07:37 -07:00
Mitchell Hashimoto 6a940d9ea8 packer: use locks/conds to avoid races on RemoteCmd.Exited [GH-42] 2013-07-29 12:04:58 -07:00
Mitchell Hashimoto beb97af6ce Up version for dev 2013-07-26 10:15:35 -07:00
Mitchell Hashimoto 801a13dd38 v0.2.1 2013-07-26 09:54:05 -07:00
Mitchell Hashimoto 74ef543d5c packer/plugin: connect stdin to parent stdin 2013-07-25 21:24:49 -05:00
Mitchell Hashimoto 17acee653b packer: In the case of an error, close stdout/stderr writers 2013-07-23 22:46:51 -05:00
Mitchell Hashimoto 3641c1a708 packer: Preserve original stdout/stderr on StartWithUi
/cc @sit
2013-07-23 22:38:03 -05:00
Mitchell Hashimoto 32c84c17b1 packer: RemoteCmd.StartWithUi thanks to @sit
I ended up working on this on my own outside your PR, sorry, but it is
basically the same as yours.
2013-07-23 22:35:05 -05:00
Mitchell Hashimoto bd1fe21718 packer/rpc: remove unused test file 2013-07-23 13:45:35 -07:00
Mitchell Hashimoto 38ae1a0ba9 packer: Properly handle ? in URLs in cache keys
/cc @sit - Found another edge case
2013-07-20 19:20:29 -07:00
Mitchell Hashimoto f64fd019e5 packer: Extension works properly with URLs too
/cc @sit
2013-07-20 16:53:55 -07:00
Mitchell Hashimoto cf9bc2c819 packer: Use strings operations, faster than regexp and easy
/cc @sit
2013-07-20 16:50:18 -07:00
Emil Sit 27da543a41 packer/cache: Preserve any extension found on keys
This allows us to hand cache paths to any programs that may want to
interpret file extensions in order to behave differently. For
example, VirtualBox may want ISO images to end with .iso.
2013-07-20 00:19:05 -04:00
Emil Sit fd1ec31a1d packer/cache: Extract cache path calculation to method 2013-07-20 00:15:14 -04:00
Mitchell Hashimoto 7d1f799ced builder/*: switch to MultiErrorAppend 2013-07-19 19:08:25 -04:00
Mitchell Hashimoto 40ec63d349 packer: MultiErrorAppend helper method. 2013-07-19 18:14:50 -04:00
Mitchell Hashimoto c80db71361 packer: fix failing tests 2013-07-19 14:13:02 -04:00
Julian Phillips dca4fabd1b packer/template: Remove name from builder rawConfig
This prevents the builder from rejecting the name (which it doesn't
know about) when validating the config.
2013-07-19 15:36:13 +01:00
Julian Phillips a31fd29b8b packer/template: Test that builder.rawConfig excludes name
The name isn't actually part of the builder config, so it should be
removed during parsing.
2013-07-19 15:35:05 +01:00
Mitchell Hashimoto 8cb035cc65 Up version for dev 2013-07-16 11:44:15 -07:00
Mitchell Hashimoto bdc44a53ab v0.2.0 2013-07-16 11:26:02 -07:00
Mitchell Hashimoto b1c7d93ee8 packer: Make builder type available in configs [GH-154] 2013-07-15 09:58:32 +09:00
Mitchell Hashimoto a47ad137a0 packer: move constants into a single const() 2013-07-15 09:55:41 +09:00
Mitchell Hashimoto 85f92e35f6 Merge pull request #181 from qur/overrides
packer: Delete "override" key for config passed to provisioners
2013-07-14 17:22:01 -07:00
Mitchell Hashimoto 2895523e45 packer: Add failing test for [GH-181] to fix 2013-07-15 09:21:19 +09:00
Julian Phillips 37f78fe796 Don't expose overrides directly to provisioners
The overrides are processed, so that the provisioner only sees the
appropriate sub-settings, so the provisioner does not need the raw
overrides.

If we leave the top-level overrides object in the provisioner
configuration, then it will be rejected as an unknown configuration
key.
2013-07-14 22:10:20 +01:00
Mitchell Hashimoto b358a0ea6e Error if unknown root level key in template [GH-180] 2013-07-14 10:29:14 +09:00
Mitchell Hashimoto 7c2f50d4dc fmt 2013-07-13 10:01:27 +09:00
Jason A. Beranek 71a1bd7354 Add support for -force flag on builds [GH-119] 2013-07-11 23:43:23 -05:00
Mitchell Hashimoto eaa6c9fec1 packer: Only trim whitespace on the right of prefixed UI 2013-07-09 12:41:36 -07:00
Mitchell Hashimoto 207c15b91b packer: only show git commit in version output for prerelease 2013-07-08 15:38:14 -07:00
Mitchell Hashimoto 3b32ba9f11 scripts: Add git commit to builds 2013-07-08 15:37:01 -07:00
Mitchell Hashimoto d4e8321a80 Up version for dev 2013-07-08 15:17:23 -07:00
Mitchell Hashimoto 3adc5e03d7 v0.1.5 2013-07-07 21:09:47 -07:00
Mitchell Hashimoto ef1ec3708b packer/rpc: Properly close net.conn when remote process ends 2013-07-07 20:59:43 -07:00
Mitchell Hashimoto 73154286fc Up version for dev 2013-07-03 11:06:39 -07:00
Mitchell Hashimoto df560dbbe1 v0.1.4 2013-07-02 22:16:13 -07:00
Mitchell Hashimoto 8ce8171ec1 packer: PrefixedUi properly prefixes each line of output 2013-07-02 12:28:25 -07:00
Mitchell Hashimoto 3f9df2992c post-processor/vagrant: make output contain build name by default
[GH-92]
2013-07-01 15:07:09 -07:00
Mitchell Hashimoto 400faa57a5 packer: Send packerConfig into PostProcessors 2013-07-01 15:00:21 -07:00
Mitchell Hashimoto fc78bf3dd6 packer: PostProcessor can take multiple configs 2013-07-01 14:59:23 -07:00
Mitchell Hashimoto 8cf21324dc packer: extra comments on JSON syntax error calc 2013-07-01 14:47:49 -07:00
Mitchell Hashimoto 974ac26c9c packer: Clean up some of the JSON syntax stuff 2013-07-01 14:46:32 -07:00
Mitchell Hashimoto b6884da2a1 Merge pull request #95 from markpeek/markpeek-jsonerror
packer: Provide line number for invalid json syntax [GH-56]
2013-07-01 14:38:01 -07:00
Mitchell Hashimoto 9f17257f19 Up version for development 2013-07-01 14:37:43 -07:00
Mark Peek 5bf33a0e91 Provide line number for invalid json syntax [GH-56] 2013-07-01 13:30:08 -07:00
Mitchell Hashimoto f623c0cb3b v0.1.3 2013-07-01 11:40:49 -07:00
Mitchell Hashimoto f270701858 packer: PostProcessor API change so they can keep artifacts [GH-55] 2013-07-01 11:30:39 -07:00
Mitchell Hashimoto b781077ed9 fmt 2013-07-01 11:07:25 -07:00
Mitchell Hashimoto 8120cf9adf packer: Add BuildNameConfigKey to all configs which has the build name 2013-07-01 11:06:28 -07:00
Mitchell Hashimoto 222b15e8f3 packer/plugin: Println should be Printf 2013-07-01 11:01:23 -07:00
Mitchell Hashimoto 60c0cb6fc8 packer/rpc: Tests passing again 2013-07-01 10:45:51 -07:00
Mitchell Hashimoto 6f705d5bcb packer/rpc: Listen on 127.0.0.1 specifically to avoid hangs 2013-07-01 09:39:34 -07:00
Mitchell Hashimoto 0021f31931 Up version for development 2013-06-29 14:16:26 -07:00
Mitchell Hashimoto 00a16a7ce9 v0.1.2 2013-06-29 14:03:39 -07:00
Mitchell Hashimoto 377f7ba3cd packer: Template requires builders 2013-06-29 14:02:20 -07:00
Mitchell Hashimoto a35cbfc4da packer/plugin: Assume any listen error is a port collision [GH-58] 2013-06-29 13:35:24 -07:00
Mitchell Hashimoto a45f843ccb Up version for dev 2013-06-29 12:26:15 -07:00
Mitchell Hashimoto 7db468f55e v0.1.1 2013-06-28 22:41:30 -04:00
Mitchell Hashimoto a1c0ff0c90 packer/plugin: Bind to 127.0.0.1. Somehow fixes [GH-37] 2013-06-28 21:45:18 -04:00
Mitchell Hashimoto b69e983474 packer/plugin: Extra logging statements 2013-06-28 16:01:49 -04:00
Mitchell Hashimoto 3dc96bd21f Up the version to 0.1.0 2013-06-28 10:33:16 -04:00
Mitchell Hashimoto 82bbbbbf32 fmt 2013-06-28 09:44:03 -04:00
Mitchell Hashimoto b308c942d5 packer: Builds use their own UI [GH-21] 2013-06-27 21:55:59 -04:00
Mitchell Hashimoto 8d638aaa75 packer: Don't run post-processors if artifact is nil 2013-06-27 18:50:02 -04:00
Mitchell Hashimoto 9e786cf754 packer: Provisioner/Hook can have errors returned 2013-06-26 17:50:25 -07:00
Mitchell Hashimoto dd92d492ee packer/plugin: No need for a panic when plugins error 2013-06-25 14:30:08 -05:00
Mitchell Hashimoto 3e1d902560 packer/plugin: Require the magic cookie to be present to run
This is just a silly check to make sure people aren't executing
the plugins directly. If they are, a nicer error message is shown.
2013-06-25 14:27:20 -05:00
Mitchell Hashimoto 58e677d112 packer: Ui.Message should Fprint, not Fprintf 2013-06-23 23:06:59 -07:00
Mitchell Hashimoto a68f6bf6de packer: Better docs for communicator interface 2013-06-20 14:46:25 -07:00
Mitchell Hashimoto ebccdda8ab packer/rpc: Wrap errors in BasicError for RPC config errors 2013-06-20 12:55:11 -07:00
Mitchell Hashimoto b37c171676 Begin work on the dist.sh script to create the distribution 2013-06-19 22:20:52 -07:00
Mitchell Hashimoto 7dbe330099 packer: Discard log output in tests 2013-06-18 23:18:21 -07:00
Mitchell Hashimoto f76027d449 packer: Improved logging around build runs 2013-06-18 23:05:02 -07:00
Mitchell Hashimoto 360a6939a4 packer: Post-process chain works properly 2013-06-18 22:58:23 -07:00
Mitchell Hashimoto d3e120c6fb command/build: Say if no artifacts were created 2013-06-18 22:53:30 -07:00
Mitchell Hashimoto dabe7ac584 packer: keep_input_artifact will keep prior artifact in a PP
[GH-19]
2013-06-18 22:45:53 -07:00
Mitchell Hashimoto 72f5d84cb7 fmt 2013-06-18 21:54:33 -07:00
Mitchell Hashimoto 593295c7d9 packer: Build only adds post-processor artifact if not nil 2013-06-18 21:15:14 -07:00
Mitchell Hashimoto a8b66cf020 packer/rpc: Convert any errors in configure to basic error 2013-06-18 21:04:33 -07:00
Mitchell Hashimoto 6e0685047e packer/rpc: Environment.PostProcessor() properly sets thigns up 2013-06-18 20:54:40 -07:00
Mitchell Hashimoto 9e78cbaa89 packer: PostProcessor takes a UI [GH-20] 2013-06-18 20:38:21 -07:00
Mitchell Hashimoto 338298b8af command/build, command/validate: Setup proper components to avoid nil 2013-06-18 16:29:29 -07:00
Mitchell Hashimoto 0f354c79d1 packer: Add Destroy method to artifact
[GH-18]
2013-06-18 16:01:14 -07:00
Mitchell Hashimoto 51fe46e6d9 packer/plugin: Support PostProcessor 2013-06-18 13:49:07 -07:00
Mitchell Hashimoto 9b9af6dc9d packer/rpc: Support PostProcessor 2013-06-18 13:44:57 -07:00
Mitchell Hashimoto ca7e8dbb74 Allow post-processors in the core configuration 2013-06-18 11:00:31 -07:00
Mitchell Hashimoto e2534fe88d packer: Build runs the post-processors 2013-06-18 10:54:29 -07:00
Mitchell Hashimoto 04a8bfb455 packer: Post-processors are configured 2013-06-18 10:31:52 -07:00
Mitchell Hashimoto 1015df8fa8 packer: Build can return multiple artifacts 2013-06-18 10:24:23 -07:00
Mitchell Hashimoto dab3eb5ece packer/rpc: Get RPC compliant with Environment again 2013-06-18 10:05:45 -07:00
Mitchell Hashimoto 91a6a7797d packer: builds now have post processors as part of them 2013-06-18 09:58:39 -07:00
Mitchell Hashimoto 18f9677b54 packer: Environment can look up post processors 2013-06-18 09:49:05 -07:00
Mitchell Hashimoto 6a549f0548 packer: panic if Prepare called twice on build, lock 2013-06-18 09:37:49 -07:00
Mitchell Hashimoto 7522c36112 packer: Avoid an extra allocation by using clever addressing 2013-06-18 09:30:23 -07:00
Mitchell Hashimoto 9bd36a76e8 packer: Parse post-processors in templates
This includes parsing for the simple, detailed, and sequential
processors.
2013-06-18 09:27:08 -07:00
Mitchell Hashimoto 206ec4e5bf fmt 2013-06-17 15:19:33 -07:00
Mitchell Hashimoto 9bcca1a77b packer: An initial PostProcessor interface 2013-06-17 11:56:26 -07:00
Mitchell Hashimoto 1cbd3d6a9f packer: Output a newline when interrupted for UI 2013-06-17 11:40:57 -07:00
Mitchell Hashimoto c1e7d4314f packer: If interrupted, Ask is disabled 2013-06-15 18:25:34 -07:00
Mitchell Hashimoto 676041dc15 packer: Ui can return an error for Ask, returns one for interrupt 2013-06-15 18:24:38 -07:00
Mitchell Hashimoto abbf9798b4 packer/rpc: Panic in error case 2013-06-15 11:27:09 -07:00
Mitchell Hashimoto 3435e63b52 packer: Get rid of "name" in template, wasn't used for anything 2013-06-15 11:14:44 -07:00
Mitchell Hashimoto 22e7345148 packer: Ui requires input for Ctrl-C 2013-06-14 17:37:38 -07:00
Mitchell Hashimoto ea01d7b2c6 fmt 2013-06-14 16:00:16 -07:00
Mitchell Hashimoto 9a69b21025 packer: Ui.Ask quits during interrupt 2013-06-14 15:59:54 -07:00
Mitchell Hashimoto 21b6d2a435 builder/common: multistep debug fn gracefully exits during an interrupt 2013-06-14 15:47:06 -07:00
Mitchell Hashimoto e0f2bcf8a2 packer: Add "Ask" method to Ui to ask for input 2013-06-14 15:17:03 -07:00
Mitchell Hashimoto cbd3f59578 builder/vmware: Enable the debug runner 2013-06-14 15:07:34 -07:00
Mitchell Hashimoto 8217e64a8d packer: Set DebugConfigKey to true if debug is on 2013-06-14 12:38:54 -07:00
Mitchell Hashimoto fd044982d9 packer: Additional comments 2013-06-14 12:32:14 -07:00
Mitchell Hashimoto 9f5a247511 packer: Builders can take multiple configs 2013-06-14 12:27:50 -07:00
Mitchell Hashimoto a45c7fb0ea packer: Add SetDebug to Build objects 2013-06-14 12:22:19 -07:00
Mitchell Hashimoto e00a30e729 packer: Comments on Build interface 2013-06-14 12:15:51 -07:00
Mitchell Hashimoto a35feebe70 packer: Build no longer takes Ui for Prepare 2013-06-13 10:08:31 -07:00
Mitchell Hashimoto 521b59a6fa Make everything support the new builder interface 2013-06-12 16:06:56 -07:00
Mitchell Hashimoto 12cc8e98aa packer/rpc: less panics, more returning errors 2013-06-12 16:02:07 -07:00
Mitchell Hashimoto d2023c69be packer/rpc: returning errors from builds works properly 2013-06-12 16:01:42 -07:00
Mitchell Hashimoto db8aeaba40 packer, packer/rpc: Build/builders can return errors now 2013-06-12 15:58:02 -07:00
Mitchell Hashimoto 0f98852d4d packer: Ui error output is red 2013-06-12 10:41:58 -07:00
Mitchell Hashimoto 417f7e7f47 fmt 2013-06-11 14:09:31 -07:00
Mitchell Hashimoto de14dffd36 packer/plugin: Set the RPC port range to the plugin port range 2013-06-11 11:14:36 -07:00
Mitchell Hashimoto 9162819daf packer/plugin: Avoid lexical scoping issues with cleaning up clients 2013-06-11 11:10:08 -07:00
Mitchell Hashimoto e904705a49 packer uses the new plugin client API 2013-06-11 11:06:23 -07:00
Mitchell Hashimoto 88d508893d packer/plugin: client to Client so it can be used outside 2013-06-11 11:03:36 -07:00
Mitchell Hashimoto 7fe98e50fe packer/plugin: Refactor to get interfaces from Client 2013-06-11 11:00:06 -07:00
Mitchell Hashimoto 250cb0106b packer/plugin: Only allow client start once, lock 2013-06-11 10:43:55 -07:00
Mitchell Hashimoto fb2ffde29e packer/plugin: Refactor the client for the API to be more uniform 2013-06-11 10:39:06 -07:00
Mitchell Hashimoto e2214106ee packer: Cache keys should be hex encoded to string 2013-06-09 23:06:47 -07:00
Mitchell Hashimoto 7b0000cd4c packer: Actually return if prepare of a build fails 2013-06-09 23:05:11 -07:00
Mitchell Hashimoto 62309cb6de Build/Builder take a Cache object now 2013-06-09 22:00:47 -07:00
Mitchell Hashimoto 5307e5391c fmt 2013-06-09 21:19:26 -07:00
Mitchell Hashimoto f2c8b994a0 packer: Default cache is just to os temporary dir 2013-06-09 21:18:06 -07:00
Mitchell Hashimoto edaf19199f packer: Environment has Cache method, RPC implements 2013-06-09 21:09:09 -07:00
Mitchell Hashimoto 2c8b198049 packer/rpc: Support Cache interface 2013-06-09 19:25:48 -07:00
Mitchell Hashimoto 7968068a3a packer: Add FileCache and Cache 2013-06-09 19:01:28 -07:00
Mitchell Hashimoto d55bf3f3ec packer: Support overrides in provisioners for each build 2013-06-07 10:35:26 -07:00
Mitchell Hashimoto 5638cecd14 packer: Use mapstructure for templates, save lots of lines 2013-06-07 10:23:15 -07:00
Mitchell Hashimoto 4a8278d49b provisioner/shell: Support setting the execute command 2013-06-06 23:14:31 -07:00
Mitchell Hashimoto 4531922ec3 packer: Return the provisioner prepare errors if they occurred 2013-06-06 17:09:51 -07:00
Mitchell Hashimoto 0a6d8ed75a packer: Add errors to Prepare 2013-06-06 17:07:42 -07:00
Mitchell Hashimoto 09f5cd5090 packer: Update doc on Provisioner 2013-06-06 17:02:02 -07:00
Mitchell Hashimoto 6b87c42ee6 packer: Change provisioner interface to take array of configs 2013-06-06 17:01:12 -07:00
Mitchell Hashimoto 34f4086963 packer/plugin: Preserve parent ENV when executing client 2013-06-05 20:39:39 -07:00
Mitchell Hashimoto dd4fb1d62a packer/plugin: Explicitly set GOMAXPROCS to # of cpus 2013-06-05 17:39:27 -07:00
Mitchell Hashimoto 9bb24e6d90 packer/rpc: Return proper nil artifact if nil is returned 2013-06-05 15:36:26 -07:00
Mitchell Hashimoto 334fd4e154 packer/rpc: Register []interface{} so arrays can be sent over wire 2013-06-05 15:16:41 -07:00
Mitchell Hashimoto 5c39a2f7ca fmt 2013-06-03 22:32:04 -07:00
Mitchell Hashimoto 12a9362f0a packer/plugin: Swallow interrupts in plugins 2013-06-03 22:31:54 -07:00