Commit Graph

2372 Commits

Author SHA1 Message Date
Mitchell Hashimoto 1108438273 packer/rpc: cleaner way to keep the seq number in MuxConn high 2013-12-12 10:23:37 -08:00
Mitchell Hashimoto da9f88ece7 packer/rpc: make sure curID in MuxConn is highest [GH-705] 2013-12-12 00:36:49 -08:00
Mitchell Hashimoto a2f46a989f packer/rpc: MuxConn implements three-way handshake 2013-12-11 23:50:41 -08:00
Mitchell Hashimoto 311fb2064d packer/rpc: can write while MuxConn is in CloseWait state 2013-12-11 17:14:01 -08:00
Mitchell Hashimoto a6299fc49a packer/rpc: log when client closes mux 2013-12-11 16:33:43 -08:00
Mitchell Hashimoto fed689bbd1 packer/rpc: log when a muxconn is shut down 2013-12-11 16:31:59 -08:00
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