Mitchell Hashimoto
916df47ff9
communicator/ssh: fix build
2013-12-10 18:14:02 -08:00
Mitchell Hashimoto
abe0d8b8a6
communicator/ssh: clearer logging [GH-699]
2013-12-10 18:10:15 -08:00
Mitchell Hashimoto
aad214793a
packer/rpc: update some comments
2013-12-10 17:31:54 -08:00
Mitchell Hashimoto
2a17190946
Update CHANGELOG
2013-12-10 17:20:49 -08:00
Mitchell Hashimoto
d3f458116b
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
d71f72a955
Test on Go 1.2
2013-12-10 17:10:41 -08:00
Mitchell Hashimoto
dd50e9d535
packer/rpc: fix data race in MuxConn
2013-12-10 17:09:17 -08:00
Mitchell Hashimoto
10c90e6513
packer/rpc: edge-triggerd state changes for faster dial/accept
2013-12-10 17:01:02 -08:00
Mitchell Hashimoto
322343b631
packer/rpc: hard close all streams when underlying conn closes
2013-12-10 16:49:14 -08:00
Mitchell Hashimoto
1dd77ffe21
packer/rpc: need a real lock for closing
2013-12-10 16:23:47 -08:00
Mitchell Hashimoto
0a863c97a4
packer/rpc: implement proper close_wait state
2013-12-10 15:51:22 -08:00
Mitchell Hashimoto
aa38e7e628
packer/rpc: rename uploadReader to uploadData because that makes sense
2013-12-10 15:30:58 -08:00
Mitchell Hashimoto
f6bb61c490
packer/rpc: more robust communicator connection cleanup
2013-12-10 15:12:16 -08:00
Mitchell Hashimoto
aae2177156
packer/plugin: catch interrupts for every server
2013-12-10 14:12:00 -08:00
Mitchell Hashimoto
bf28b78d98
packer/rpc: improve logging for the MuxConn
2013-12-10 14:11:50 -08:00
Mitchell Hashimoto
faf0c12c47
plugin/*: update to latest API
2013-12-10 13:59:38 -08:00
Mitchell Hashimoto
c93daf6445
packer/plugin: use new RPC API
2013-12-10 13:47:18 -08:00
Mitchell Hashimoto
68b1a7b4c8
packer/rpc: remove unused methods
2013-12-10 13:26:07 -08:00
Mitchell Hashimoto
512e27bdf6
packer/rpc: complete command
2013-12-10 13:23:07 -08:00
Mitchell Hashimoto
27ff2dc7a9
packer/rpc: builds
2013-12-10 13:18:48 -08:00
Mitchell Hashimoto
9986ba64a0
packer/rpc: environment
2013-12-10 12:23:42 -08:00
Mitchell Hashimoto
c51e069a91
packer/rpc: Builder
2013-12-10 12:14:08 -08:00
Mitchell Hashimoto
2dab0cab07
packer/rpc: start command
2013-12-10 12:02:01 -08:00
Mitchell Hashimoto
13b8bef58f
packer/rpc: Provisioner
2013-12-10 11:56:15 -08:00
Mitchell Hashimoto
88830b21b9
packer/rpc: Hook
2013-12-10 11:50:30 -08:00
Mitchell Hashimoto
92ec548dce
packer/rpc: implement Communicator
2013-12-10 11:43:02 -08:00
Mitchell Hashimoto
bcebec8fc3
packer/rpc: better close states
2013-12-10 11:40:17 -08:00
Mitchell Hashimoto
0a6061fd0b
packer/rpc: MuxConn writes don't block the whole loop
2013-12-10 10:44:57 -08:00
Mitchell Hashimoto
77638d0489
packer/rpc: MuxConn.NextId properly increments
2013-12-10 10:34:35 -08:00
Mitchell Hashimoto
02a497c61b
packer/rpc: get PostProcessor working
2013-12-09 19:07:36 -08:00
Mitchell Hashimoto
770a54afe5
packer/rpc: MuxConn can return next available stream ID
2013-12-09 16:27:13 -08:00
Mitchell Hashimoto
e63bdc29b0
packer/rpc: work-in-progress commit
2013-12-09 16:22:11 -08:00
Mitchell Hashimoto
0e7e945182
packer/rpc: post-processors work on a single connection
2013-12-09 15:44:00 -08:00
Mitchell Hashimoto
755f7c8562
packer/rpc: PostProcessor
2013-12-09 14:57:18 -08:00
Mitchell Hashimoto
f54e23d17b
packer/rpc: Cache
2013-12-09 14:51:13 -08:00
Mitchell Hashimoto
0db9b7ad67
packer/rpc: use packer.MockArtifact
2013-12-09 14:46:33 -08:00
Mitchell Hashimoto
d88f8acf4e
packer/rpc: tests passing
2013-12-09 14:44:26 -08:00
Mitchell Hashimoto
6f43f9bfd0
packer/rpc: update docs
2013-12-09 14:29:28 -08:00
Mitchell Hashimoto
a9b0081828
packer/rpc: muxconn is a lot more sane, acts like bsd socket
2013-12-09 14:24:55 -08:00
Mitchell Hashimoto
f082b1b34f
packer/rpc: more fine grained lock access on MuxConn
2013-12-08 18:39:14 -08:00
Mitchell Hashimoto
1fa0bc9e88
packer/rpc: close the streams when the underlying rwc closes
2013-12-08 18:30:29 -08:00
Mitchell Hashimoto
115ad63a44
packer/rpc: a muxconn...
2013-12-08 18:20:27 -08:00
Mitchell Hashimoto
3e4ad85d46
packer/rpc: auto-incrementable ID for endpoints
2013-12-08 11:50:14 -08:00
Mitchell Hashimoto
5ddf55cddb
up version for dev
2013-12-08 10:19:13 -08:00
Mitchell Hashimoto
12ba7ae443
v0.4.1
v0.4.1
2013-12-07 21:05:53 -08:00
Mitchell Hashimoto
d125dc9244
builder/vmware: clarify guestiphack error message [GH-639]
2013-12-07 10:31:57 -08:00
Mitchell Hashimoto
013c1829e4
provisioner/puppet-masterless: check for hiera config path [GH-656]
2013-12-06 19:30:06 -08:00
Mitchell Hashimoto
3b2e3456f6
website: fix docs for vmware esxi discrep [GH-674]
2013-12-06 19:14:20 -08:00
Mitchell Hashimoto
ea09c1105c
builder/vmware: correct logic in cehcking if file is still there
2013-12-06 19:12:49 -08:00
Mitchell Hashimoto
b12871dc28
builder/vmware: more resilient to racing deletes [GH-675]
2013-12-06 19:11:40 -08:00