2416 Commits

Author SHA1 Message Date
Mitchell Hashimoto
d811f6b093 packer/rpc: allow data to be sent even in FinWait [GH-705] 2013-12-11 14:26:45 -08:00
Mitchell Hashimoto
63f957cfd7 Update cHANGELOG 2013-12-11 14:03:33 -08:00
Mitchell Hashimoto
613d5f5b92 website: update docs for vsphere changes 2013-12-11 14:02:10 -08:00
Mitchell Hashimoto
fa410f5a1a post-processor/vsphere: template process in prepare phase 2013-12-11 14:01:14 -08:00
Mitchell Hashimoto
53bb8a7079 fmt 2013-12-11 14:01:06 -08:00
Mitchell Hashimoto
489e10d606 Merge pull request #672 from mheidenr/master
post-processor/vsphere: post-processor for vSphere not working
2013-12-11 13:55:25 -08:00
Mitchell Hashimoto
6a141ba552 command/inspect: output the description if we have it 2013-12-11 13:48:18 -08:00
Mitchell Hashimoto
71385c8f01 Update CHANGELOG 2013-12-11 13:46:57 -08:00
Mitchell Hashimoto
55082a514b website: document the description field 2013-12-11 13:46:21 -08:00
Mitchell Hashimoto
962cedd04c fmt 2013-12-11 13:43:59 -08:00
Mitchell Hashimoto
8e617d006b packer: Add description to top-level template [GH-658] 2013-12-11 13:43:51 -08:00
Mitchell Hashimoto
fe22308a2d Don't test 1.1 on Travis anymore 2013-12-11 13:39:43 -08:00
Mitchell Hashimoto
10546f6aee provisioner/puppet-masterless: fix compile 2013-12-11 13:22:00 -08:00
Mitchell Hashimoto
4274d1fcc1 website: use the comparison operators in Puppet docs 2013-12-11 12:39:42 -08:00
Mitchell Hashimoto
895d87d9eb provisioner/puppet-masterless: use Go 1.2 template comparators 2013-12-11 12:39:02 -08:00
Mitchell Hashimoto
ae00414bbf packer/plugin: communicate over unix domain sockets if you can 2013-12-11 12:24:45 -08:00
Mitchell Hashimoto
8d9a6eef1b update CHANGELOG 2013-12-11 11:22:53 -08:00
Mitchell Hashimoto
3a2c04e4e5 provisioner/puppet-masterless: validate manifest_dir is a dir 2013-12-11 11:21:51 -08:00
Mitchell Hashimoto
2986452804 provisioner/puppet-masterless: simplify manifest dir upload 2013-12-11 11:20:22 -08:00
Mitchell Hashimoto
6aef114372 go fmt 2013-12-11 11:19:36 -08:00
Mitchell Hashimoto
ccbb109d05 Merge branch 'configure-manifest-dir' of https://github.com/Jimdo/packer into Jimdo-configure-manifest-dir 2013-12-11 11:14:45 -08:00
Mitchell Hashimoto
7ddf7ddad6 packer/rpc: remove the PortRange stuff 2013-12-10 18:49:07 -08:00
Mitchell Hashimoto
3b3d09cb0f website: update vsphere endpoint docs [GH-695] 2013-12-10 18:17:41 -08:00
Mitchell Hashimoto
2e03dda014 communicator/ssh: fix build 2013-12-10 18:14:02 -08:00
Mitchell Hashimoto
6359245ef8 communicator/ssh: clearer logging [GH-699] 2013-12-10 18:10:15 -08:00
Mitchell Hashimoto
7069f8afe1 packer/rpc: update some comments 2013-12-10 17:31:54 -08:00
Mitchell Hashimoto
00c7da9481 Update CHANGELOG 2013-12-10 17:20:49 -08:00
Mitchell Hashimoto
2da5930556 Merge pull request #701 from mitchellh/rpc-refactor
RPC happens over single TCP connection per plugin now

Three benefits:
* Single file descriptor per plugin
* NAT-friendly since plugins don't have to dial back in to the host
* Opens the foundation that we can easily use Unix domain sockets and such

A handful of Packer users were having issues with highly parallel (many builder/provisioner) templates where their systems would quickly reach their default file descriptor limits. This was because the previous mechanism would use a single TCP connection per RPC server, and Packer needs many (one per interface, basically). 

This merges in a MuxConn that multiplexes many "streams" on top of a single io.ReadWriteCloser. The RPC system has been revamped to know about this and use unique stream IDs to send everything over a single connection per plugin.

Previously, the RPC mechanism would sometimes send an address to the remote end and expect the remote end to connect back to it. While Packer shouldn't run remotely, some firewalls were having issues. This should be gone.

Finally, it should be possible now to optimize and use Unix domain sockets on Unix systems, avoiding ports and firewalls altogether.
2013-12-10 17:19:25 -08:00
Mitchell Hashimoto
958f4191cd Test on Go 1.2 2013-12-10 17:10:41 -08:00
Mitchell Hashimoto
8a24c9b177 packer/rpc: fix data race in MuxConn 2013-12-10 17:09:17 -08:00
Mitchell Hashimoto
f79daa0b1b packer/rpc: edge-triggerd state changes for faster dial/accept 2013-12-10 17:01:02 -08:00
Mitchell Hashimoto
d9f79b0ecc packer/rpc: hard close all streams when underlying conn closes 2013-12-10 16:49:14 -08:00
Mitchell Hashimoto
5dffab7439 packer/rpc: need a real lock for closing 2013-12-10 16:23:47 -08:00
Mitchell Hashimoto
7372c32b6b packer/rpc: implement proper close_wait state 2013-12-10 15:51:22 -08:00
Mitchell Hashimoto
e4dbad330d packer/rpc: rename uploadReader to uploadData because that makes sense 2013-12-10 15:30:58 -08:00
Mitchell Hashimoto
3a41500888 packer/rpc: more robust communicator connection cleanup 2013-12-10 15:12:16 -08:00
Mitchell Hashimoto
4c5d61709d packer/plugin: catch interrupts for every server 2013-12-10 14:12:00 -08:00
Mitchell Hashimoto
06d12773eb packer/rpc: improve logging for the MuxConn 2013-12-10 14:11:50 -08:00
Mitchell Hashimoto
82bf5fc79e plugin/*: update to latest API 2013-12-10 13:59:38 -08:00
Mitchell Hashimoto
b4567c6380 packer/plugin: use new RPC API 2013-12-10 13:47:18 -08:00
Mitchell Hashimoto
ce2304c948 packer/rpc: remove unused methods 2013-12-10 13:26:07 -08:00
Mitchell Hashimoto
8d4ba1fc2b packer/rpc: complete command 2013-12-10 13:23:07 -08:00
Mitchell Hashimoto
a8b056e939 packer/rpc: builds 2013-12-10 13:18:48 -08:00
Mitchell Hashimoto
bd6fbc05eb packer/rpc: environment 2013-12-10 12:23:42 -08:00
Mitchell Hashimoto
2ba713d705 packer/rpc: Builder 2013-12-10 12:14:08 -08:00
Mitchell Hashimoto
e69399380e packer/rpc: start command 2013-12-10 12:02:01 -08:00
Mitchell Hashimoto
5966a6e905 packer/rpc: Provisioner 2013-12-10 11:56:15 -08:00
Mitchell Hashimoto
a036bec96e packer/rpc: Hook 2013-12-10 11:50:30 -08:00
Mitchell Hashimoto
db06fc7501 packer/rpc: implement Communicator 2013-12-10 11:43:02 -08:00
Mitchell Hashimoto
72fcb566a6 packer/rpc: better close states 2013-12-10 11:40:17 -08:00